On Mon, Jun 29, 2026 at 02:26:53PM +0000, Karl Meakin via Sourceware Forge wrote: > From: Karl Meakin <[email protected]> > > Port the `vreinterpret` family of intrinsics to the pragma-based framework. >
... > diff --git a/gcc/config/aarch64/aarch64-neon-builtins-base.def > b/gcc/config/aarch64/aarch64-neon-builtins-base.def > index 78b0a39df07b..7257f59bbc56 100644 > --- a/gcc/config/aarch64/aarch64-neon-builtins-base.def > +++ b/gcc/config/aarch64/aarch64-neon-builtins-base.def > @@ -17,6 +17,12 @@ > along with GCC; see the file COPYING3. If not see > <http://www.gnu.org/licenses/>. */ > > +// Reinterpret > +#define REQUIRED_EXTENSIONS nonstreaming_only (AARCH64_FL_SIMD) The instructions required to implement the vreinterpret intrinsics (i.e. no instructions at all) are valid in streaming mode, so this gating is wrong. Assuming you agree, can you send a follow-up patch to fix this? Thanks, Alice > +DEF_NEON_FUNCTION (vreinterpret, neon_reinterpret, ("D0,D1")) > +DEF_NEON_FUNCTION (vreinterpretq, neon_reinterpretq, ("Q0,Q1")) > +#undef REQUIRED_EXTENSIONS > + > // Lane manipulation > #define REQUIRED_EXTENSIONS nonstreaming_only (AARCH64_FL_SIMD) > DEF_NEON_FUNCTION (vcreate, all_neon, ("D0,su64"))
