from Hacker News

The LLVM 64-bit ARM64/AArch64 Back-Ends Have Merged

by chilledheart on 5/24/14, 4:30 PM with 10 comments

  • by asb on 5/24/14, 5:40 PM

    This has all happened impressively quickly. Apple released their ARM64 implementation at the end of March (http://article.gmane.org/gmane.comp.compilers.llvm.devel/716...). Whether to merge the existing AArch64 in to ARM64 or vise versa was discussed and decided the following week (http://article.gmane.org/gmane.comp.compilers.llvm.devel/717...), and a good portion of the work was done by the end of April (http://article.gmane.org/gmane.comp.compilers.llvm.cvs/18538...). The resulting backend (now named AArch64) contains the best of both AArch64 and Apple's ARM64. A lot of this merging work has been driven by ARM Ltd. itself, who of course as of version 6 build their official compiler on LLVM+Clang (http://www.arm.com/about/newsroom/arm-compiler-builds-on-ope...).

    If you're interesting in LLVM/Clang news and developments, you may be interested to subscribe to my http://llvmweekly.org (and/or follow @llvmweekly)

  • by bjackman on 5/25/14, 8:33 AM

    Aside: ARMv8 has made the messy ARM terminology even worse! Quick summary:

    ARMv8 (version 8 of the ARM architecture) has two execution states. AARCH64 is the 64-bit mode and AARCH32 is the 32-bit mode. These two modes use two different instruction sets, A64 and A32 respectively (and T32 which is Thumb). A32 is (sort of) compatible with ARMv7 (which is the archiecture version introduced with the Cortex cores).

    You will see A64 erroneously used to refer to AARCH64 and ARMv8. You will see AARCH32 erroneously used to refer to ARMv7. You will probably find errors in this post. ARM64 (which is what Linux calls it) seems to just mean "that whole 64 bit malarkey".

    And finally, the ARMv8 cores are the Cortex-A53 and -A57 (all the ARMv7 cores are Cortex-An where n is a single digit).

    GOT IT?

  • by derefr on 5/24/14, 7:59 PM

    However many arguments there are for the value of standards bodies, this is an impressive example of what happens when stewardship of a technology is in the hands of a company with a monetary incentivize to keep quality high and get changes agreed-upon quickly.