AMD FX-8150 GCC, LLVM/Clang, Open64 Compilers Testing different open-source Linux compilers and compiler tuning options from an AMD FX-8150 Bulldozer system kit provided by AMD for a future article on Phoronix.com. GCC 4.6, GCC 4.7 (mid-October development snaoshot), AMD Open64 4.2.5.2, Open64 4.2.4, and LLVM/Clang 3.0 SVN were the compilers benchmarked. GCC was built with --enable-release=checking and --enable-lto. LLVM/Clang was built in --enable-optimized and --disable-assertions (Release build) mode. Testing from 64-bit Ubuntu 11.10 on Linux 3.1 kernel with IC aliasing patched system. GCC 4.6.1: Processor: AMD FX-8150 Eight-Core @ 3.61GHz (8 Cores), Motherboard: ASUS Crosshair V Formula, Chipset: ATI RD890 PCI to PCI bridge, Memory: 8192MB, Disk: 60GB OCZ VERTEX2, Graphics: NVIDIA GeForce GTX 460 768MB (675/1800MHz), Audio: Realtek ALC889, Network: Intel 82583V Gigabit Connection OS: Ubuntu 11.10, Kernel: 3.1.0-rc10-ic-aliasing-patch+ (x86_64), Desktop: Unity 4.22.0, Display Server: X Server 1.10.4, Display Driver: NVIDIA 285.05.09, OpenGL: 4.2.0 NVIDIA 285.05.09, Compiler: GCC 4.6.1, File-System: ext4, Screen Resolution: 1920x1080 GCC 4.7-20111015: Processor: AMD FX-8150 Eight-Core @ 3.61GHz (8 Cores), Motherboard: ASUS Crosshair V Formula, Chipset: ATI RD890 PCI to PCI bridge, Memory: 8192MB, Disk: 60GB OCZ VERTEX2, Graphics: NVIDIA GeForce GTX 460 768MB (675/1800MHz), Audio: Realtek ALC889, Network: Intel 82583V Gigabit Connection OS: Ubuntu 11.10, Kernel: 3.1.0-rc10-ic-aliasing-patch+ (x86_64), Desktop: Unity 4.22.0, Display Server: X Server 1.10.4, Display Driver: NVIDIA 285.05.09, OpenGL: 4.2.0 NVIDIA 285.05.09, Compiler: GCC 4.7.0, File-System: ext4, Screen Resolution: 1920x1080 LLVM/Clang 3.0 SVN 142590: Processor: AMD FX-8150 Eight-Core @ 3.61GHz (8 Cores), Motherboard: ASUS Crosshair V Formula, Chipset: ATI RD890 PCI to PCI bridge, Memory: 8192MB, Disk: 60GB OCZ VERTEX2, Graphics: NVIDIA GeForce GTX 460 768MB (675/1800MHz), Audio: Realtek ALC889, Network: Intel 82583V Gigabit Connection OS: Ubuntu 11.10, Kernel: 3.1.0-rc10-ic-aliasing-patch+ (x86_64), Desktop: Unity 4.22.0, Display Server: X Server 1.10.4, Display Driver: NVIDIA 285.05.09, OpenGL: 4.2.0 NVIDIA 285.05.09, Compiler: Clang 3.0 (SVN 142590) + LLVM 3.0, File-System: ext4, Screen Resolution: 1920x1080 Open64 4.2.4: Processor: AMD FX-8150 Eight-Core @ 3.61GHz (8 Cores), Motherboard: ASUS Crosshair V Formula, Chipset: ATI RD890 PCI to PCI bridge, Memory: 8192MB, Disk: 60GB OCZ VERTEX2, Graphics: NVIDIA GeForce GTX 460 768MB (675/1800MHz), Audio: Realtek ALC889, Network: Intel 82583V Gigabit Connection OS: Ubuntu 11.10, Kernel: 3.1.0-rc10-ic-aliasing-patch+ (x86_64), Desktop: Unity 4.22.0, Display Server: X Server 1.10.4, Display Driver: NVIDIA 285.05.09, OpenGL: 4.2.0 NVIDIA 285.05.09, Compiler: Open64 4.2.4, File-System: ext4, Screen Resolution: 1920x1080 AMD Open64 4.2.5.2: Processor: AMD FX-8150 Eight-Core @ 3.61GHz (8 Cores), Motherboard: ASUS Crosshair V Formula, Chipset: ATI RD890 PCI to PCI bridge, Memory: 8192MB, Disk: 60GB OCZ VERTEX2, Graphics: NVIDIA GeForce GTX 460 768MB (675/1800MHz), Audio: Realtek ALC889, Network: Intel 82583V Gigabit Connection OS: Ubuntu 11.10, Kernel: 3.1.0-rc10-ic-aliasing-patch+ (x86_64), Desktop: Unity 4.22.0, Display Server: X Server 1.10.4, Display Driver: NVIDIA 285.05.09, OpenGL: 4.2.0 NVIDIA 285.05.09, Compiler: Open64 4.2.5.2, File-System: ext4, Screen Resolution: 1920x1080 C-Ray 1.1 Total Time Seconds < Lower Is Better GCC 4.6.1 ................. 51.14 |============================================ GCC 4.7-20111015 .......... 36.10 |=============================== LLVM/Clang 3.0 SVN 142590 . 44.33 |====================================== Open64 4.2.4 .............. 26.20 |======================= AMD Open64 4.2.5.2 ........ 27.53 |======================== Smallpt 1.0 Global Illumination Renderer; 100 Samples Seconds < Lower Is Better GCC 4.6.1 ................. 104 |====== GCC 4.7-20111015 .......... 119 |======= LLVM/Clang 3.0 SVN 142590 . 833 |============================================== POV-Ray 3.6.1 Total Time Seconds < Lower Is Better GCC 4.6.1 ................. 822 |========================================== GCC 4.7-20111015 .......... 851 |============================================ LLVM/Clang 3.0 SVN 142590 . 686 |=================================== Open64 4.2.4 .............. 823 |========================================== AMD Open64 4.2.5.2 ........ 894 |============================================== GraphicsMagick 1.3.12 Operation: HWB Color Space Iterations Per Minute > Higher Is Better GCC 4.6.1 ................. 162 |============================================== GCC 4.7-20111015 .......... 163 |============================================== LLVM/Clang 3.0 SVN 142590 . 109 |=============================== Open64 4.2.4 .............. 86 |======================== AMD Open64 4.2.5.2 ........ 81 |======================= GraphicsMagick 1.3.12 Operation: Blur Iterations Per Minute > Higher Is Better GCC 4.6.1 ................. 98 |=============================================== GCC 4.7-20111015 .......... 98 |=============================================== LLVM/Clang 3.0 SVN 142590 . 66 |================================ Open64 4.2.4 .............. 59 |============================ AMD Open64 4.2.5.2 ........ 60 |============================= GraphicsMagick 1.3.12 Operation: Local Adaptive Thresholding Iterations Per Minute > Higher Is Better GCC 4.6.1 ................. 68 |=============================================== GCC 4.7-20111015 .......... 68 |=============================================== LLVM/Clang 3.0 SVN 142590 . 18 |============ Open64 4.2.4 .............. 20 |============== AMD Open64 4.2.5.2 ........ 22 |=============== GraphicsMagick 1.3.12 Operation: Resizing Iterations Per Minute > Higher Is Better GCC 4.6.1 ................. 131 |============================================== GCC 4.7-20111015 .......... 127 |============================================= LLVM/Clang 3.0 SVN 142590 . 70 |========================= Open64 4.2.4 .............. 69 |======================== AMD Open64 4.2.5.2 ........ 69 |======================== GraphicsMagick 1.3.12 Operation: Sharpen Iterations Per Minute > Higher Is Better GCC 4.6.1 ................. 65 |=============================================== GCC 4.7-20111015 .......... 65 |=============================================== LLVM/Clang 3.0 SVN 142590 . 20 |============== Open64 4.2.4 .............. 35 |========================= AMD Open64 4.2.5.2 ........ 33 |======================== Gcrypt Library 1.4.4 CAMELLIA256-ECB Cipher Microseconds < Lower Is Better GCC 4.6.1 .......... 2263 |=============================================== GCC 4.7-20111015 ... 2503 |==================================================== Open64 4.2.4 ....... 1960 |========================================= AMD Open64 4.2.5.2 . 1950 |========================================= N-Queens 1.0 Elapsed Time Seconds < Lower Is Better GCC 4.6.1 ................. 277.44 |=========================================== GCC 4.7-20111015 .......... 267.62 |========================================= LLVM/Clang 3.0 SVN 142590 . 245.14 |====================================== Open64 4.2.4 .............. 269.10 |========================================== AMD Open64 4.2.5.2 ........ 257.75 |======================================== TSCP 1.81 AI Chess Performance Nodes Per Second > Higher Is Better GCC 4.6.1 ................. 314272 |===================== GCC 4.7-20111015 .......... 321646 |====================== LLVM/Clang 3.0 SVN 142590 . 330137 |====================== Open64 4.2.4 .............. 638225 |=========================================== AMD Open64 4.2.5.2 ........ 629030 |========================================== John The Ripper 1.7.8 Test: Traditional DES Real C/S > Higher Is Better GCC 4.6.1 ................. 3671000 |===================================== GCC 4.7-20111015 .......... 3738667 |====================================== LLVM/Clang 3.0 SVN 142590 . 4129000 |========================================== Open64 4.2.4 .............. 4134000 |========================================== AMD Open64 4.2.5.2 ........ 4160667 |========================================== John The Ripper 1.7.8 Test: MD5 Real C/S > Higher Is Better GCC 4.6.1 ................. 15437 |=========================================== GCC 4.7-20111015 .......... 14743 |========================================= LLVM/Clang 3.0 SVN 142590 . 15726 |============================================ Open64 4.2.4 .............. 9846 |============================ AMD Open64 4.2.5.2 ........ 10677 |============================== John The Ripper 1.7.8 Test: Blowfish Real C/S > Higher Is Better GCC 4.6.1 ................. 996 |============================================== GCC 4.7-20111015 .......... 974 |============================================= LLVM/Clang 3.0 SVN 142590 . 804 |===================================== Open64 4.2.4 .............. 818 |====================================== AMD Open64 4.2.5.2 ........ 842 |======================================= OpenSSL 1.0.0a RSA 4096-bit Performance Signs Per Second > Higher Is Better GCC 4.6.1 ................. 70.03 |============================================ GCC 4.7-20111015 .......... 70.30 |============================================ LLVM/Clang 3.0 SVN 142590 . 67.78 |========================================== 7-Zip Compression 9.13 Compress Speed Test MIPS > Higher Is Better GCC 4.6.1 .......... 17959 |=================================================== Open64 4.2.4 ....... 17445 |================================================== AMD Open64 4.2.5.2 . 17646 |================================================== x264 2010-11-22 H.264 Video Encoding Frames Per Second > Higher Is Better GCC 4.6.1 ........ 102.40 |=================================================== GCC 4.7-20111015 . 104.26 |==================================================== Apache Benchmark 2.2.17 Static Web Page Serving Requests Per Second > Higher Is Better GCC 4.6.1 ................. 21676.21 |======================================== GCC 4.7-20111015 .......... 21323.60 |======================================= LLVM/Clang 3.0 SVN 142590 . 22322.33 |========================================= Open64 4.2.4 .............. 22465.02 |========================================= AMD Open64 4.2.5.2 ........ 16067.47 |============================= Timed MAFFT Alignment 6.706 Multiple Sequence Alignment Seconds < Lower Is Better GCC 4.6.1 ................. 26.91 |====================================== GCC 4.7-20111015 .......... 26.30 |===================================== LLVM/Clang 3.0 SVN 142590 . 31.05 |============================================ Open64 4.2.4 .............. 25.09 |==================================== AMD Open64 4.2.5.2 ........ 24.92 |===================================