1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

64-bit ARM (AArch64) Support Merged Into LLVM

Compiler

Published on 31 January 2013 10:30 AM EST
Written by Michael Larabel in Compiler
Comment On This Article

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.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Btrfs On 4 x Intel SSDs In RAID 0/1/5/6/10
  2. AMD Radeon R9 290 On Ubuntu 14.10: RadeonSI Gallium3D vs. Catalyst
  3. MSI X99S SLI PLUS On Linux
  4. NVIDIA GeForce GTX 970 Offers Great Linux Performance
Latest Linux Articles
  1. Windows 8.1 vs. Ubuntu 14.10 With Intel HD Graphics
  2. 6-Way Ubuntu 14.10 Radeon Gallium3D vs. Catalyst Driver Comparison
  3. NVIDIA vs. Nouveau Drivers On Ubuntu 14.10
  4. Ubuntu 14.10 Offers AMD Radeon Driver Performance Improvements
Latest Linux News
  1. Wine 1.7.30 Continues Work On DirectWrite & Offers Regedit Fixes
  2. Has The Sky Fallen? Qualcomm Contributes To Freedreno's DRM/KMS Driver
  3. Manjaro Works To Make Calamares A Distribution-Independent Installer
  4. DisplayLink USB 3.0 Support Sounds Like A Mess
  5. PulseAudio Gains A Native Bluetooth Headset Backend
  6. X.Org Foundation Decides On Its Women Outreach Project
  7. GTK+ 3.16's New GtkGLArea Widget Gets Improved
  8. X.Org Server 1.17 ABI Bumped
  9. Fedora 21 Beta To Be Released Next Week
  10. Go 1.4 Beta Release Brings Big Runtime Changes
Latest Forum Discussions
  1. Closed source to opensource
  2. How to get rid of Linux
  3. Is foolish currently develop in machine code, hexadecimal and assembly?
  4. Reducing The CPU Usage In Mesa To Improve Performance
  5. Help diagnosing problems with a Readon HD 4670 on Mesa 10.3.2-1
  6. Advertisements On Phoronix
  7. nv and xorg.conf under Debian PPC
  8. Looking for a Open-Source AMD experienced Linux mentor