64-bit ARM (AArch64) Support Merged Into LLVM

Written by Michael Larabel in LLVM on 31 January 2013 at 10:30 AM EST. Add A Comment
LLVM
GCC has had support for 64-bit ARM, a.k.a. AArch64, going back to last summer for using the open-source compiler with next-generation ARMv8 hardware. Being merged today is finally support for the LLVM compiler infrastructure with an experimental 64-bit ARM/AArch64 back-end target.

Adding fourty-five thousand lines of new code to the LLVM tree is a patch that adds support for ARM's 64-bit architecture to LLVM. This target is currently experimental and not built by default, but requires a compile-time switch for enabling. However, there's already talk amongst developers about enabling 64-bit ARM support by default. This work was merged into mainline LLVM this morning and will thus be found in the LLVM 3.3 release due out in a couple months time.

This initial AArch64 LLVM compiler support covers Assembly for all scalar instructions except for the late addition CRC instructions, code generation features needed for C++0x and C99, compilation support for the small memory model, absolute and position-independent code support, GNU-style TLS, and debugging support.

The 64-bit ARM compiler support, however, has yet to undergo any performance tuning for the greatest compiler performance. With there still being a few months to go until LLVM 3.3 is released, this will likely be achieved before the AArch64 LLVM support is in any released version.

Another limitation is that there isn't any NEON support for the AArch64 experimental target because the developer says there was "an outbreak of batshit insanisty in [ARM's] legal department."

The initial AArch64/ARMv8 instruction set support for LLVM can be found by cloning the LLVM SVN/Git repository where this big patch landed today.

LLVM 3.3 should be a fantastic release since aside from the 64-bit ARM support will also be the AMD Radeon GPU back-end, likely the enabling by default of the new loop vectorizer, and many other features for this open-source compiler infrastructure.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week