On 04/02/16 11:04, Ramana Radhakrishnan wrote: > On Mon, Jan 18, 2016 at 12:14 PM, Alan Lawrence <alan.lawre...@arm.com> wrote: >> This cleans up the neon_reinterpret code on ARM in a similar way to AArch64. >> Rather than a builtin backing onto an expander that emits a mov insn, we can >> just use a cast, because GCC defines casts of vector types as keeping the >> same >> bit pattern. >> >> On armeb, this fixes previously-failing test: >> gcc.target/arm/crypto-vldrq_p128.c scan-assembler >> vld1.64\t{d[0-9]+-d[0-9]+}.* >> >> Bootstrap + check-gcc on arm-none-linux-gnueabihf; >> cross-tested armeb-none-eabi. >> >> OK for trunk? > > OK. I like the diffstat ;)
To be explicit - I did think for a bit whether this should be pushed to stage1 but : I'm ok with this going in even during stage4 as this pushes further towards a fully GNU-C approach and removing code from the backend. Regards, Ramana > > Ramana > > >> >> gcc/ChangeLog: >> >> * config/arm/arm-protos.h (neon_reinterpret): Remove. >> * config/arm/arm.c (neon_reinterpret): Remove. >> * config/arm/arm_neon_builtins.def (vreinterpretv8qi, >> vreinterpretv4hi, >> vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, >> vreinterpretv16qi, >> vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, >> vreinterpretv2di, >> vreinterpretti): Remove. >> * config/arm/neon.md (neon_vreinterpretv8qi<mode>, >> neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>, >> neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>, >> neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>, >> neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>, >> neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove. >> * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32, >> vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64, >> vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32, >> vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32, >> vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64, >> vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8, >> vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8, >> vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8, >> vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64, >> vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16, >> vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16, >> vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16, >> vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64, >> vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32, >> vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32, >> vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32, >> vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8, >> vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8, >> vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8, >> vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64, >> vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16, >> vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16, >> vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16, >> vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64, >> vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32, >> vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32, >> vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32, >> vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64, >> vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8, >> vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8, >> vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64, >> vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8, >> vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16, >> vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16, >> vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64, >> vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16, >> vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32, >> vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32, >> vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64, >> vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32, >> vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8, >> vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64, >> vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8, >> vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8, >> vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32, >> vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64, >> vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16, >> vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16, >> vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32, >> vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64, >> vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16, >> vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16, >> vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16, >> vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64, >> vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16, >> vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16, >> vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16, >> vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64, >> vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16, >> vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16, >> vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16, >> vreinterpretq_p128_f32, vreinterpretq_p128_p64, >> vreinterpretq_p128_s64, >> vreinterpretq_p128_u64, vreinterpretq_p128_s8, >> vreinterpretq_p128_s16, >> vreinterpretq_p128_s32, vreinterpretq_p128_u8, >> vreinterpretq_p128_u16, >> vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16, >> vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128, >> vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16, >> vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16, >> vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16, >> vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128, >> vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16, >> vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16, >> vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16, >> vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128, >> vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16, >> vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16, >> vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16, >> vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128, >> vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8, >> vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16, >> vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16, >> vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64, >> vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64, >> vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8, >> vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8, >> vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64, >> vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64, >> vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32, >> vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8, >> vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64, >> vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64, >> vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32, >> vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8, >> vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64, >> vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64, >> vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32, >> vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts. >> --- >> gcc/config/arm/arm-protos.h | 1 - >> gcc/config/arm/arm.c | 7 - >> gcc/config/arm/arm_neon.h | 578 >> +++++++++++++++++------------------ >> gcc/config/arm/arm_neon_builtins.def | 11 - >> gcc/config/arm/neon.md | 100 ------ >> 5 files changed, 289 insertions(+), 408 deletions(-) >> >> diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h >> index e0f8f5b..a661b70 100644 >> --- a/gcc/config/arm/arm-protos.h >> +++ b/gcc/config/arm/arm-protos.h >> @@ -89,7 +89,6 @@ extern void neon_expand_vector_init (rtx, rtx); >> extern void neon_lane_bounds (rtx, HOST_WIDE_INT, HOST_WIDE_INT, >> const_tree); >> extern void neon_const_bounds (rtx, HOST_WIDE_INT, HOST_WIDE_INT); >> extern HOST_WIDE_INT neon_element_bits (machine_mode); >> -extern void neon_reinterpret (rtx, rtx); >> extern void neon_emit_pair_result_insn (machine_mode, >> rtx (*) (rtx, rtx, rtx, rtx), >> rtx, rtx, rtx); >> diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c >> index b76a91b..3276b03 100644 >> --- a/gcc/config/arm/arm.c >> +++ b/gcc/config/arm/arm.c >> @@ -23591,13 +23591,6 @@ arm_scalar_mode_supported_p (machine_mode mode) >> return default_scalar_mode_supported_p (mode); >> } >> >> -/* Emit code to reinterpret one Neon type as another, without altering >> bits. */ >> -void >> -neon_reinterpret (rtx dest, rtx src) >> -{ >> - emit_move_insn (dest, gen_lowpart (GET_MODE (dest), src)); >> -} >> - >> /* Set up OPERANDS for a register copy from SRC to DEST, taking care >> not to early-clobber SRC registers in the process. >> >> diff --git a/gcc/config/arm/arm_neon.h b/gcc/config/arm/arm_neon.h >> index b311b3a..85561ab 100644 >> --- a/gcc/config/arm/arm_neon.h >> +++ b/gcc/config/arm/arm_neon.h >> @@ -12434,7 +12434,7 @@ vornq_u64 (uint64x2_t __a, uint64x2_t __b) >> __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_p8_p16 (poly16x4_t __a) >> { >> - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); >> + return (poly8x8_t) __a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -12448,7 +12448,7 @@ vreinterpret_p8_f16 (float16x4_t __a) >> __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_p8_f32 (float32x2_t __a) >> { >> - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a); >> + return (poly8x8_t)__a; >> } >> >> #pragma GCC push_options >> @@ -12456,62 +12456,62 @@ vreinterpret_p8_f32 (float32x2_t __a) >> __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_p8_p64 (poly64x1_t __a) >> { >> - return (poly8x8_t)__builtin_neon_vreinterpretv8qidi (__a); >> + return (poly8x8_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_p8_s64 (int64x1_t __a) >> { >> - return (poly8x8_t)__builtin_neon_vreinterpretv8qidi (__a); >> + return (poly8x8_t)__a; >> } >> >> __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_p8_u64 (uint64x1_t __a) >> { >> - return (poly8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a); >> + return (poly8x8_t)__a; >> } >> >> __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_p8_s8 (int8x8_t __a) >> { >> - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a); >> + return (poly8x8_t)__a; >> } >> >> __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_p8_s16 (int16x4_t __a) >> { >> - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a); >> + return (poly8x8_t)__a; >> } >> >> __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_p8_s32 (int32x2_t __a) >> { >> - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a); >> + return (poly8x8_t)__a; >> } >> >> __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_p8_u8 (uint8x8_t __a) >> { >> - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a); >> + return (poly8x8_t)__a; >> } >> >> __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_p8_u16 (uint16x4_t __a) >> { >> - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); >> + return (poly8x8_t)__a; >> } >> >> __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_p8_u32 (uint32x2_t __a) >> { >> - return (poly8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a); >> + return (poly8x8_t)__a; >> } >> >> __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_p16_p8 (poly8x8_t __a) >> { >> - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); >> + return (poly16x4_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -12525,7 +12525,7 @@ vreinterpret_p16_f16 (float16x4_t __a) >> __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_p16_f32 (float32x2_t __a) >> { >> - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a); >> + return (poly16x4_t)__a; >> } >> >> #pragma GCC push_options >> @@ -12533,56 +12533,56 @@ vreinterpret_p16_f32 (float32x2_t __a) >> __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_p16_p64 (poly64x1_t __a) >> { >> - return (poly16x4_t)__builtin_neon_vreinterpretv4hidi (__a); >> + return (poly16x4_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_p16_s64 (int64x1_t __a) >> { >> - return (poly16x4_t)__builtin_neon_vreinterpretv4hidi (__a); >> + return (poly16x4_t)__a; >> } >> >> __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_p16_u64 (uint64x1_t __a) >> { >> - return (poly16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a); >> + return (poly16x4_t)__a; >> } >> >> __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_p16_s8 (int8x8_t __a) >> { >> - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a); >> + return (poly16x4_t)__a; >> } >> >> __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_p16_s16 (int16x4_t __a) >> { >> - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a); >> + return (poly16x4_t)__a; >> } >> >> __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_p16_s32 (int32x2_t __a) >> { >> - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a); >> + return (poly16x4_t)__a; >> } >> >> __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_p16_u8 (uint8x8_t __a) >> { >> - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); >> + return (poly16x4_t)__a; >> } >> >> __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_p16_u16 (uint16x4_t __a) >> { >> - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a); >> + return (poly16x4_t)__a; >> } >> >> __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_p16_u32 (uint32x2_t __a) >> { >> - return (poly16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a); >> + return (poly16x4_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -12687,13 +12687,13 @@ vreinterpret_f16_u32 (uint32x2_t __a) >> __extension__ static __inline float32x2_t __attribute__ >> ((__always_inline__)) >> vreinterpret_f32_p8 (poly8x8_t __a) >> { >> - return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a); >> + return (float32x2_t)__a; >> } >> >> __extension__ static __inline float32x2_t __attribute__ >> ((__always_inline__)) >> vreinterpret_f32_p16 (poly16x4_t __a) >> { >> - return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a); >> + return (float32x2_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -12709,56 +12709,56 @@ vreinterpret_f32_f16 (float16x4_t __a) >> __extension__ static __inline float32x2_t __attribute__ >> ((__always_inline__)) >> vreinterpret_f32_p64 (poly64x1_t __a) >> { >> - return (float32x2_t)__builtin_neon_vreinterpretv2sfdi (__a); >> + return (float32x2_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline float32x2_t __attribute__ >> ((__always_inline__)) >> vreinterpret_f32_s64 (int64x1_t __a) >> { >> - return (float32x2_t)__builtin_neon_vreinterpretv2sfdi (__a); >> + return (float32x2_t)__a; >> } >> >> __extension__ static __inline float32x2_t __attribute__ >> ((__always_inline__)) >> vreinterpret_f32_u64 (uint64x1_t __a) >> { >> - return (float32x2_t)__builtin_neon_vreinterpretv2sfdi ((int64x1_t) __a); >> + return (float32x2_t)__a; >> } >> >> __extension__ static __inline float32x2_t __attribute__ >> ((__always_inline__)) >> vreinterpret_f32_s8 (int8x8_t __a) >> { >> - return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi (__a); >> + return (float32x2_t)__a; >> } >> >> __extension__ static __inline float32x2_t __attribute__ >> ((__always_inline__)) >> vreinterpret_f32_s16 (int16x4_t __a) >> { >> - return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi (__a); >> + return (float32x2_t)__a; >> } >> >> __extension__ static __inline float32x2_t __attribute__ >> ((__always_inline__)) >> vreinterpret_f32_s32 (int32x2_t __a) >> { >> - return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si (__a); >> + return (float32x2_t)__a; >> } >> >> __extension__ static __inline float32x2_t __attribute__ >> ((__always_inline__)) >> vreinterpret_f32_u8 (uint8x8_t __a) >> { >> - return (float32x2_t)__builtin_neon_vreinterpretv2sfv8qi ((int8x8_t) __a); >> + return (float32x2_t)__a; >> } >> >> __extension__ static __inline float32x2_t __attribute__ >> ((__always_inline__)) >> vreinterpret_f32_u16 (uint16x4_t __a) >> { >> - return (float32x2_t)__builtin_neon_vreinterpretv2sfv4hi ((int16x4_t) __a); >> + return (float32x2_t)__a; >> } >> >> __extension__ static __inline float32x2_t __attribute__ >> ((__always_inline__)) >> vreinterpret_f32_u32 (uint32x2_t __a) >> { >> - return (float32x2_t)__builtin_neon_vreinterpretv2sfv2si ((int32x2_t) __a); >> + return (float32x2_t)__a; >> } >> >> #pragma GCC push_options >> @@ -12766,13 +12766,13 @@ vreinterpret_f32_u32 (uint32x2_t __a) >> __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_p64_p8 (poly8x8_t __a) >> { >> - return (poly64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); >> + return (poly64x1_t)__a; >> } >> >> __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_p64_p16 (poly16x4_t __a) >> { >> - return (poly64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); >> + return (poly64x1_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -12786,68 +12786,68 @@ vreinterpret_p64_f16 (float16x4_t __a) >> __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_p64_f32 (float32x2_t __a) >> { >> - return (poly64x1_t)__builtin_neon_vreinterpretdiv2sf (__a); >> + return (poly64x1_t)__a; >> } >> >> __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_p64_s64 (int64x1_t __a) >> { >> - return (poly64x1_t)__builtin_neon_vreinterpretdidi (__a); >> + return (poly64x1_t)__a; >> } >> >> __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_p64_u64 (uint64x1_t __a) >> { >> - return (poly64x1_t)__builtin_neon_vreinterpretdidi ((int64x1_t) __a); >> + return (poly64x1_t)__a; >> } >> >> __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_p64_s8 (int8x8_t __a) >> { >> - return (poly64x1_t)__builtin_neon_vreinterpretdiv8qi (__a); >> + return (poly64x1_t)__a; >> } >> >> __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_p64_s16 (int16x4_t __a) >> { >> - return (poly64x1_t)__builtin_neon_vreinterpretdiv4hi (__a); >> + return (poly64x1_t)__a; >> } >> >> __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_p64_s32 (int32x2_t __a) >> { >> - return (poly64x1_t)__builtin_neon_vreinterpretdiv2si (__a); >> + return (poly64x1_t)__a; >> } >> >> __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_p64_u8 (uint8x8_t __a) >> { >> - return (poly64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); >> + return (poly64x1_t)__a; >> } >> >> __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_p64_u16 (uint16x4_t __a) >> { >> - return (poly64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); >> + return (poly64x1_t)__a; >> } >> >> __extension__ static __inline poly64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_p64_u32 (uint32x2_t __a) >> { >> - return (poly64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a); >> + return (poly64x1_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_s64_p8 (poly8x8_t __a) >> { >> - return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); >> + return (int64x1_t)__a; >> } >> >> __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_s64_p16 (poly16x4_t __a) >> { >> - return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); >> + return (int64x1_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -12861,7 +12861,7 @@ vreinterpret_s64_f16 (float16x4_t __a) >> __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_s64_f32 (float32x2_t __a) >> { >> - return (int64x1_t)__builtin_neon_vreinterpretdiv2sf (__a); >> + return (int64x1_t)__a; >> } >> >> #pragma GCC push_options >> @@ -12869,62 +12869,62 @@ vreinterpret_s64_f32 (float32x2_t __a) >> __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_s64_p64 (poly64x1_t __a) >> { >> - return (int64x1_t)__builtin_neon_vreinterpretdidi (__a); >> + return (int64x1_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_s64_u64 (uint64x1_t __a) >> { >> - return (int64x1_t)__builtin_neon_vreinterpretdidi ((int64x1_t) __a); >> + return (int64x1_t)__a; >> } >> >> __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_s64_s8 (int8x8_t __a) >> { >> - return (int64x1_t)__builtin_neon_vreinterpretdiv8qi (__a); >> + return (int64x1_t)__a; >> } >> >> __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_s64_s16 (int16x4_t __a) >> { >> - return (int64x1_t)__builtin_neon_vreinterpretdiv4hi (__a); >> + return (int64x1_t)__a; >> } >> >> __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_s64_s32 (int32x2_t __a) >> { >> - return (int64x1_t)__builtin_neon_vreinterpretdiv2si (__a); >> + return (int64x1_t)__a; >> } >> >> __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_s64_u8 (uint8x8_t __a) >> { >> - return (int64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); >> + return (int64x1_t)__a; >> } >> >> __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_s64_u16 (uint16x4_t __a) >> { >> - return (int64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); >> + return (int64x1_t)__a; >> } >> >> __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_s64_u32 (uint32x2_t __a) >> { >> - return (int64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a); >> + return (int64x1_t)__a; >> } >> >> __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_u64_p8 (poly8x8_t __a) >> { >> - return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); >> + return (uint64x1_t)__a; >> } >> >> __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_u64_p16 (poly16x4_t __a) >> { >> - return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); >> + return (uint64x1_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -12938,7 +12938,7 @@ vreinterpret_u64_f16 (float16x4_t __a) >> __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_u64_f32 (float32x2_t __a) >> { >> - return (uint64x1_t)__builtin_neon_vreinterpretdiv2sf (__a); >> + return (uint64x1_t)__a; >> } >> >> #pragma GCC push_options >> @@ -12946,62 +12946,62 @@ vreinterpret_u64_f32 (float32x2_t __a) >> __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_u64_p64 (poly64x1_t __a) >> { >> - return (uint64x1_t)__builtin_neon_vreinterpretdidi (__a); >> + return (uint64x1_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_u64_s64 (int64x1_t __a) >> { >> - return (uint64x1_t)__builtin_neon_vreinterpretdidi (__a); >> + return (uint64x1_t)__a; >> } >> >> __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_u64_s8 (int8x8_t __a) >> { >> - return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi (__a); >> + return (uint64x1_t)__a; >> } >> >> __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_u64_s16 (int16x4_t __a) >> { >> - return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi (__a); >> + return (uint64x1_t)__a; >> } >> >> __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_u64_s32 (int32x2_t __a) >> { >> - return (uint64x1_t)__builtin_neon_vreinterpretdiv2si (__a); >> + return (uint64x1_t)__a; >> } >> >> __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_u64_u8 (uint8x8_t __a) >> { >> - return (uint64x1_t)__builtin_neon_vreinterpretdiv8qi ((int8x8_t) __a); >> + return (uint64x1_t)__a; >> } >> >> __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_u64_u16 (uint16x4_t __a) >> { >> - return (uint64x1_t)__builtin_neon_vreinterpretdiv4hi ((int16x4_t) __a); >> + return (uint64x1_t)__a; >> } >> >> __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) >> vreinterpret_u64_u32 (uint32x2_t __a) >> { >> - return (uint64x1_t)__builtin_neon_vreinterpretdiv2si ((int32x2_t) __a); >> + return (uint64x1_t)__a; >> } >> >> __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_s8_p8 (poly8x8_t __a) >> { >> - return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a); >> + return (int8x8_t)__a; >> } >> >> __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_s8_p16 (poly16x4_t __a) >> { >> - return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); >> + return (int8x8_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13015,7 +13015,7 @@ vreinterpret_s8_f16 (float16x4_t __a) >> __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_s8_f32 (float32x2_t __a) >> { >> - return (int8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a); >> + return (int8x8_t)__a; >> } >> >> #pragma GCC push_options >> @@ -13023,62 +13023,62 @@ vreinterpret_s8_f32 (float32x2_t __a) >> __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_s8_p64 (poly64x1_t __a) >> { >> - return (int8x8_t)__builtin_neon_vreinterpretv8qidi (__a); >> + return (int8x8_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_s8_s64 (int64x1_t __a) >> { >> - return (int8x8_t)__builtin_neon_vreinterpretv8qidi (__a); >> + return (int8x8_t)__a; >> } >> >> __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_s8_u64 (uint64x1_t __a) >> { >> - return (int8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a); >> + return (int8x8_t)__a; >> } >> >> __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_s8_s16 (int16x4_t __a) >> { >> - return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a); >> + return (int8x8_t)__a; >> } >> >> __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_s8_s32 (int32x2_t __a) >> { >> - return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a); >> + return (int8x8_t)__a; >> } >> >> __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_s8_u8 (uint8x8_t __a) >> { >> - return (int8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a); >> + return (int8x8_t)__a; >> } >> >> __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_s8_u16 (uint16x4_t __a) >> { >> - return (int8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); >> + return (int8x8_t)__a; >> } >> >> __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_s8_u32 (uint32x2_t __a) >> { >> - return (int8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a); >> + return (int8x8_t)__a; >> } >> >> __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_s16_p8 (poly8x8_t __a) >> { >> - return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); >> + return (int16x4_t)__a; >> } >> >> __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_s16_p16 (poly16x4_t __a) >> { >> - return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a); >> + return (int16x4_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13092,7 +13092,7 @@ vreinterpret_s16_f16 (float16x4_t __a) >> __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_s16_f32 (float32x2_t __a) >> { >> - return (int16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a); >> + return (int16x4_t)__a; >> } >> >> #pragma GCC push_options >> @@ -13100,62 +13100,62 @@ vreinterpret_s16_f32 (float32x2_t __a) >> __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_s16_p64 (poly64x1_t __a) >> { >> - return (int16x4_t)__builtin_neon_vreinterpretv4hidi (__a); >> + return (int16x4_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_s16_s64 (int64x1_t __a) >> { >> - return (int16x4_t)__builtin_neon_vreinterpretv4hidi (__a); >> + return (int16x4_t)__a; >> } >> >> __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_s16_u64 (uint64x1_t __a) >> { >> - return (int16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a); >> + return (int16x4_t)__a; >> } >> >> __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_s16_s8 (int8x8_t __a) >> { >> - return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a); >> + return (int16x4_t)__a; >> } >> >> __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_s16_s32 (int32x2_t __a) >> { >> - return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a); >> + return (int16x4_t)__a; >> } >> >> __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_s16_u8 (uint8x8_t __a) >> { >> - return (int16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); >> + return (int16x4_t)__a; >> } >> >> __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_s16_u16 (uint16x4_t __a) >> { >> - return (int16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a); >> + return (int16x4_t)__a; >> } >> >> __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_s16_u32 (uint32x2_t __a) >> { >> - return (int16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a); >> + return (int16x4_t)__a; >> } >> >> __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_s32_p8 (poly8x8_t __a) >> { >> - return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a); >> + return (int32x2_t)__a; >> } >> >> __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_s32_p16 (poly16x4_t __a) >> { >> - return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a); >> + return (int32x2_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13169,7 +13169,7 @@ vreinterpret_s32_f16 (float16x4_t __a) >> __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_s32_f32 (float32x2_t __a) >> { >> - return (int32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a); >> + return (int32x2_t)__a; >> } >> >> #pragma GCC push_options >> @@ -13177,62 +13177,62 @@ vreinterpret_s32_f32 (float32x2_t __a) >> __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_s32_p64 (poly64x1_t __a) >> { >> - return (int32x2_t)__builtin_neon_vreinterpretv2sidi (__a); >> + return (int32x2_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_s32_s64 (int64x1_t __a) >> { >> - return (int32x2_t)__builtin_neon_vreinterpretv2sidi (__a); >> + return (int32x2_t)__a; >> } >> >> __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_s32_u64 (uint64x1_t __a) >> { >> - return (int32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a); >> + return (int32x2_t)__a; >> } >> >> __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_s32_s8 (int8x8_t __a) >> { >> - return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a); >> + return (int32x2_t)__a; >> } >> >> __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_s32_s16 (int16x4_t __a) >> { >> - return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a); >> + return (int32x2_t)__a; >> } >> >> __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_s32_u8 (uint8x8_t __a) >> { >> - return (int32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a); >> + return (int32x2_t)__a; >> } >> >> __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_s32_u16 (uint16x4_t __a) >> { >> - return (int32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a); >> + return (int32x2_t)__a; >> } >> >> __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_s32_u32 (uint32x2_t __a) >> { >> - return (int32x2_t)__builtin_neon_vreinterpretv2siv2si ((int32x2_t) __a); >> + return (int32x2_t)__a; >> } >> >> __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_u8_p8 (poly8x8_t __a) >> { >> - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi ((int8x8_t) __a); >> + return (uint8x8_t)__a; >> } >> >> __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_u8_p16 (poly16x4_t __a) >> { >> - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); >> + return (uint8x8_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13246,7 +13246,7 @@ vreinterpret_u8_f16 (float16x4_t __a) >> __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_u8_f32 (float32x2_t __a) >> { >> - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2sf (__a); >> + return (uint8x8_t)__a; >> } >> >> #pragma GCC push_options >> @@ -13254,62 +13254,62 @@ vreinterpret_u8_f32 (float32x2_t __a) >> __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_u8_p64 (poly64x1_t __a) >> { >> - return (uint8x8_t)__builtin_neon_vreinterpretv8qidi (__a); >> + return (uint8x8_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_u8_s64 (int64x1_t __a) >> { >> - return (uint8x8_t)__builtin_neon_vreinterpretv8qidi (__a); >> + return (uint8x8_t)__a; >> } >> >> __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_u8_u64 (uint64x1_t __a) >> { >> - return (uint8x8_t)__builtin_neon_vreinterpretv8qidi ((int64x1_t) __a); >> + return (uint8x8_t)__a; >> } >> >> __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_u8_s8 (int8x8_t __a) >> { >> - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv8qi (__a); >> + return (uint8x8_t)__a; >> } >> >> __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_u8_s16 (int16x4_t __a) >> { >> - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi (__a); >> + return (uint8x8_t)__a; >> } >> >> __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_u8_s32 (int32x2_t __a) >> { >> - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si (__a); >> + return (uint8x8_t)__a; >> } >> >> __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_u8_u16 (uint16x4_t __a) >> { >> - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv4hi ((int16x4_t) __a); >> + return (uint8x8_t)__a; >> } >> >> __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) >> vreinterpret_u8_u32 (uint32x2_t __a) >> { >> - return (uint8x8_t)__builtin_neon_vreinterpretv8qiv2si ((int32x2_t) __a); >> + return (uint8x8_t)__a; >> } >> >> __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_u16_p8 (poly8x8_t __a) >> { >> - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); >> + return (uint16x4_t)__a; >> } >> >> __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_u16_p16 (poly16x4_t __a) >> { >> - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi ((int16x4_t) __a); >> + return (uint16x4_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13323,7 +13323,7 @@ vreinterpret_u16_f16 (float16x4_t __a) >> __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_u16_f32 (float32x2_t __a) >> { >> - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2sf (__a); >> + return (uint16x4_t)__a; >> } >> >> #pragma GCC push_options >> @@ -13331,62 +13331,62 @@ vreinterpret_u16_f32 (float32x2_t __a) >> __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_u16_p64 (poly64x1_t __a) >> { >> - return (uint16x4_t)__builtin_neon_vreinterpretv4hidi (__a); >> + return (uint16x4_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_u16_s64 (int64x1_t __a) >> { >> - return (uint16x4_t)__builtin_neon_vreinterpretv4hidi (__a); >> + return (uint16x4_t)__a; >> } >> >> __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_u16_u64 (uint64x1_t __a) >> { >> - return (uint16x4_t)__builtin_neon_vreinterpretv4hidi ((int64x1_t) __a); >> + return (uint16x4_t)__a; >> } >> >> __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_u16_s8 (int8x8_t __a) >> { >> - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi (__a); >> + return (uint16x4_t)__a; >> } >> >> __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_u16_s16 (int16x4_t __a) >> { >> - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv4hi (__a); >> + return (uint16x4_t)__a; >> } >> >> __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_u16_s32 (int32x2_t __a) >> { >> - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si (__a); >> + return (uint16x4_t)__a; >> } >> >> __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_u16_u8 (uint8x8_t __a) >> { >> - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv8qi ((int8x8_t) __a); >> + return (uint16x4_t)__a; >> } >> >> __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) >> vreinterpret_u16_u32 (uint32x2_t __a) >> { >> - return (uint16x4_t)__builtin_neon_vreinterpretv4hiv2si ((int32x2_t) __a); >> + return (uint16x4_t)__a; >> } >> >> __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_u32_p8 (poly8x8_t __a) >> { >> - return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a); >> + return (uint32x2_t)__a; >> } >> >> __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_u32_p16 (poly16x4_t __a) >> { >> - return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a); >> + return (uint32x2_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13400,7 +13400,7 @@ vreinterpret_u32_f16 (float16x4_t __a) >> __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_u32_f32 (float32x2_t __a) >> { >> - return (uint32x2_t)__builtin_neon_vreinterpretv2siv2sf (__a); >> + return (uint32x2_t)__a; >> } >> >> #pragma GCC push_options >> @@ -13408,56 +13408,56 @@ vreinterpret_u32_f32 (float32x2_t __a) >> __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_u32_p64 (poly64x1_t __a) >> { >> - return (uint32x2_t)__builtin_neon_vreinterpretv2sidi (__a); >> + return (uint32x2_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_u32_s64 (int64x1_t __a) >> { >> - return (uint32x2_t)__builtin_neon_vreinterpretv2sidi (__a); >> + return (uint32x2_t)__a; >> } >> >> __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_u32_u64 (uint64x1_t __a) >> { >> - return (uint32x2_t)__builtin_neon_vreinterpretv2sidi ((int64x1_t) __a); >> + return (uint32x2_t)__a; >> } >> >> __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_u32_s8 (int8x8_t __a) >> { >> - return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi (__a); >> + return (uint32x2_t)__a; >> } >> >> __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_u32_s16 (int16x4_t __a) >> { >> - return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi (__a); >> + return (uint32x2_t)__a; >> } >> >> __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_u32_s32 (int32x2_t __a) >> { >> - return (uint32x2_t)__builtin_neon_vreinterpretv2siv2si (__a); >> + return (uint32x2_t)__a; >> } >> >> __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_u32_u8 (uint8x8_t __a) >> { >> - return (uint32x2_t)__builtin_neon_vreinterpretv2siv8qi ((int8x8_t) __a); >> + return (uint32x2_t)__a; >> } >> >> __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) >> vreinterpret_u32_u16 (uint16x4_t __a) >> { >> - return (uint32x2_t)__builtin_neon_vreinterpretv2siv4hi ((int16x4_t) __a); >> + return (uint32x2_t)__a; >> } >> >> __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_p8_p16 (poly16x8_t __a) >> { >> - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); >> + return (poly8x16_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13471,7 +13471,7 @@ vreinterpretq_p8_f16 (float16x8_t __a) >> __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_p8_f32 (float32x4_t __a) >> { >> - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a); >> + return (poly8x16_t)__a; >> } >> >> #pragma GCC push_options >> @@ -13479,69 +13479,69 @@ vreinterpretq_p8_f32 (float32x4_t __a) >> __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_p8_p64 (poly64x2_t __a) >> { >> - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a); >> + return (poly8x16_t)__a; >> } >> >> >> __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_p8_p128 (poly128_t __a) >> { >> - return (poly8x16_t)__builtin_neon_vreinterpretv16qiti >> ((__builtin_neon_ti) __a); >> + return (poly8x16_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_p8_s64 (int64x2_t __a) >> { >> - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a); >> + return (poly8x16_t)__a; >> } >> >> __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_p8_u64 (uint64x2_t __a) >> { >> - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a); >> + return (poly8x16_t)__a; >> } >> >> __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_p8_s8 (int8x16_t __a) >> { >> - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a); >> + return (poly8x16_t)__a; >> } >> >> __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_p8_s16 (int16x8_t __a) >> { >> - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a); >> + return (poly8x16_t)__a; >> } >> >> __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_p8_s32 (int32x4_t __a) >> { >> - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a); >> + return (poly8x16_t)__a; >> } >> >> __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_p8_u8 (uint8x16_t __a) >> { >> - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) >> __a); >> + return (poly8x16_t)__a; >> } >> >> __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_p8_u16 (uint16x8_t __a) >> { >> - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); >> + return (poly8x16_t)__a; >> } >> >> __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_p8_u32 (uint32x4_t __a) >> { >> - return (poly8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a); >> + return (poly8x16_t)__a; >> } >> >> __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_p16_p8 (poly8x16_t __a) >> { >> - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); >> + return (poly16x8_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13555,7 +13555,7 @@ vreinterpretq_p16_f16 (float16x8_t __a) >> __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_p16_f32 (float32x4_t __a) >> { >> - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a); >> + return (poly16x8_t)__a; >> } >> >> #pragma GCC push_options >> @@ -13563,62 +13563,62 @@ vreinterpretq_p16_f32 (float32x4_t __a) >> __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_p16_p64 (poly64x2_t __a) >> { >> - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a); >> + return (poly16x8_t)__a; >> } >> >> __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_p16_p128 (poly128_t __a) >> { >> - return (poly16x8_t)__builtin_neon_vreinterpretv8hiti ((__builtin_neon_ti) >> __a); >> + return (poly16x8_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_p16_s64 (int64x2_t __a) >> { >> - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a); >> + return (poly16x8_t)__a; >> } >> >> __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_p16_u64 (uint64x2_t __a) >> { >> - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a); >> + return (poly16x8_t)__a; >> } >> >> __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_p16_s8 (int8x16_t __a) >> { >> - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a); >> + return (poly16x8_t)__a; >> } >> >> __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_p16_s16 (int16x8_t __a) >> { >> - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a); >> + return (poly16x8_t)__a; >> } >> >> __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_p16_s32 (int32x4_t __a) >> { >> - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a); >> + return (poly16x8_t)__a; >> } >> >> __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_p16_u8 (uint8x16_t __a) >> { >> - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); >> + return (poly16x8_t)__a; >> } >> >> __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_p16_u16 (uint16x8_t __a) >> { >> - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a); >> + return (poly16x8_t)__a; >> } >> >> __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_p16_u32 (uint32x4_t __a) >> { >> - return (poly16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a); >> + return (poly16x8_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13733,13 +13733,13 @@ vreinterpretq_f16_u32 (uint32x4_t __a) >> __extension__ static __inline float32x4_t __attribute__ >> ((__always_inline__)) >> vreinterpretq_f32_p8 (poly8x16_t __a) >> { >> - return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) >> __a); >> + return (float32x4_t)__a; >> } >> >> __extension__ static __inline float32x4_t __attribute__ >> ((__always_inline__)) >> vreinterpretq_f32_p16 (poly16x8_t __a) >> { >> - return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a); >> + return (float32x4_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13755,62 +13755,62 @@ vreinterpretq_f32_f16 (float16x8_t __a) >> __extension__ static __inline float32x4_t __attribute__ >> ((__always_inline__)) >> vreinterpretq_f32_p64 (poly64x2_t __a) >> { >> - return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di ((int64x2_t) __a); >> + return (float32x4_t)__a; >> } >> >> __extension__ static __inline float32x4_t __attribute__ >> ((__always_inline__)) >> vreinterpretq_f32_p128 (poly128_t __a) >> { >> - return (float32x4_t)__builtin_neon_vreinterpretv4sfti >> ((__builtin_neon_ti) __a); >> + return (float32x4_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline float32x4_t __attribute__ >> ((__always_inline__)) >> vreinterpretq_f32_s64 (int64x2_t __a) >> { >> - return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di (__a); >> + return (float32x4_t)__a; >> } >> >> __extension__ static __inline float32x4_t __attribute__ >> ((__always_inline__)) >> vreinterpretq_f32_u64 (uint64x2_t __a) >> { >> - return (float32x4_t)__builtin_neon_vreinterpretv4sfv2di ((int64x2_t) __a); >> + return (float32x4_t)__a; >> } >> >> __extension__ static __inline float32x4_t __attribute__ >> ((__always_inline__)) >> vreinterpretq_f32_s8 (int8x16_t __a) >> { >> - return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi (__a); >> + return (float32x4_t)__a; >> } >> >> __extension__ static __inline float32x4_t __attribute__ >> ((__always_inline__)) >> vreinterpretq_f32_s16 (int16x8_t __a) >> { >> - return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi (__a); >> + return (float32x4_t)__a; >> } >> >> __extension__ static __inline float32x4_t __attribute__ >> ((__always_inline__)) >> vreinterpretq_f32_s32 (int32x4_t __a) >> { >> - return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si (__a); >> + return (float32x4_t)__a; >> } >> >> __extension__ static __inline float32x4_t __attribute__ >> ((__always_inline__)) >> vreinterpretq_f32_u8 (uint8x16_t __a) >> { >> - return (float32x4_t)__builtin_neon_vreinterpretv4sfv16qi ((int8x16_t) >> __a); >> + return (float32x4_t)__a; >> } >> >> __extension__ static __inline float32x4_t __attribute__ >> ((__always_inline__)) >> vreinterpretq_f32_u16 (uint16x8_t __a) >> { >> - return (float32x4_t)__builtin_neon_vreinterpretv4sfv8hi ((int16x8_t) __a); >> + return (float32x4_t)__a; >> } >> >> __extension__ static __inline float32x4_t __attribute__ >> ((__always_inline__)) >> vreinterpretq_f32_u32 (uint32x4_t __a) >> { >> - return (float32x4_t)__builtin_neon_vreinterpretv4sfv4si ((int32x4_t) __a); >> + return (float32x4_t)__a; >> } >> >> #pragma GCC push_options >> @@ -13818,13 +13818,13 @@ vreinterpretq_f32_u32 (uint32x4_t __a) >> __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_p64_p8 (poly8x16_t __a) >> { >> - return (poly64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); >> + return (poly64x2_t)__a; >> } >> >> __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_p64_p16 (poly16x8_t __a) >> { >> - return (poly64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); >> + return (poly64x2_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13838,73 +13838,73 @@ vreinterpretq_p64_f16 (float16x8_t __a) >> __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_p64_f32 (float32x4_t __a) >> { >> - return (poly64x2_t)__builtin_neon_vreinterpretv2div4sf (__a); >> + return (poly64x2_t)__a; >> } >> >> __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_p64_p128 (poly128_t __a) >> { >> - return (poly64x2_t)__builtin_neon_vreinterpretv2diti ((__builtin_neon_ti) >> __a); >> + return (poly64x2_t)__a; >> } >> >> __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_p64_s64 (int64x2_t __a) >> { >> - return (poly64x2_t)__builtin_neon_vreinterpretv2div2di (__a); >> + return (poly64x2_t)__a; >> } >> >> __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_p64_u64 (uint64x2_t __a) >> { >> - return (poly64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a); >> + return (poly64x2_t)__a; >> } >> >> __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_p64_s8 (int8x16_t __a) >> { >> - return (poly64x2_t)__builtin_neon_vreinterpretv2div16qi (__a); >> + return (poly64x2_t)__a; >> } >> >> __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_p64_s16 (int16x8_t __a) >> { >> - return (poly64x2_t)__builtin_neon_vreinterpretv2div8hi (__a); >> + return (poly64x2_t)__a; >> } >> >> __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_p64_s32 (int32x4_t __a) >> { >> - return (poly64x2_t)__builtin_neon_vreinterpretv2div4si (__a); >> + return (poly64x2_t)__a; >> } >> >> __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_p64_u8 (uint8x16_t __a) >> { >> - return (poly64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); >> + return (poly64x2_t)__a; >> } >> >> __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_p64_u16 (uint16x8_t __a) >> { >> - return (poly64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); >> + return (poly64x2_t)__a; >> } >> >> __extension__ static __inline poly64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_p64_u32 (uint32x4_t __a) >> { >> - return (poly64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a); >> + return (poly64x2_t)__a; >> } >> >> __extension__ static __inline poly128_t __attribute__ ((__always_inline__)) >> vreinterpretq_p128_p8 (poly8x16_t __a) >> { >> - return (poly128_t)__builtin_neon_vreinterprettiv16qi ((int8x16_t) __a); >> + return (poly128_t)__a; >> } >> >> __extension__ static __inline poly128_t __attribute__ ((__always_inline__)) >> vreinterpretq_p128_p16 (poly16x8_t __a) >> { >> - return (poly128_t)__builtin_neon_vreinterprettiv8hi ((int16x8_t) __a); >> + return (poly128_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13918,74 +13918,74 @@ vreinterpretq_p128_f16 (float16x8_t __a) >> __extension__ static __inline poly128_t __attribute__ ((__always_inline__)) >> vreinterpretq_p128_f32 (float32x4_t __a) >> { >> - return (poly128_t)__builtin_neon_vreinterprettiv4sf (__a); >> + return (poly128_t)__a; >> } >> >> __extension__ static __inline poly128_t __attribute__ ((__always_inline__)) >> vreinterpretq_p128_p64 (poly64x2_t __a) >> { >> - return (poly128_t)__builtin_neon_vreinterprettiv2di ((int64x2_t) __a); >> + return (poly128_t)__a; >> } >> >> __extension__ static __inline poly128_t __attribute__ ((__always_inline__)) >> vreinterpretq_p128_s64 (int64x2_t __a) >> { >> - return (poly128_t)__builtin_neon_vreinterprettiv2di (__a); >> + return (poly128_t)__a; >> } >> >> __extension__ static __inline poly128_t __attribute__ ((__always_inline__)) >> vreinterpretq_p128_u64 (uint64x2_t __a) >> { >> - return (poly128_t)__builtin_neon_vreinterprettiv2di ((int64x2_t) __a); >> + return (poly128_t)__a; >> } >> >> __extension__ static __inline poly128_t __attribute__ ((__always_inline__)) >> vreinterpretq_p128_s8 (int8x16_t __a) >> { >> - return (poly128_t)__builtin_neon_vreinterprettiv16qi (__a); >> + return (poly128_t)__a; >> } >> >> __extension__ static __inline poly128_t __attribute__ ((__always_inline__)) >> vreinterpretq_p128_s16 (int16x8_t __a) >> { >> - return (poly128_t)__builtin_neon_vreinterprettiv8hi (__a); >> + return (poly128_t)__a; >> } >> >> __extension__ static __inline poly128_t __attribute__ ((__always_inline__)) >> vreinterpretq_p128_s32 (int32x4_t __a) >> { >> - return (poly128_t)__builtin_neon_vreinterprettiv4si (__a); >> + return (poly128_t)__a; >> } >> >> __extension__ static __inline poly128_t __attribute__ ((__always_inline__)) >> vreinterpretq_p128_u8 (uint8x16_t __a) >> { >> - return (poly128_t)__builtin_neon_vreinterprettiv16qi ((int8x16_t) __a); >> + return (poly128_t)__a; >> } >> >> __extension__ static __inline poly128_t __attribute__ ((__always_inline__)) >> vreinterpretq_p128_u16 (uint16x8_t __a) >> { >> - return (poly128_t)__builtin_neon_vreinterprettiv8hi ((int16x8_t) __a); >> + return (poly128_t)__a; >> } >> >> __extension__ static __inline poly128_t __attribute__ ((__always_inline__)) >> vreinterpretq_p128_u32 (uint32x4_t __a) >> { >> - return (poly128_t)__builtin_neon_vreinterprettiv4si ((int32x4_t) __a); >> + return (poly128_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_s64_p8 (poly8x16_t __a) >> { >> - return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); >> + return (int64x2_t)__a; >> } >> >> __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_s64_p16 (poly16x8_t __a) >> { >> - return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); >> + return (int64x2_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -13999,7 +13999,7 @@ vreinterpretq_s64_f16 (float16x8_t __a) >> __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_s64_f32 (float32x4_t __a) >> { >> - return (int64x2_t)__builtin_neon_vreinterpretv2div4sf (__a); >> + return (int64x2_t)__a; >> } >> >> #pragma GCC push_options >> @@ -14007,68 +14007,68 @@ vreinterpretq_s64_f32 (float32x4_t __a) >> __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_s64_p64 (poly64x2_t __a) >> { >> - return (int64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a); >> + return (int64x2_t)__a; >> } >> >> __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_s64_p128 (poly128_t __a) >> { >> - return (int64x2_t)__builtin_neon_vreinterpretv2diti ((__builtin_neon_ti) >> __a); >> + return (int64x2_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_s64_u64 (uint64x2_t __a) >> { >> - return (int64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a); >> + return (int64x2_t)__a; >> } >> >> __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_s64_s8 (int8x16_t __a) >> { >> - return (int64x2_t)__builtin_neon_vreinterpretv2div16qi (__a); >> + return (int64x2_t)__a; >> } >> >> __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_s64_s16 (int16x8_t __a) >> { >> - return (int64x2_t)__builtin_neon_vreinterpretv2div8hi (__a); >> + return (int64x2_t)__a; >> } >> >> __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_s64_s32 (int32x4_t __a) >> { >> - return (int64x2_t)__builtin_neon_vreinterpretv2div4si (__a); >> + return (int64x2_t)__a; >> } >> >> __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_s64_u8 (uint8x16_t __a) >> { >> - return (int64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); >> + return (int64x2_t)__a; >> } >> >> __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_s64_u16 (uint16x8_t __a) >> { >> - return (int64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); >> + return (int64x2_t)__a; >> } >> >> __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_s64_u32 (uint32x4_t __a) >> { >> - return (int64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a); >> + return (int64x2_t)__a; >> } >> >> __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_u64_p8 (poly8x16_t __a) >> { >> - return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); >> + return (uint64x2_t)__a; >> } >> >> __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_u64_p16 (poly16x8_t __a) >> { >> - return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); >> + return (uint64x2_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -14082,7 +14082,7 @@ vreinterpretq_u64_f16 (float16x8_t __a) >> __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_u64_f32 (float32x4_t __a) >> { >> - return (uint64x2_t)__builtin_neon_vreinterpretv2div4sf (__a); >> + return (uint64x2_t)__a; >> } >> >> #pragma GCC push_options >> @@ -14090,68 +14090,68 @@ vreinterpretq_u64_f32 (float32x4_t __a) >> __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_u64_p64 (poly64x2_t __a) >> { >> - return (uint64x2_t)__builtin_neon_vreinterpretv2div2di ((int64x2_t) __a); >> + return (uint64x2_t)__a; >> } >> >> __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_u64_p128 (poly128_t __a) >> { >> - return (uint64x2_t)__builtin_neon_vreinterpretv2diti ((__builtin_neon_ti) >> __a); >> + return (uint64x2_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_u64_s64 (int64x2_t __a) >> { >> - return (uint64x2_t)__builtin_neon_vreinterpretv2div2di (__a); >> + return (uint64x2_t)__a; >> } >> >> __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_u64_s8 (int8x16_t __a) >> { >> - return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi (__a); >> + return (uint64x2_t)__a; >> } >> >> __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_u64_s16 (int16x8_t __a) >> { >> - return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi (__a); >> + return (uint64x2_t)__a; >> } >> >> __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_u64_s32 (int32x4_t __a) >> { >> - return (uint64x2_t)__builtin_neon_vreinterpretv2div4si (__a); >> + return (uint64x2_t)__a; >> } >> >> __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_u64_u8 (uint8x16_t __a) >> { >> - return (uint64x2_t)__builtin_neon_vreinterpretv2div16qi ((int8x16_t) __a); >> + return (uint64x2_t)__a; >> } >> >> __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_u64_u16 (uint16x8_t __a) >> { >> - return (uint64x2_t)__builtin_neon_vreinterpretv2div8hi ((int16x8_t) __a); >> + return (uint64x2_t)__a; >> } >> >> __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) >> vreinterpretq_u64_u32 (uint32x4_t __a) >> { >> - return (uint64x2_t)__builtin_neon_vreinterpretv2div4si ((int32x4_t) __a); >> + return (uint64x2_t)__a; >> } >> >> __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_s8_p8 (poly8x16_t __a) >> { >> - return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a); >> + return (int8x16_t)__a; >> } >> >> __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_s8_p16 (poly16x8_t __a) >> { >> - return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); >> + return (int8x16_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -14165,7 +14165,7 @@ vreinterpretq_s8_f16 (float16x8_t __a) >> __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_s8_f32 (float32x4_t __a) >> { >> - return (int8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a); >> + return (int8x16_t)__a; >> } >> >> #pragma GCC push_options >> @@ -14173,68 +14173,68 @@ vreinterpretq_s8_f32 (float32x4_t __a) >> __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_s8_p64 (poly64x2_t __a) >> { >> - return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a); >> + return (int8x16_t)__a; >> } >> >> __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_s8_p128 (poly128_t __a) >> { >> - return (int8x16_t)__builtin_neon_vreinterpretv16qiti ((__builtin_neon_ti) >> __a); >> + return (int8x16_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_s8_s64 (int64x2_t __a) >> { >> - return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a); >> + return (int8x16_t)__a; >> } >> >> __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_s8_u64 (uint64x2_t __a) >> { >> - return (int8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a); >> + return (int8x16_t)__a; >> } >> >> __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_s8_s16 (int16x8_t __a) >> { >> - return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a); >> + return (int8x16_t)__a; >> } >> >> __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_s8_s32 (int32x4_t __a) >> { >> - return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a); >> + return (int8x16_t)__a; >> } >> >> __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_s8_u8 (uint8x16_t __a) >> { >> - return (int8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) __a); >> + return (int8x16_t)__a; >> } >> >> __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_s8_u16 (uint16x8_t __a) >> { >> - return (int8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); >> + return (int8x16_t)__a; >> } >> >> __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_s8_u32 (uint32x4_t __a) >> { >> - return (int8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a); >> + return (int8x16_t)__a; >> } >> >> __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_s16_p8 (poly8x16_t __a) >> { >> - return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); >> + return (int16x8_t)__a; >> } >> >> __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_s16_p16 (poly16x8_t __a) >> { >> - return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a); >> + return (int16x8_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -14248,7 +14248,7 @@ vreinterpretq_s16_f16 (float16x8_t __a) >> __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_s16_f32 (float32x4_t __a) >> { >> - return (int16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a); >> + return (int16x8_t)__a; >> } >> >> #pragma GCC push_options >> @@ -14256,82 +14256,82 @@ vreinterpretq_s16_f32 (float32x4_t __a) >> __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_s16_p64 (poly64x2_t __a) >> { >> - return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a); >> + return (int16x8_t)__a; >> } >> >> __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_s16_p128 (poly128_t __a) >> { >> - return (int16x8_t)__builtin_neon_vreinterpretv8hiti ((__builtin_neon_ti) >> __a); >> + return (int16x8_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_s16_s64 (int64x2_t __a) >> { >> - return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a); >> + return (int16x8_t)__a; >> } >> >> __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_s16_u64 (uint64x2_t __a) >> { >> - return (int16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a); >> + return (int16x8_t)__a; >> } >> >> __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_s16_s8 (int8x16_t __a) >> { >> - return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a); >> + return (int16x8_t)__a; >> } >> >> __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_s16_s32 (int32x4_t __a) >> { >> - return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a); >> + return (int16x8_t)__a; >> } >> >> __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_s16_u8 (uint8x16_t __a) >> { >> - return (int16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); >> + return (int16x8_t)__a; >> } >> >> __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_s16_u16 (uint16x8_t __a) >> { >> - return (int16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a); >> + return (int16x8_t)__a; >> } >> >> __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_s16_u32 (uint32x4_t __a) >> { >> - return (int16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a); >> + return (int16x8_t)__a; >> } >> >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_p8 (poly8x16_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a); >> + return (int32x4_t)__a; >> } >> >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_p16 (poly16x8_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); >> + return (int32x4_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_f16 (float16x8_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); >> + return (int32x4_t)__a; >> } >> #endif >> >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_f32 (float32x4_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a); >> + return (int32x4_t)__a; >> } >> >> #pragma GCC push_options >> @@ -14339,68 +14339,68 @@ vreinterpretq_s32_f32 (float32x4_t __a) >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_p64 (poly64x2_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a); >> + return (int32x4_t)__a; >> } >> >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_p128 (poly128_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siti ((__builtin_neon_ti) >> __a); >> + return (int32x4_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_s64 (int64x2_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siv2di (__a); >> + return (int32x4_t)__a; >> } >> >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_u64 (uint64x2_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a); >> + return (int32x4_t)__a; >> } >> >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_s8 (int8x16_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a); >> + return (int32x4_t)__a; >> } >> >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_s16 (int16x8_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a); >> + return (int32x4_t)__a; >> } >> >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_u8 (uint8x16_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a); >> + return (int32x4_t)__a; >> } >> >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_u16 (uint16x8_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); >> + return (int32x4_t)__a; >> } >> >> __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_s32_u32 (uint32x4_t __a) >> { >> - return (int32x4_t)__builtin_neon_vreinterpretv4siv4si ((int32x4_t) __a); >> + return (int32x4_t)__a; >> } >> >> __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_u8_p8 (poly8x16_t __a) >> { >> - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi ((int8x16_t) >> __a); >> + return (uint8x16_t)__a; >> } >> >> __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_u8_p16 (poly16x8_t __a) >> { >> - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); >> + return (uint8x16_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -14414,7 +14414,7 @@ vreinterpretq_u8_f16 (float16x8_t __a) >> __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_u8_f32 (float32x4_t __a) >> { >> - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4sf (__a); >> + return (uint8x16_t)__a; >> } >> >> #pragma GCC push_options >> @@ -14422,68 +14422,68 @@ vreinterpretq_u8_f32 (float32x4_t __a) >> __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_u8_p64 (poly64x2_t __a) >> { >> - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a); >> + return (uint8x16_t)__a; >> } >> >> __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_u8_p128 (poly128_t __a) >> { >> - return (uint8x16_t)__builtin_neon_vreinterpretv16qiti >> ((__builtin_neon_ti) __a); >> + return (uint8x16_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_u8_s64 (int64x2_t __a) >> { >> - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di (__a); >> + return (uint8x16_t)__a; >> } >> >> __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_u8_u64 (uint64x2_t __a) >> { >> - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv2di ((int64x2_t) __a); >> + return (uint8x16_t)__a; >> } >> >> __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_u8_s8 (int8x16_t __a) >> { >> - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv16qi (__a); >> + return (uint8x16_t)__a; >> } >> >> __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_u8_s16 (int16x8_t __a) >> { >> - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi (__a); >> + return (uint8x16_t)__a; >> } >> >> __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_u8_s32 (int32x4_t __a) >> { >> - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si (__a); >> + return (uint8x16_t)__a; >> } >> >> __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_u8_u16 (uint16x8_t __a) >> { >> - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv8hi ((int16x8_t) __a); >> + return (uint8x16_t)__a; >> } >> >> __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) >> vreinterpretq_u8_u32 (uint32x4_t __a) >> { >> - return (uint8x16_t)__builtin_neon_vreinterpretv16qiv4si ((int32x4_t) __a); >> + return (uint8x16_t)__a; >> } >> >> __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_u16_p8 (poly8x16_t __a) >> { >> - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); >> + return (uint16x8_t)__a; >> } >> >> __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_u16_p16 (poly16x8_t __a) >> { >> - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi ((int16x8_t) __a); >> + return (uint16x8_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -14497,7 +14497,7 @@ vreinterpretq_u16_f16 (float16x8_t __a) >> __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_u16_f32 (float32x4_t __a) >> { >> - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4sf (__a); >> + return (uint16x8_t)__a; >> } >> >> #pragma GCC push_options >> @@ -14505,68 +14505,68 @@ vreinterpretq_u16_f32 (float32x4_t __a) >> __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_u16_p64 (poly64x2_t __a) >> { >> - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a); >> + return (uint16x8_t)__a; >> } >> >> __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_u16_p128 (poly128_t __a) >> { >> - return (uint16x8_t)__builtin_neon_vreinterpretv8hiti ((__builtin_neon_ti) >> __a); >> + return (uint16x8_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_u16_s64 (int64x2_t __a) >> { >> - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di (__a); >> + return (uint16x8_t)__a; >> } >> >> __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_u16_u64 (uint64x2_t __a) >> { >> - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv2di ((int64x2_t) __a); >> + return (uint16x8_t)__a; >> } >> >> __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_u16_s8 (int8x16_t __a) >> { >> - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi (__a); >> + return (uint16x8_t)__a; >> } >> >> __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_u16_s16 (int16x8_t __a) >> { >> - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv8hi (__a); >> + return (uint16x8_t)__a; >> } >> >> __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_u16_s32 (int32x4_t __a) >> { >> - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si (__a); >> + return (uint16x8_t)__a; >> } >> >> __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_u16_u8 (uint8x16_t __a) >> { >> - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv16qi ((int8x16_t) __a); >> + return (uint16x8_t)__a; >> } >> >> __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) >> vreinterpretq_u16_u32 (uint32x4_t __a) >> { >> - return (uint16x8_t)__builtin_neon_vreinterpretv8hiv4si ((int32x4_t) __a); >> + return (uint16x8_t)__a; >> } >> >> __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_u32_p8 (poly8x16_t __a) >> { >> - return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a); >> + return (uint32x4_t)__a; >> } >> >> __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_u32_p16 (poly16x8_t __a) >> { >> - return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); >> + return (uint32x4_t)__a; >> } >> >> #if defined (__ARM_FP16_FORMAT_IEEE) || defined >> (__ARM_FP16_FORMAT_ALTERNATIVE) >> @@ -14580,7 +14580,7 @@ vreinterpretq_u32_f16 (float16x8_t __a) >> __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_u32_f32 (float32x4_t __a) >> { >> - return (uint32x4_t)__builtin_neon_vreinterpretv4siv4sf (__a); >> + return (uint32x4_t)__a; >> } >> >> #pragma GCC push_options >> @@ -14588,56 +14588,56 @@ vreinterpretq_u32_f32 (float32x4_t __a) >> __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_u32_p64 (poly64x2_t __a) >> { >> - return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a); >> + return (uint32x4_t)__a; >> } >> >> __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_u32_p128 (poly128_t __a) >> { >> - return (uint32x4_t)__builtin_neon_vreinterpretv4siti ((__builtin_neon_ti) >> __a); >> + return (uint32x4_t)__a; >> } >> >> #pragma GCC pop_options >> __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_u32_s64 (int64x2_t __a) >> { >> - return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di (__a); >> + return (uint32x4_t)__a; >> } >> >> __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_u32_u64 (uint64x2_t __a) >> { >> - return (uint32x4_t)__builtin_neon_vreinterpretv4siv2di ((int64x2_t) __a); >> + return (uint32x4_t)__a; >> } >> >> __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_u32_s8 (int8x16_t __a) >> { >> - return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi (__a); >> + return (uint32x4_t)__a; >> } >> >> __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_u32_s16 (int16x8_t __a) >> { >> - return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi (__a); >> + return (uint32x4_t)__a; >> } >> >> __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_u32_s32 (int32x4_t __a) >> { >> - return (uint32x4_t)__builtin_neon_vreinterpretv4siv4si (__a); >> + return (uint32x4_t)__a; >> } >> >> __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_u32_u8 (uint8x16_t __a) >> { >> - return (uint32x4_t)__builtin_neon_vreinterpretv4siv16qi ((int8x16_t) __a); >> + return (uint32x4_t)__a; >> } >> >> __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) >> vreinterpretq_u32_u16 (uint16x8_t __a) >> { >> - return (uint32x4_t)__builtin_neon_vreinterpretv4siv8hi ((int16x8_t) __a); >> + return (uint32x4_t)__a; >> } >> >> >> diff --git a/gcc/config/arm/arm_neon_builtins.def >> b/gcc/config/arm/arm_neon_builtins.def >> index 70ba486..d9fac78 100644 >> --- a/gcc/config/arm/arm_neon_builtins.def >> +++ b/gcc/config/arm/arm_neon_builtins.def >> @@ -235,17 +235,6 @@ VAR1 (TERNOP, vtbx1, v8qi) >> VAR1 (TERNOP, vtbx2, v8qi) >> VAR1 (TERNOP, vtbx3, v8qi) >> VAR1 (TERNOP, vtbx4, v8qi) >> -VAR5 (UNOP, vreinterpretv8qi, v8qi, v4hi, v2si, v2sf, di) >> -VAR5 (UNOP, vreinterpretv4hi, v8qi, v4hi, v2si, v2sf, di) >> -VAR5 (UNOP, vreinterpretv2si, v8qi, v4hi, v2si, v2sf, di) >> -VAR5 (UNOP, vreinterpretv2sf, v8qi, v4hi, v2si, v2sf, di) >> -VAR5 (UNOP, vreinterpretdi, v8qi, v4hi, v2si, v2sf, di) >> -VAR6 (UNOP, vreinterpretv16qi, v16qi, v8hi, v4si, v4sf, v2di, ti) >> -VAR6 (UNOP, vreinterpretv8hi, v16qi, v8hi, v4si, v4sf, v2di, ti) >> -VAR6 (UNOP, vreinterpretv4si, v16qi, v8hi, v4si, v4sf, v2di, ti) >> -VAR6 (UNOP, vreinterpretv4sf, v16qi, v8hi, v4si, v4sf, v2di, ti) >> -VAR6 (UNOP, vreinterpretv2di, v16qi, v8hi, v4si, v4sf, v2di, ti) >> -VAR6 (UNOP, vreinterpretti, v16qi, v8hi, v4si, v4sf, v2di, ti) >> VAR12 (LOAD1, vld1, >> v8qi, v4hi, v4hf, v2si, v2sf, di, v16qi, v8hi, v8hf, v4si, v4sf, >> v2di) >> VAR10 (LOAD1LANE, vld1_lane, >> diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md >> index aff5023..9ba6a11 100644 >> --- a/gcc/config/arm/neon.md >> +++ b/gcc/config/arm/neon.md >> @@ -4194,106 +4194,6 @@ if (BYTES_BIG_ENDIAN) >> [(set_attr "type" "neon_zip<q>")] >> ) >> >> -(define_expand "neon_vreinterpretv8qi<mode>" >> - [(match_operand:V8QI 0 "s_register_operand" "") >> - (match_operand:VD_RE 1 "s_register_operand" "")] >> - "TARGET_NEON" >> -{ >> - neon_reinterpret (operands[0], operands[1]); >> - DONE; >> -}) >> - >> -(define_expand "neon_vreinterpretv4hi<mode>" >> - [(match_operand:V4HI 0 "s_register_operand" "") >> - (match_operand:VD_RE 1 "s_register_operand" "")] >> - "TARGET_NEON" >> -{ >> - neon_reinterpret (operands[0], operands[1]); >> - DONE; >> -}) >> - >> -(define_expand "neon_vreinterpretv2si<mode>" >> - [(match_operand:V2SI 0 "s_register_operand" "") >> - (match_operand:VD_RE 1 "s_register_operand" "")] >> - "TARGET_NEON" >> -{ >> - neon_reinterpret (operands[0], operands[1]); >> - DONE; >> -}) >> - >> -(define_expand "neon_vreinterpretv2sf<mode>" >> - [(match_operand:V2SF 0 "s_register_operand" "") >> - (match_operand:VD_RE 1 "s_register_operand" "")] >> - "TARGET_NEON" >> -{ >> - neon_reinterpret (operands[0], operands[1]); >> - DONE; >> -}) >> - >> -(define_expand "neon_vreinterpretdi<mode>" >> - [(match_operand:DI 0 "s_register_operand" "") >> - (match_operand:VD_RE 1 "s_register_operand" "")] >> - "TARGET_NEON" >> -{ >> - neon_reinterpret (operands[0], operands[1]); >> - DONE; >> -}) >> - >> -(define_expand "neon_vreinterpretti<mode>" >> - [(match_operand:TI 0 "s_register_operand" "") >> - (match_operand:VQXMOV 1 "s_register_operand" "")] >> - "TARGET_NEON" >> -{ >> - neon_reinterpret (operands[0], operands[1]); >> - DONE; >> -}) >> - >> - >> -(define_expand "neon_vreinterpretv16qi<mode>" >> - [(match_operand:V16QI 0 "s_register_operand" "") >> - (match_operand:VQXMOV 1 "s_register_operand" "")] >> - "TARGET_NEON" >> -{ >> - neon_reinterpret (operands[0], operands[1]); >> - DONE; >> -}) >> - >> -(define_expand "neon_vreinterpretv8hi<mode>" >> - [(match_operand:V8HI 0 "s_register_operand" "") >> - (match_operand:VQXMOV 1 "s_register_operand" "")] >> - "TARGET_NEON" >> -{ >> - neon_reinterpret (operands[0], operands[1]); >> - DONE; >> -}) >> - >> -(define_expand "neon_vreinterpretv4si<mode>" >> - [(match_operand:V4SI 0 "s_register_operand" "") >> - (match_operand:VQXMOV 1 "s_register_operand" "")] >> - "TARGET_NEON" >> -{ >> - neon_reinterpret (operands[0], operands[1]); >> - DONE; >> -}) >> - >> -(define_expand "neon_vreinterpretv4sf<mode>" >> - [(match_operand:V4SF 0 "s_register_operand" "") >> - (match_operand:VQXMOV 1 "s_register_operand" "")] >> - "TARGET_NEON" >> -{ >> - neon_reinterpret (operands[0], operands[1]); >> - DONE; >> -}) >> - >> -(define_expand "neon_vreinterpretv2di<mode>" >> - [(match_operand:V2DI 0 "s_register_operand" "") >> - (match_operand:VQXMOV 1 "s_register_operand" "")] >> - "TARGET_NEON" >> -{ >> - neon_reinterpret (operands[0], operands[1]); >> - DONE; >> -}) >> - >> (define_expand "vec_load_lanes<mode><mode>" >> [(set (match_operand:VDQX 0 "s_register_operand") >> (unspec:VDQX [(match_operand:VDQX 1 "neon_struct_operand")] >> -- >> 1.9.1 >> >