Kyrylo Tkachov via Gcc-patches <gcc-patches@gcc.gnu.org> writes: > diff --git a/gcc/config/aarch64/aarch64-simd-builtins.def > b/gcc/config/aarch64/aarch64-simd-builtins.def > index > 6efc7706a41e02d947753a4cda984159b68bd39f..27e9026d9e8b7ff980c5b8d9ff1b00490e3a18cb > 100644 > --- a/gcc/config/aarch64/aarch64-simd-builtins.def > +++ b/gcc/config/aarch64/aarch64-simd-builtins.def > @@ -175,6 +175,11 @@ > /* Implemented by aarch64_<sur>qmovn<mode>. */ > BUILTIN_VSQN_HSDI (UNOP, sqmovn, 0, ALL) > BUILTIN_VSQN_HSDI (UNOP, uqmovn, 0, ALL) > + > + /* Implemented by aarch64_<su>qxtn2<mode>. */ > + BUILTIN_VQN (BINOP, sqxtn2, 0, ALL) > + BUILTIN_VQN (BINOPU, uqxtn2, 0, ALL)
FWIW, I think these can be NONE instead (i.e. treated as const functions). The consensus seemed to be that the side-effect on the Q flag isn't observable. (Converting the existing intrinsincs is still WIP.) Thanks, Richard