Phoronix posted an article comparing compilers on threadripper.
The comparison uses gcc7/gcc8/llvm5/llvm6/llvm7 and AMD AOCC. All benchmarks were compiled with -O3 -march=native.
Overall, there aren’t huge changes between compilers on these benchmarks. Table below summarizes some of phoronix observations in the comparison and mine on behavior of the benchmarks.
|Benchmark||Phoronix observations||My observations||Analysis|
|fftw||AOCC slightly faster on 128 small vector and gcc faster on 1024 vector||Big differences in the benchmark depending on whether it fits in memory/cache.||Analysis|
|hmmer||llvm5 slightly faster gcc8 slightly slower||On_CPU of 90% with some I/O. IPC of 1.3 with some backend stalls||Analysis|
|scimark2||llvm7 fastest||Single-threaded. Larger changes than I expected; benchmarks have some backend stalls||Analysis|
|tscp||AOCC fastest||single-threaded, frontend stalls, IPC of 1.8||Analysis|
|ttsiod-renderer||GCC generally faster on this benchmark||Equal levels of frontend and backend stalls||Analysis|
|graphics-magick||GCC generally faster on this benchmark||Five operations, On_CPU 30%||Analysis|
|himeno||llvm 6 fastest; AOCC slowest||single threaded; linear solver but problem sizes not very large||Analysis|
|stockfish||llvm slightly faster than gcc||frontend stalls and speculation are largest issues||Analysis|
|ebizzy||llvm7 fastest, gcc slowest||Testing kernel memory management||Analysis|
|build-php||AOCC compile times much longer; gcc7 is fastest||On_CPU 82% with some frontend stalls; many small processes||Analysis|
|c-ray||GCC fastest||Higher IPC, with a few backend stalls||Analysis|
|aobench||gcc7 fastest and then gcc8||Single threaded with small amount of I/O||Analysis|
|bullet||gcc8 fastest||Microbenchmark; single threaded and finishes in 5 seconds. Not sure need to devote four charts for this one||Analysis|
|encode-flac||llvm faster and gcc slower||single-threaded; high ipc with few backend stalls||Analysis|
|encode-mp3||gcc fastest||single threaded; fairly high IPC with some backend stalls||Analysis|
|pgbench||gcc fastest||Backend database, On_CPU 50%||Analysis|
|nginx||gcc8 slightly faster||single threaded driver and database||Analysis|
|apache||llvm slightly faster||single driver, multiple backends with larger than average system time||Analysis|