Show Your Support: Did you know that you can get Phoronix Premium for under $4 per month? Try it today to view our site ad-free, multi-page articles on a single page, and more while the proceeds allow us to write more Linux hardware reviews. At the very least, please disable your ad-blocker.
AMD Optimizing C/C++ Compiler 1.3 Brings More Zen Tuning
The AMD Optimizing C/C++ Compiler remains AMD's high performance compiler for Zen compared to the earlier AMD Open64 Compiler up through the Bulldozer days. AOCC is based on LLVM Clang with various patches added in. Fortunately, with time at least a lot of the AOCC patches do appear to work their way into upstream LLVM Clang. AOCC also has experimental Fortran language support using the "Flang" front-end that isn't as nearly mature as Clang.
With the AMD AOCC 1.3.0 release there is more Zen tuning, enhanced loop optimizations, better vectorization and code generation, continued work on Flang as well as the DragonEgg GCC plug-in, optimizing AMD Math library, the LLVM Linker is now used by default, and their code has been re-based to LLVM/Clang 7.0.
My benchmarking of the AOCC has been mixed. When AMD first introduced AOCC there wasn't much of a difference compared to the upstream open-source LLVM Clang compiler, but with succeeding releases it has deviated a bit more and for at least some HPC/workstation workloads building with AOCC does offer performance advantages. I'll be running some AOCC 1.3 compiler benchmarks shortly on Threadripper and EPYC to see how this new release performs compared to the Clang and GCC compilers.
Those wanting to try out the AOCC 1.3 compiler release can find it at developer.amd.com.