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