GCC Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
aarch64

aarch64: Port NEON SHA512 intrinsics to pragma framework

Integrates SHA512 NEON intrinsics into GCC's pragma-based system for aarch64.

This commit ports the NEON SHA512 intrinsics, associated with the FEAT_SHA3 feature set, to GCC’s pragma-based framework for the aarch64 architecture. It adds new function declarations and bases for these cryptographic intrinsics, removes older builtin function definitions, and introduces new assembly tests to confirm their correct implementation. This change standardizes the handling of these SHA512 intrinsics within the GCC compiler.

In Details

The GCC aarch64 backend is being updated to use a consistent pragma-based framework for its NEON and other SIMD intrinsics. This commit focuses on the SHA512 intrinsics (part of FEAT_SHA3). It adds declarations and base implementations in aarch64-neon-builtins-base.cc and .def, removes redundant builtins from aarch64-simd-builtins.def, and updates the main header file arm_neon.h. New tests specifically for SHA512 intrinsics are also included to ensure functional correctness.

For Context
aarch64
The 64-bit ARM architecture.
NEON
ARM's advanced Single Instruction, Multiple Data (SIMD) architecture extension for its processors, used for accelerating multimedia and signal processing tasks.
intrinsics
Special functions provided by a compiler that map directly to specific hardware instructions, allowing programmers to access low-level hardware features from high-level code.
pragma
A directive provided by a compiler that specifies how a certain part of the code should be treated. In GCC, pragmas are often used to define built-in functions that map to hardware instructions.
FEAT_SHA3
A specific feature extension for the ARM architecture that includes cryptographic acceleration instructions, such as those for SHA-3 and SHA-512 hashing algorithms.
SIMD
Single Instruction, Multiple Data. A class of parallel computers in Flynn's taxonomy that achieves performance by processing multiple data streams with a single instruction.
Filed Under: aarch64cryptographyneoncompiler