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

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.
16 Comments