GCC vs. LLVM/Clang Compilers On ARMv7 Linux

Posted by Michael Larabel on May 09, 2012

While comparing compiler performance of different Linux code compilers on different software stacks and hardware configurations is nothing new at all to Phoronix, usually it's done on x86 hardware. However, with ARM hardware becoming increasingly common and much more powerful, here's a comparison of the GCC and LLVM/Clang compilers on a dual-core ARM development board.

This latest ARMv7 Linux benchmarking builds upon the Ubuntu 12.04 ARM benchmarks shared on Monday of the PandaBoard ES with its OMAP4460 dual-core Cortex-A9 SoC. The Texas Instruments hardware was running with 1GB of RAM and 16GB SDHC storage. The results today are using Ubuntu 12.04 with its ARMv7 Linux 3.2 kernel and comparing the performance of GCC 4.6 and LLVM/Clang 3.0 as found in the Ubuntu 12.04 Precise repository.

With CacheBench, when built by GCC 4.6 on the OMAP4460 on the device itself, the binaries were much faster than the ones produced by LLVM/Clang 3.0 except for the pure write test.

LLVM/Clang on ARM was also much slower for the C-written SciMark than using the Apple-sponsored Clang.

TSCP at least didn't lose as badly when built by Clang. 7-Zip also performed more closely between these two popular compilers.

N-Queens finally produced a win for LLVM/Clang.

LLVM/Clang still doesn't have support for OpenMP. More result data from this GCC vs. LLVM/Clang compiler comparison on ARM can be found on OpenBenchmarking.org (though ignore the Fortran FFTE test that accidentally slipped in there). LLVM/Clang on this dual-core OMAP4460 SoC was much less competitive than GCC 4.6, though it will be interesting to do this comparison with GCC 4.7 and the forthcoming LLVM/Clang 3.1. I'll also run some compiler benchmarks from the quad-core NVIDIA Tegra 3 ARM tablet.

On the ARM side, there is great interest with LLVM/Clang. Qualcomm is even trying to use Clang to build an ARM Linux kernel and other software with the LLVM-based compiler rather than GCC. Going forward the ARM Clang performance on Linux should certainly improve.

For some x86 compiler comparison numbers, see the AMD FX-8150 Bulldozer results and a comparison earlier this week of LLVM/Clang 3.0/3.1 vs. GCC 4.6/4.7 compiler four-way.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. The Cost Of Ubuntu Disk Encryption
  2. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  3. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  4. F2FS File-System Shows Regressions On Linux 3.10
Latest Linux News
  1. Freedreno Gallium3D Now Banging The Adreno A3XX
  2. Jolla Announces Their First Phone
  3. Mageia 3 Released, Still Using Legacy GRUB
  4. NetBSD 6.1 Brings In More Features
  5. Using Six Monitors With AMD's Open-Source Linux Driver
  6. Benchmarking The Intel P-State, CPUfreq Changes
  7. FreeBSD Still Working On Next-Gen Package Manager
  8. DNF Still Advancing As Experimental Yum For Fedora
  9. Logitech Begins Supporting Linux Users
  10. Modern Intel Gallium3D Driver Still Being Toyed With
  11. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
Latest Forum Talk
  1. Benchmarking The Intel P-State, CPUfreq Changes
  2. Mageia 3 Released, Still Using Legacy GRUB
  3. The Cost Of Ubuntu Disk Encryption
  4. Jolla Announces Their First Phone
  5. Freedreno Gallium3D Now Banging The Adreno A3XX
  6. Using Six Monitors With AMD's Open-Source Linux...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite