Arm Begins Adding ARMv8.7-A Support In LLVM Clang 12

Written by Michael Larabel in Arm on 21 December 2020 at 03:29 PM EST. 16 Comments
ARM
Back in September Arm began talking about their "2020 extensions" for the A-profile architecture. Initial support for these new additions as ARMv8.7-A is beginning to land in the LLVM compiler stack.

As part of Arm's annual updates to the A-profile architecture, the 2020 / ARMv8.7-A update is bringing improvements around device hot-unplug, atomic 64-byte loads and stores, updating the WFE and WFI instructions to support timeouts, asymetric fault handling in MTE, and other changes. The WFI/WFE instructions are important for entering the low-power standby state where most clocks are gated when waiting for interrupts or events. See Arm's September blog post for an overview of their 2020 / ARMv8.7-A improvements. There is also the initial documentation around the ARMv8.7-A ISA.

Merged at the end of last week was initial ARMv8.7-A support into the LLVM compiler and does bring the new WFET/WFIT instructions for the WFE/WFI instructions with timeouts plus other basic changes for this architecture update.

The ARMv8.7-A support was also wired up for the Clang front-end as well via separate commits. To no surprise, it's flipped on with the "armv8.7-a" target. LLVM/Clang 12 will be out in March~April with this initial ARMv8.7-A support and more -- well ahead of seeing any new hardware supporting this latest ARMv8 revision.
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