The State Of 64-Bit ARM (AArch64) On LLVM/Clang

Posted by Michael Larabel on November 20, 2012

ARM's AArch64 back-end for LLVM to handle the 64-bit ARMv8 architecture is working, but there's still more work ahead of the hardware's general availability in about one year's time.

There's AArch64 in GCC's code-base with version 4.8 following months of development and its approval by the steering committee. Initial AArch64 architecture support was also merged into the Linux 3.7 kernel. However, on the LLVM/Clang side there hasn't been much public-facing news.

Earlier this month, however, at the LLVM Developers' Meeting in San Jose, ARM Holdings provided an update on their AArch64 back-end. ARM engineers have been working on a 64-bit ARMv8 LLVM back-end targeting ELF output on Linux with an integrated assembler by default, using all of the latest LLVM APIs, strong-testing, and compiling standard-compliant C/C++ code. However, of expressed lower priority were optimizations and not commonly used features of the C and C++ languages. ARM will ultimately focus upon AArch64 compiler optimizations, but for now they just want working executables.

In the San Jose meeting, ARM shared that their C++98 and C99 coverage is now well supported and that SPEC2000 and SPEC2006 tests are being built and running successfully. Self-built Clang and LLVM binaries also pass the regression test suite. There's also NEON work for ARM64 that's still going on, a few failures within the LLVM test-suite, and MC Hammer passing on just scalar instructions.

For the AArch64 back-end so far it required about one and a half months to work on the basic layout, four months for implementing instructions systematically, and about another four months of integration work.

More information on the AArch64 LLVM back-end status can be found from the PDF slides.

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. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. Mageia 3 Released, Still Using Legacy GRUB
  2. NetBSD 6.1 Brings In More Features
  3. Using Six Monitors With AMD's Open-Source Linux Driver
  4. Benchmarking The Intel P-State, CPUfreq Changes
  5. FreeBSD Still Working On Next-Gen Package Manager
  6. DNF Still Advancing As Experimental Yum For Fedora
  7. Logitech Begins Supporting Linux Users
  8. Modern Intel Gallium3D Driver Still Being Toyed With
  9. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  10. GCC 4.8.1 Compiler Due To Be Out Next Week
  11. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
Latest Forum Talk
  1. DRM Moves Ahead With HTML5 Specification
  2. Using Six Monitors With AMD's Open-Source Linux...
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. Mageia 3 Released, Still Using Legacy GRUB
  5. Logitech Begins Supporting Linux Users
  6. OpenSUSE Considers Replacing LXDE With E17
  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