Practical comparison of ARM compilers
m0agx.eu
m0agx.eu
We're also very successfully using CMake as our build system, as opposed to Make itself. It lets you organise your build system & support different configurations & dependencies in a much easier way than e.g. Makefiles & Git submodules, which we've tried in the past. When combined with the Ninja generator we're also seeing ~20% faster compilation times.
And then we were always using IAR in a way that disabled all and every optimization; if enabling them did not lead to a compiler imploding, the compiler would produce invalid machine code even for trivial examples. This defeated any possible code size benefits that IAR may have had over GCC/Clang.
To top if off, I had an impression that reports of that nature weren’t really considered critical.
Regarding code size: the common pitfall is -Os for GCC and -Oz for Clang based compilers to optimise for minimum code size.
For example any improvements that may reveal NDA stuff from their consoles never gets upstream.
How do you think shader code gets compiled into GPGPU machine code?
(Building bare metal code with a lot of DSP and MATMUL)
You can try it : https://github.com/powturbo/Turbo-Base64