From: Alex Velenko Date: Tue, 22 Apr 2014 16:02:39 +0000 (+0000) Subject: [AArch64] Vreinterpret re-implemention. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0bf3afc14da694d6bac1e7595aae0661ad005f21;p=gcc.git [AArch64] Vreinterpret re-implemention. This patch re-implements vreinterpret intrinsics to directly call a cast. The aim is to forward as much information to front-end as possible. From-SVN: r209641 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 23d05eeb8a3..149c0a05753 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,229 @@ +2014-04-22 Alex Velenko + + * config/aarch64/aarch64/aarch64-builtins.c (TYPES_REINTERP): Removed. + * config/aarch64/aarch64/aarch64-simd-builtins.def (REINTERP): Removed. + (vreinterpret_p8_s8): Likewise. + * config/aarch64/aarch64/arm_neon.h (vreinterpret_p8_s8): Uses cast. + (vreinterpret_p8_s16): Likewise. + (vreinterpret_p8_s32): Likewise. + (vreinterpret_p8_s64): Likewise. + (vreinterpret_p8_f32): Likewise. + (vreinterpret_p8_u8): Likewise. + (vreinterpret_p8_u16): Likewise. + (vreinterpret_p8_u32): Likewise. + (vreinterpret_p8_u64): Likewise. + (vreinterpret_p8_p16): Likewise. + (vreinterpretq_p8_s8): Likewise. + (vreinterpretq_p8_s16): Likewise. + (vreinterpretq_p8_s32): Likewise. + (vreinterpretq_p8_s64): Likewise. + (vreinterpretq_p8_f32): Likewise. + (vreinterpretq_p8_u8): Likewise. + (vreinterpretq_p8_u16): Likewise. + (vreinterpretq_p8_u32): Likewise. + (vreinterpretq_p8_u64): Likewise. + (vreinterpretq_p8_p16): Likewise. + (vreinterpret_p16_s8): Likewise. + (vreinterpret_p16_s16): Likewise. + (vreinterpret_p16_s32): Likewise. + (vreinterpret_p16_s64): Likewise. + (vreinterpret_p16_f32): Likewise. + (vreinterpret_p16_u8): Likewise. + (vreinterpret_p16_u16): Likewise. + (vreinterpret_p16_u32): Likewise. + (vreinterpret_p16_u64): Likewise. + (vreinterpret_p16_p8): Likewise. + (vreinterpretq_p16_s8): Likewise. + (vreinterpretq_p16_s16): Likewise. + (vreinterpretq_p16_s32): Likewise. + (vreinterpretq_p16_s64): Likewise. + (vreinterpretq_p16_f32): Likewise. + (vreinterpretq_p16_u8): Likewise. + (vreinterpretq_p16_u16): Likewise. + (vreinterpretq_p16_u32): Likewise. + (vreinterpretq_p16_u64): Likewise. + (vreinterpretq_p16_p8): Likewise. + (vreinterpret_f32_s8): Likewise. + (vreinterpret_f32_s16): Likewise. + (vreinterpret_f32_s32): Likewise. + (vreinterpret_f32_s64): Likewise. + (vreinterpret_f32_u8): Likewise. + (vreinterpret_f32_u16): Likewise. + (vreinterpret_f32_u32): Likewise. + (vreinterpret_f32_u64): Likewise. + (vreinterpret_f32_p8): Likewise. + (vreinterpret_f32_p16): Likewise. + (vreinterpretq_f32_s8): Likewise. + (vreinterpretq_f32_s16): Likewise. + (vreinterpretq_f32_s32): Likewise. + (vreinterpretq_f32_s64): Likewise. + (vreinterpretq_f32_u8): Likewise. + (vreinterpretq_f32_u16): Likewise. + (vreinterpretq_f32_u32): Likewise. + (vreinterpretq_f32_u64): Likewise. + (vreinterpretq_f32_p8): Likewise. + (vreinterpretq_f32_p16): Likewise. + (vreinterpret_s64_s8): Likewise. + (vreinterpret_s64_s16): Likewise. + (vreinterpret_s64_s32): Likewise. + (vreinterpret_s64_f32): Likewise. + (vreinterpret_s64_u8): Likewise. + (vreinterpret_s64_u16): Likewise. + (vreinterpret_s64_u32): Likewise. + (vreinterpret_s64_u64): Likewise. + (vreinterpret_s64_p8): Likewise. + (vreinterpret_s64_p16): Likewise. + (vreinterpretq_s64_s8): Likewise. + (vreinterpretq_s64_s16): Likewise. + (vreinterpretq_s64_s32): Likewise. + (vreinterpretq_s64_f32): Likewise. + (vreinterpretq_s64_u8): Likewise. + (vreinterpretq_s64_u16): Likewise. + (vreinterpretq_s64_u32): Likewise. + (vreinterpretq_s64_u64): Likewise. + (vreinterpretq_s64_p8): Likewise. + (vreinterpretq_s64_p16): Likewise. + (vreinterpret_u64_s8): Likewise. + (vreinterpret_u64_s16): Likewise. + (vreinterpret_u64_s32): Likewise. + (vreinterpret_u64_s64): Likewise. + (vreinterpret_u64_f32): Likewise. + (vreinterpret_u64_u8): Likewise. + (vreinterpret_u64_u16): Likewise. + (vreinterpret_u64_u32): Likewise. + (vreinterpret_u64_p8): Likewise. + (vreinterpret_u64_p16): Likewise. + (vreinterpretq_u64_s8): Likewise. + (vreinterpretq_u64_s16): Likewise. + (vreinterpretq_u64_s32): Likewise. + (vreinterpretq_u64_s64): Likewise. + (vreinterpretq_u64_f32): Likewise. + (vreinterpretq_u64_u8): Likewise. + (vreinterpretq_u64_u16): Likewise. + (vreinterpretq_u64_u32): Likewise. + (vreinterpretq_u64_p8): Likewise. + (vreinterpretq_u64_p16): Likewise. + (vreinterpret_s8_s16): Likewise. + (vreinterpret_s8_s32): Likewise. + (vreinterpret_s8_s64): Likewise. + (vreinterpret_s8_f32): Likewise. + (vreinterpret_s8_u8): Likewise. + (vreinterpret_s8_u16): Likewise. + (vreinterpret_s8_u32): Likewise. + (vreinterpret_s8_u64): Likewise. + (vreinterpret_s8_p8): Likewise. + (vreinterpret_s8_p16): Likewise. + (vreinterpretq_s8_s16): Likewise. + (vreinterpretq_s8_s32): Likewise. + (vreinterpretq_s8_s64): Likewise. + (vreinterpretq_s8_f32): Likewise. + (vreinterpretq_s8_u8): Likewise. + (vreinterpretq_s8_u16): Likewise. + (vreinterpretq_s8_u32): Likewise. + (vreinterpretq_s8_u64): Likewise. + (vreinterpretq_s8_p8): Likewise. + (vreinterpretq_s8_p16): Likewise. + (vreinterpret_s16_s8): Likewise. + (vreinterpret_s16_s32): Likewise. + (vreinterpret_s16_s64): Likewise. + (vreinterpret_s16_f32): Likewise. + (vreinterpret_s16_u8): Likewise. + (vreinterpret_s16_u16): Likewise. + (vreinterpret_s16_u32): Likewise. + (vreinterpret_s16_u64): Likewise. + (vreinterpret_s16_p8): Likewise. + (vreinterpret_s16_p16): Likewise. + (vreinterpretq_s16_s8): Likewise. + (vreinterpretq_s16_s32): Likewise. + (vreinterpretq_s16_s64): Likewise. + (vreinterpretq_s16_f32): Likewise. + (vreinterpretq_s16_u8): Likewise. + (vreinterpretq_s16_u16): Likewise. + (vreinterpretq_s16_u32): Likewise. + (vreinterpretq_s16_u64): Likewise. + (vreinterpretq_s16_p8): Likewise. + (vreinterpretq_s16_p16): Likewise. + (vreinterpret_s32_s8): Likewise. + (vreinterpret_s32_s16): Likewise. + (vreinterpret_s32_s64): Likewise. + (vreinterpret_s32_f32): Likewise. + (vreinterpret_s32_u8): Likewise. + (vreinterpret_s32_u16): Likewise. + (vreinterpret_s32_u32): Likewise. + (vreinterpret_s32_u64): Likewise. + (vreinterpret_s32_p8): Likewise. + (vreinterpret_s32_p16): Likewise. + (vreinterpretq_s32_s8): Likewise. + (vreinterpretq_s32_s16): Likewise. + (vreinterpretq_s32_s64): Likewise. + (vreinterpretq_s32_f32): Likewise. + (vreinterpretq_s32_u8): Likewise. + (vreinterpretq_s32_u16): Likewise. + (vreinterpretq_s32_u32): Likewise. + (vreinterpretq_s32_u64): Likewise. + (vreinterpretq_s32_p8): Likewise. + (vreinterpretq_s32_p16): Likewise. + (vreinterpret_u8_s8): Likewise. + (vreinterpret_u8_s16): Likewise. + (vreinterpret_u8_s32): Likewise. + (vreinterpret_u8_s64): Likewise. + (vreinterpret_u8_f32): Likewise. + (vreinterpret_u8_u16): Likewise. + (vreinterpret_u8_u32): Likewise. + (vreinterpret_u8_u64): Likewise. + (vreinterpret_u8_p8): Likewise. + (vreinterpret_u8_p16): Likewise. + (vreinterpretq_u8_s8): Likewise. + (vreinterpretq_u8_s16): Likewise. + (vreinterpretq_u8_s32): Likewise. + (vreinterpretq_u8_s64): Likewise. + (vreinterpretq_u8_f32): Likewise. + (vreinterpretq_u8_u16): Likewise. + (vreinterpretq_u8_u32): Likewise. + (vreinterpretq_u8_u64): Likewise. + (vreinterpretq_u8_p8): Likewise. + (vreinterpretq_u8_p16): Likewise. + (vreinterpret_u16_s8): Likewise. + (vreinterpret_u16_s16): Likewise. + (vreinterpret_u16_s32): Likewise. + (vreinterpret_u16_s64): Likewise. + (vreinterpret_u16_f32): Likewise. + (vreinterpret_u16_u8): Likewise. + (vreinterpret_u16_u32): Likewise. + (vreinterpret_u16_u64): Likewise. + (vreinterpret_u16_p8): Likewise. + (vreinterpret_u16_p16): Likewise. + (vreinterpretq_u16_s8): Likewise. + (vreinterpretq_u16_s16): Likewise. + (vreinterpretq_u16_s32): Likewise. + (vreinterpretq_u16_s64): Likewise. + (vreinterpretq_u16_f32): Likewise. + (vreinterpretq_u16_u8): Likewise. + (vreinterpretq_u16_u32): Likewise. + (vreinterpretq_u16_u64): Likewise. + (vreinterpretq_u16_p8): Likewise. + (vreinterpretq_u16_p16): Likewise. + (vreinterpret_u32_s8): Likewise. + (vreinterpret_u32_s16): Likewise. + (vreinterpret_u32_s32): Likewise. + (vreinterpret_u32_s64): Likewise. + (vreinterpret_u32_f32): Likewise. + (vreinterpret_u32_u8): Likewise. + (vreinterpret_u32_u16): Likewise. + (vreinterpret_u32_u64): Likewise. + (vreinterpret_u32_p8): Likewise. + (vreinterpret_u32_p16): Likewise. + (vreinterpretq_u32_s8): Likewise. + (vreinterpretq_u32_s16): Likewise. + (vreinterpretq_u32_s32): Likewise. + (vreinterpretq_u32_s64): Likewise. + (vreinterpretq_u32_f32): Likewise. + (vreinterpretq_u32_u8): Likewise. + (vreinterpretq_u32_u16): Likewise. + (vreinterpretq_u32_u64): Likewise. + (vreinterpretq_u32_p8): Likewise. + (vreinterpretq_u32_p16): Likewise. + 2014-04-22 Alex Velenko * gcc/config/aarch64/aarch64-simd.md (aarch64_s): diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c index cd46260b6ac..5903d220275 100644 --- a/gcc/config/aarch64/aarch64-builtins.c +++ b/gcc/config/aarch64/aarch64-builtins.c @@ -147,7 +147,6 @@ aarch64_types_unopu_qualifiers[SIMD_MAX_BUILTIN_ARGS] = { qualifier_unsigned, qualifier_unsigned }; #define TYPES_UNOPU (aarch64_types_unopu_qualifiers) #define TYPES_CREATE (aarch64_types_unop_qualifiers) -#define TYPES_REINTERP (aarch64_types_unop_qualifiers) static enum aarch64_type_qualifiers aarch64_types_binop_qualifiers[SIMD_MAX_BUILTIN_ARGS] = { qualifier_none, qualifier_none, qualifier_maybe_immediate }; diff --git a/gcc/config/aarch64/aarch64-simd-builtins.def b/gcc/config/aarch64/aarch64-simd-builtins.def index d4c7403748d..4db8129edb9 100644 --- a/gcc/config/aarch64/aarch64-simd-builtins.def +++ b/gcc/config/aarch64/aarch64-simd-builtins.def @@ -51,17 +51,6 @@ VAR1 (GETLANE, get_lane, 0, di) BUILTIN_VALL (GETLANE, be_checked_get_lane, 0) - BUILTIN_VD_RE (REINTERP, reinterpretdi, 0) - BUILTIN_VDC (REINTERP, reinterpretv8qi, 0) - BUILTIN_VDC (REINTERP, reinterpretv4hi, 0) - BUILTIN_VDC (REINTERP, reinterpretv2si, 0) - BUILTIN_VDC (REINTERP, reinterpretv2sf, 0) - BUILTIN_VQ (REINTERP, reinterpretv16qi, 0) - BUILTIN_VQ (REINTERP, reinterpretv8hi, 0) - BUILTIN_VQ (REINTERP, reinterpretv4si, 0) - BUILTIN_VQ (REINTERP, reinterpretv4sf, 0) - BUILTIN_VQ (REINTERP, reinterpretv2di, 0) - BUILTIN_VQ (REINTERP, reinterpretv2df, 0) BUILTIN_VDQ_I (BINOP, dup_lane, 0) /* Implemented by aarch64_qshl. */ diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h index 75a62e522a0..7caf220edc9 100644 --- a/gcc/config/aarch64/arm_neon.h +++ b/gcc/config/aarch64/arm_neon.h @@ -2657,1350 +2657,1321 @@ vgetq_lane_u64 (uint64x2_t __a, const int __b) __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_s8 (int8x8_t __a) { - return (poly8x8_t) __builtin_aarch64_reinterpretv8qiv8qi (__a); + return (poly8x8_t) __a; } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_s16 (int16x4_t __a) { - return (poly8x8_t) __builtin_aarch64_reinterpretv8qiv4hi (__a); + return (poly8x8_t) __a; } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_s32 (int32x2_t __a) { - return (poly8x8_t) __builtin_aarch64_reinterpretv8qiv2si (__a); + return (poly8x8_t) __a; } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_s64 (int64x1_t __a) { - return (poly8x8_t) __builtin_aarch64_reinterpretv8qidi (__a); + return (poly8x8_t) __a; } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_f32 (float32x2_t __a) { - return (poly8x8_t) __builtin_aarch64_reinterpretv8qiv2sf (__a); + return (poly8x8_t) __a; } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_u8 (uint8x8_t __a) { - return (poly8x8_t) __builtin_aarch64_reinterpretv8qiv8qi ((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_aarch64_reinterpretv8qiv4hi ((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_aarch64_reinterpretv8qiv2si ((int32x2_t) __a); + return (poly8x8_t) __a; } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_u64 (uint64x1_t __a) { - return (poly8x8_t) __builtin_aarch64_reinterpretv8qidi ((int64x1_t) __a); + return (poly8x8_t) __a; } __extension__ static __inline poly8x8_t __attribute__ ((__always_inline__)) vreinterpret_p8_p16 (poly16x4_t __a) { - return (poly8x8_t) __builtin_aarch64_reinterpretv8qiv4hi ((int16x4_t) __a); + return (poly8x8_t) __a; } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_s8 (int8x16_t __a) { - return (poly8x16_t) __builtin_aarch64_reinterpretv16qiv16qi (__a); + return (poly8x16_t) __a; } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_s16 (int16x8_t __a) { - return (poly8x16_t) __builtin_aarch64_reinterpretv16qiv8hi (__a); + return (poly8x16_t) __a; } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_s32 (int32x4_t __a) { - return (poly8x16_t) __builtin_aarch64_reinterpretv16qiv4si (__a); + return (poly8x16_t) __a; } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_s64 (int64x2_t __a) { - return (poly8x16_t) __builtin_aarch64_reinterpretv16qiv2di (__a); + return (poly8x16_t) __a; } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_f32 (float32x4_t __a) { - return (poly8x16_t) __builtin_aarch64_reinterpretv16qiv4sf (__a); + return (poly8x16_t) __a; } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_u8 (uint8x16_t __a) { - return (poly8x16_t) __builtin_aarch64_reinterpretv16qiv16qi ((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_aarch64_reinterpretv16qiv8hi ((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_aarch64_reinterpretv16qiv4si ((int32x4_t) - __a); + return (poly8x16_t) __a; } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_u64 (uint64x2_t __a) { - return (poly8x16_t) __builtin_aarch64_reinterpretv16qiv2di ((int64x2_t) - __a); + return (poly8x16_t) __a; } __extension__ static __inline poly8x16_t __attribute__ ((__always_inline__)) vreinterpretq_p8_p16 (poly16x8_t __a) { - return (poly8x16_t) __builtin_aarch64_reinterpretv16qiv8hi ((int16x8_t) - __a); + return (poly8x16_t) __a; } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_s8 (int8x8_t __a) { - return (poly16x4_t) __builtin_aarch64_reinterpretv4hiv8qi (__a); + return (poly16x4_t) __a; } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_s16 (int16x4_t __a) { - return (poly16x4_t) __builtin_aarch64_reinterpretv4hiv4hi (__a); + return (poly16x4_t) __a; } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_s32 (int32x2_t __a) { - return (poly16x4_t) __builtin_aarch64_reinterpretv4hiv2si (__a); + return (poly16x4_t) __a; } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_s64 (int64x1_t __a) { - return (poly16x4_t) __builtin_aarch64_reinterpretv4hidi (__a); + return (poly16x4_t) __a; } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_f32 (float32x2_t __a) { - return (poly16x4_t) __builtin_aarch64_reinterpretv4hiv2sf (__a); + return (poly16x4_t) __a; } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_u8 (uint8x8_t __a) { - return (poly16x4_t) __builtin_aarch64_reinterpretv4hiv8qi ((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_aarch64_reinterpretv4hiv4hi ((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_aarch64_reinterpretv4hiv2si ((int32x2_t) __a); + return (poly16x4_t) __a; } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_u64 (uint64x1_t __a) { - return (poly16x4_t) __builtin_aarch64_reinterpretv4hidi ((int64x1_t) __a); + return (poly16x4_t) __a; } __extension__ static __inline poly16x4_t __attribute__ ((__always_inline__)) vreinterpret_p16_p8 (poly8x8_t __a) { - return (poly16x4_t) __builtin_aarch64_reinterpretv4hiv8qi ((int8x8_t) __a); + return (poly16x4_t) __a; } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_s8 (int8x16_t __a) { - return (poly16x8_t) __builtin_aarch64_reinterpretv8hiv16qi (__a); + return (poly16x8_t) __a; } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_s16 (int16x8_t __a) { - return (poly16x8_t) __builtin_aarch64_reinterpretv8hiv8hi (__a); + return (poly16x8_t) __a; } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_s32 (int32x4_t __a) { - return (poly16x8_t) __builtin_aarch64_reinterpretv8hiv4si (__a); + return (poly16x8_t) __a; } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_s64 (int64x2_t __a) { - return (poly16x8_t) __builtin_aarch64_reinterpretv8hiv2di (__a); + return (poly16x8_t) __a; } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_f32 (float32x4_t __a) { - return (poly16x8_t) __builtin_aarch64_reinterpretv8hiv4sf (__a); + return (poly16x8_t) __a; } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_u8 (uint8x16_t __a) { - return (poly16x8_t) __builtin_aarch64_reinterpretv8hiv16qi ((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_aarch64_reinterpretv8hiv8hi ((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_aarch64_reinterpretv8hiv4si ((int32x4_t) __a); + return (poly16x8_t) __a; } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_u64 (uint64x2_t __a) { - return (poly16x8_t) __builtin_aarch64_reinterpretv8hiv2di ((int64x2_t) __a); + return (poly16x8_t) __a; } __extension__ static __inline poly16x8_t __attribute__ ((__always_inline__)) vreinterpretq_p16_p8 (poly8x16_t __a) { - return (poly16x8_t) __builtin_aarch64_reinterpretv8hiv16qi ((int8x16_t) - __a); + return (poly16x8_t) __a; } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_s8 (int8x8_t __a) { - return (float32x2_t) __builtin_aarch64_reinterpretv2sfv8qi (__a); + return (float32x2_t) __a; } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_s16 (int16x4_t __a) { - return (float32x2_t) __builtin_aarch64_reinterpretv2sfv4hi (__a); + return (float32x2_t) __a; } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_s32 (int32x2_t __a) { - return (float32x2_t) __builtin_aarch64_reinterpretv2sfv2si (__a); + return (float32x2_t) __a; } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_s64 (int64x1_t __a) { - return (float32x2_t) __builtin_aarch64_reinterpretv2sfdi (__a); + return (float32x2_t) __a; } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_u8 (uint8x8_t __a) { - return (float32x2_t) __builtin_aarch64_reinterpretv2sfv8qi ((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_aarch64_reinterpretv2sfv4hi ((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_aarch64_reinterpretv2sfv2si ((int32x2_t) - __a); + return (float32x2_t) __a; } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_u64 (uint64x1_t __a) { - return (float32x2_t) __builtin_aarch64_reinterpretv2sfdi ((int64x1_t) __a); + return (float32x2_t) __a; } __extension__ static __inline float32x2_t __attribute__ ((__always_inline__)) vreinterpret_f32_p8 (poly8x8_t __a) { - return (float32x2_t) __builtin_aarch64_reinterpretv2sfv8qi ((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_aarch64_reinterpretv2sfv4hi ((int16x4_t) - __a); + return (float32x2_t) __a; } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_s8 (int8x16_t __a) { - return (float32x4_t) __builtin_aarch64_reinterpretv4sfv16qi (__a); + return (float32x4_t) __a; } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_s16 (int16x8_t __a) { - return (float32x4_t) __builtin_aarch64_reinterpretv4sfv8hi (__a); + return (float32x4_t) __a; } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_s32 (int32x4_t __a) { - return (float32x4_t) __builtin_aarch64_reinterpretv4sfv4si (__a); + return (float32x4_t) __a; } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_s64 (int64x2_t __a) { - return (float32x4_t) __builtin_aarch64_reinterpretv4sfv2di (__a); + return (float32x4_t) __a; } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_u8 (uint8x16_t __a) { - return (float32x4_t) __builtin_aarch64_reinterpretv4sfv16qi ((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_aarch64_reinterpretv4sfv8hi ((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_aarch64_reinterpretv4sfv4si ((int32x4_t) - __a); + return (float32x4_t) __a; } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_u64 (uint64x2_t __a) { - return (float32x4_t) __builtin_aarch64_reinterpretv4sfv2di ((int64x2_t) - __a); + return (float32x4_t) __a; } __extension__ static __inline float32x4_t __attribute__ ((__always_inline__)) vreinterpretq_f32_p8 (poly8x16_t __a) { - return (float32x4_t) __builtin_aarch64_reinterpretv4sfv16qi ((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_aarch64_reinterpretv4sfv8hi ((int16x8_t) - __a); + return (float32x4_t) __a; } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_s8 (int8x8_t __a) { - return (int64x1_t) __builtin_aarch64_reinterpretdiv8qi (__a); + return (int64x1_t) __a; } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_s16 (int16x4_t __a) { - return (int64x1_t) __builtin_aarch64_reinterpretdiv4hi (__a); + return (int64x1_t) __a; } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_s32 (int32x2_t __a) { - return (int64x1_t) __builtin_aarch64_reinterpretdiv2si (__a); + return (int64x1_t) __a; } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_f32 (float32x2_t __a) { - return (int64x1_t) __builtin_aarch64_reinterpretdiv2sf (__a); + return (int64x1_t) __a; } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_u8 (uint8x8_t __a) { - return (int64x1_t) __builtin_aarch64_reinterpretdiv8qi ((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_aarch64_reinterpretdiv4hi ((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_aarch64_reinterpretdiv2si ((int32x2_t) __a); + return (int64x1_t) __a; } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_u64 (uint64x1_t __a) { - return (int64x1_t) __builtin_aarch64_reinterpretdidi ((int64x1_t) __a); + return (int64x1_t) __a; } __extension__ static __inline int64x1_t __attribute__ ((__always_inline__)) vreinterpret_s64_p8 (poly8x8_t __a) { - return (int64x1_t) __builtin_aarch64_reinterpretdiv8qi ((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_aarch64_reinterpretdiv4hi ((int16x4_t) __a); + return (int64x1_t) __a; } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_s8 (int8x16_t __a) { - return (int64x2_t) __builtin_aarch64_reinterpretv2div16qi (__a); + return (int64x2_t) __a; } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_s16 (int16x8_t __a) { - return (int64x2_t) __builtin_aarch64_reinterpretv2div8hi (__a); + return (int64x2_t) __a; } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_s32 (int32x4_t __a) { - return (int64x2_t) __builtin_aarch64_reinterpretv2div4si (__a); + return (int64x2_t) __a; } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_f32 (float32x4_t __a) { - return (int64x2_t) __builtin_aarch64_reinterpretv2div4sf (__a); + return (int64x2_t) __a; } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_u8 (uint8x16_t __a) { - return (int64x2_t) __builtin_aarch64_reinterpretv2div16qi ((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_aarch64_reinterpretv2div8hi ((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_aarch64_reinterpretv2div4si ((int32x4_t) __a); + return (int64x2_t) __a; } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_u64 (uint64x2_t __a) { - return (int64x2_t) __builtin_aarch64_reinterpretv2div2di ((int64x2_t) __a); + return (int64x2_t) __a; } __extension__ static __inline int64x2_t __attribute__ ((__always_inline__)) vreinterpretq_s64_p8 (poly8x16_t __a) { - return (int64x2_t) __builtin_aarch64_reinterpretv2div16qi ((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_aarch64_reinterpretv2div8hi ((int16x8_t) __a); + return (int64x2_t) __a; } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_s8 (int8x8_t __a) { - return (uint64x1_t) __builtin_aarch64_reinterpretdiv8qi (__a); + return (uint64x1_t) __a; } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_s16 (int16x4_t __a) { - return (uint64x1_t) __builtin_aarch64_reinterpretdiv4hi (__a); + return (uint64x1_t) __a; } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_s32 (int32x2_t __a) { - return (uint64x1_t) __builtin_aarch64_reinterpretdiv2si (__a); + return (uint64x1_t) __a; } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_s64 (int64x1_t __a) { - return (uint64x1_t) __builtin_aarch64_reinterpretdidi (__a); + return (uint64x1_t) __a; } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_f32 (float32x2_t __a) { - return (uint64x1_t) __builtin_aarch64_reinterpretdiv2sf (__a); + return (uint64x1_t) __a; } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_u8 (uint8x8_t __a) { - return (uint64x1_t) __builtin_aarch64_reinterpretdiv8qi ((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_aarch64_reinterpretdiv4hi ((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_aarch64_reinterpretdiv2si ((int32x2_t) __a); + return (uint64x1_t) __a; } __extension__ static __inline uint64x1_t __attribute__ ((__always_inline__)) vreinterpret_u64_p8 (poly8x8_t __a) { - return (uint64x1_t) __builtin_aarch64_reinterpretdiv8qi ((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_aarch64_reinterpretdiv4hi ((int16x4_t) __a); + return (uint64x1_t) __a; } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_s8 (int8x16_t __a) { - return (uint64x2_t) __builtin_aarch64_reinterpretv2div16qi (__a); + return (uint64x2_t) __a; } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_s16 (int16x8_t __a) { - return (uint64x2_t) __builtin_aarch64_reinterpretv2div8hi (__a); + return (uint64x2_t) __a; } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_s32 (int32x4_t __a) { - return (uint64x2_t) __builtin_aarch64_reinterpretv2div4si (__a); + return (uint64x2_t) __a; } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_s64 (int64x2_t __a) { - return (uint64x2_t) __builtin_aarch64_reinterpretv2div2di (__a); + return (uint64x2_t) __a; } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_f32 (float32x4_t __a) { - return (uint64x2_t) __builtin_aarch64_reinterpretv2div4sf (__a); + return (uint64x2_t) __a; } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_u8 (uint8x16_t __a) { - return (uint64x2_t) __builtin_aarch64_reinterpretv2div16qi ((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_aarch64_reinterpretv2div8hi ((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_aarch64_reinterpretv2div4si ((int32x4_t) __a); + return (uint64x2_t) __a; } __extension__ static __inline uint64x2_t __attribute__ ((__always_inline__)) vreinterpretq_u64_p8 (poly8x16_t __a) { - return (uint64x2_t) __builtin_aarch64_reinterpretv2div16qi ((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_aarch64_reinterpretv2div8hi ((int16x8_t) __a); + return (uint64x2_t) __a; } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_s16 (int16x4_t __a) { - return (int8x8_t) __builtin_aarch64_reinterpretv8qiv4hi (__a); + return (int8x8_t) __a; } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_s32 (int32x2_t __a) { - return (int8x8_t) __builtin_aarch64_reinterpretv8qiv2si (__a); + return (int8x8_t) __a; } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_s64 (int64x1_t __a) { - return (int8x8_t) __builtin_aarch64_reinterpretv8qidi (__a); + return (int8x8_t) __a; } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_f32 (float32x2_t __a) { - return (int8x8_t) __builtin_aarch64_reinterpretv8qiv2sf (__a); + return (int8x8_t) __a; } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_u8 (uint8x8_t __a) { - return (int8x8_t) __builtin_aarch64_reinterpretv8qiv8qi ((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_aarch64_reinterpretv8qiv4hi ((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_aarch64_reinterpretv8qiv2si ((int32x2_t) __a); + return (int8x8_t) __a; } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_u64 (uint64x1_t __a) { - return (int8x8_t) __builtin_aarch64_reinterpretv8qidi ((int64x1_t) __a); + return (int8x8_t) __a; } __extension__ static __inline int8x8_t __attribute__ ((__always_inline__)) vreinterpret_s8_p8 (poly8x8_t __a) { - return (int8x8_t) __builtin_aarch64_reinterpretv8qiv8qi ((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_aarch64_reinterpretv8qiv4hi ((int16x4_t) __a); + return (int8x8_t) __a; } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_s16 (int16x8_t __a) { - return (int8x16_t) __builtin_aarch64_reinterpretv16qiv8hi (__a); + return (int8x16_t) __a; } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_s32 (int32x4_t __a) { - return (int8x16_t) __builtin_aarch64_reinterpretv16qiv4si (__a); + return (int8x16_t) __a; } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_s64 (int64x2_t __a) { - return (int8x16_t) __builtin_aarch64_reinterpretv16qiv2di (__a); + return (int8x16_t) __a; } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_f32 (float32x4_t __a) { - return (int8x16_t) __builtin_aarch64_reinterpretv16qiv4sf (__a); + return (int8x16_t) __a; } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_u8 (uint8x16_t __a) { - return (int8x16_t) __builtin_aarch64_reinterpretv16qiv16qi ((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_aarch64_reinterpretv16qiv8hi ((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_aarch64_reinterpretv16qiv4si ((int32x4_t) __a); + return (int8x16_t) __a; } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_u64 (uint64x2_t __a) { - return (int8x16_t) __builtin_aarch64_reinterpretv16qiv2di ((int64x2_t) __a); + return (int8x16_t) __a; } __extension__ static __inline int8x16_t __attribute__ ((__always_inline__)) vreinterpretq_s8_p8 (poly8x16_t __a) { - return (int8x16_t) __builtin_aarch64_reinterpretv16qiv16qi ((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_aarch64_reinterpretv16qiv8hi ((int16x8_t) __a); + return (int8x16_t) __a; } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_s8 (int8x8_t __a) { - return (int16x4_t) __builtin_aarch64_reinterpretv4hiv8qi (__a); + return (int16x4_t) __a; } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_s32 (int32x2_t __a) { - return (int16x4_t) __builtin_aarch64_reinterpretv4hiv2si (__a); + return (int16x4_t) __a; } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_s64 (int64x1_t __a) { - return (int16x4_t) __builtin_aarch64_reinterpretv4hidi (__a); + return (int16x4_t) __a; } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_f32 (float32x2_t __a) { - return (int16x4_t) __builtin_aarch64_reinterpretv4hiv2sf (__a); + return (int16x4_t) __a; } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_u8 (uint8x8_t __a) { - return (int16x4_t) __builtin_aarch64_reinterpretv4hiv8qi ((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_aarch64_reinterpretv4hiv4hi ((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_aarch64_reinterpretv4hiv2si ((int32x2_t) __a); + return (int16x4_t) __a; } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_u64 (uint64x1_t __a) { - return (int16x4_t) __builtin_aarch64_reinterpretv4hidi ((int64x1_t) __a); + return (int16x4_t) __a; } __extension__ static __inline int16x4_t __attribute__ ((__always_inline__)) vreinterpret_s16_p8 (poly8x8_t __a) { - return (int16x4_t) __builtin_aarch64_reinterpretv4hiv8qi ((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_aarch64_reinterpretv4hiv4hi ((int16x4_t) __a); + return (int16x4_t) __a; } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_s8 (int8x16_t __a) { - return (int16x8_t) __builtin_aarch64_reinterpretv8hiv16qi (__a); + return (int16x8_t) __a; } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_s32 (int32x4_t __a) { - return (int16x8_t) __builtin_aarch64_reinterpretv8hiv4si (__a); + return (int16x8_t) __a; } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_s64 (int64x2_t __a) { - return (int16x8_t) __builtin_aarch64_reinterpretv8hiv2di (__a); + return (int16x8_t) __a; } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_f32 (float32x4_t __a) { - return (int16x8_t) __builtin_aarch64_reinterpretv8hiv4sf (__a); + return (int16x8_t) __a; } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_u8 (uint8x16_t __a) { - return (int16x8_t) __builtin_aarch64_reinterpretv8hiv16qi ((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_aarch64_reinterpretv8hiv8hi ((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_aarch64_reinterpretv8hiv4si ((int32x4_t) __a); + return (int16x8_t) __a; } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_u64 (uint64x2_t __a) { - return (int16x8_t) __builtin_aarch64_reinterpretv8hiv2di ((int64x2_t) __a); + return (int16x8_t) __a; } __extension__ static __inline int16x8_t __attribute__ ((__always_inline__)) vreinterpretq_s16_p8 (poly8x16_t __a) { - return (int16x8_t) __builtin_aarch64_reinterpretv8hiv16qi ((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_aarch64_reinterpretv8hiv8hi ((int16x8_t) __a); + return (int16x8_t) __a; } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_s8 (int8x8_t __a) { - return (int32x2_t) __builtin_aarch64_reinterpretv2siv8qi (__a); + return (int32x2_t) __a; } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_s16 (int16x4_t __a) { - return (int32x2_t) __builtin_aarch64_reinterpretv2siv4hi (__a); + return (int32x2_t) __a; } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_s64 (int64x1_t __a) { - return (int32x2_t) __builtin_aarch64_reinterpretv2sidi (__a); + return (int32x2_t) __a; } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_f32 (float32x2_t __a) { - return (int32x2_t) __builtin_aarch64_reinterpretv2siv2sf (__a); + return (int32x2_t) __a; } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_u8 (uint8x8_t __a) { - return (int32x2_t) __builtin_aarch64_reinterpretv2siv8qi ((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_aarch64_reinterpretv2siv4hi ((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_aarch64_reinterpretv2siv2si ((int32x2_t) __a); + return (int32x2_t) __a; } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_u64 (uint64x1_t __a) { - return (int32x2_t) __builtin_aarch64_reinterpretv2sidi ((int64x1_t) __a); + return (int32x2_t) __a; } __extension__ static __inline int32x2_t __attribute__ ((__always_inline__)) vreinterpret_s32_p8 (poly8x8_t __a) { - return (int32x2_t) __builtin_aarch64_reinterpretv2siv8qi ((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_aarch64_reinterpretv2siv4hi ((int16x4_t) __a); + return (int32x2_t) __a; } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_s8 (int8x16_t __a) { - return (int32x4_t) __builtin_aarch64_reinterpretv4siv16qi (__a); + return (int32x4_t) __a; } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_s16 (int16x8_t __a) { - return (int32x4_t) __builtin_aarch64_reinterpretv4siv8hi (__a); + return (int32x4_t) __a; } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_s64 (int64x2_t __a) { - return (int32x4_t) __builtin_aarch64_reinterpretv4siv2di (__a); + return (int32x4_t) __a; } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_f32 (float32x4_t __a) { - return (int32x4_t) __builtin_aarch64_reinterpretv4siv4sf (__a); + return (int32x4_t) __a; } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_u8 (uint8x16_t __a) { - return (int32x4_t) __builtin_aarch64_reinterpretv4siv16qi ((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_aarch64_reinterpretv4siv8hi ((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_aarch64_reinterpretv4siv4si ((int32x4_t) __a); + return (int32x4_t) __a; } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_u64 (uint64x2_t __a) { - return (int32x4_t) __builtin_aarch64_reinterpretv4siv2di ((int64x2_t) __a); + return (int32x4_t) __a; } __extension__ static __inline int32x4_t __attribute__ ((__always_inline__)) vreinterpretq_s32_p8 (poly8x16_t __a) { - return (int32x4_t) __builtin_aarch64_reinterpretv4siv16qi ((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_aarch64_reinterpretv4siv8hi ((int16x8_t) __a); + return (int32x4_t) __a; } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_s8 (int8x8_t __a) { - return (uint8x8_t) __builtin_aarch64_reinterpretv8qiv8qi (__a); + return (uint8x8_t) __a; } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_s16 (int16x4_t __a) { - return (uint8x8_t) __builtin_aarch64_reinterpretv8qiv4hi (__a); + return (uint8x8_t) __a; } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_s32 (int32x2_t __a) { - return (uint8x8_t) __builtin_aarch64_reinterpretv8qiv2si (__a); + return (uint8x8_t) __a; } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_s64 (int64x1_t __a) { - return (uint8x8_t) __builtin_aarch64_reinterpretv8qidi (__a); + return (uint8x8_t) __a; } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_f32 (float32x2_t __a) { - return (uint8x8_t) __builtin_aarch64_reinterpretv8qiv2sf (__a); + return (uint8x8_t) __a; } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_u16 (uint16x4_t __a) { - return (uint8x8_t) __builtin_aarch64_reinterpretv8qiv4hi ((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_aarch64_reinterpretv8qiv2si ((int32x2_t) __a); + return (uint8x8_t) __a; } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_u64 (uint64x1_t __a) { - return (uint8x8_t) __builtin_aarch64_reinterpretv8qidi ((int64x1_t) __a); + return (uint8x8_t) __a; } __extension__ static __inline uint8x8_t __attribute__ ((__always_inline__)) vreinterpret_u8_p8 (poly8x8_t __a) { - return (uint8x8_t) __builtin_aarch64_reinterpretv8qiv8qi ((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_aarch64_reinterpretv8qiv4hi ((int16x4_t) __a); + return (uint8x8_t) __a; } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_s8 (int8x16_t __a) { - return (uint8x16_t) __builtin_aarch64_reinterpretv16qiv16qi (__a); + return (uint8x16_t) __a; } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_s16 (int16x8_t __a) { - return (uint8x16_t) __builtin_aarch64_reinterpretv16qiv8hi (__a); + return (uint8x16_t) __a; } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_s32 (int32x4_t __a) { - return (uint8x16_t) __builtin_aarch64_reinterpretv16qiv4si (__a); + return (uint8x16_t) __a; } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_s64 (int64x2_t __a) { - return (uint8x16_t) __builtin_aarch64_reinterpretv16qiv2di (__a); + return (uint8x16_t) __a; } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_f32 (float32x4_t __a) { - return (uint8x16_t) __builtin_aarch64_reinterpretv16qiv4sf (__a); + return (uint8x16_t) __a; } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_u16 (uint16x8_t __a) { - return (uint8x16_t) __builtin_aarch64_reinterpretv16qiv8hi ((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_aarch64_reinterpretv16qiv4si ((int32x4_t) - __a); + return (uint8x16_t) __a; } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_u64 (uint64x2_t __a) { - return (uint8x16_t) __builtin_aarch64_reinterpretv16qiv2di ((int64x2_t) - __a); + return (uint8x16_t) __a; } __extension__ static __inline uint8x16_t __attribute__ ((__always_inline__)) vreinterpretq_u8_p8 (poly8x16_t __a) { - return (uint8x16_t) __builtin_aarch64_reinterpretv16qiv16qi ((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_aarch64_reinterpretv16qiv8hi ((int16x8_t) - __a); + return (uint8x16_t) __a; } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_s8 (int8x8_t __a) { - return (uint16x4_t) __builtin_aarch64_reinterpretv4hiv8qi (__a); + return (uint16x4_t) __a; } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_s16 (int16x4_t __a) { - return (uint16x4_t) __builtin_aarch64_reinterpretv4hiv4hi (__a); + return (uint16x4_t) __a; } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_s32 (int32x2_t __a) { - return (uint16x4_t) __builtin_aarch64_reinterpretv4hiv2si (__a); + return (uint16x4_t) __a; } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_s64 (int64x1_t __a) { - return (uint16x4_t) __builtin_aarch64_reinterpretv4hidi (__a); + return (uint16x4_t) __a; } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_f32 (float32x2_t __a) { - return (uint16x4_t) __builtin_aarch64_reinterpretv4hiv2sf (__a); + return (uint16x4_t) __a; } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_u8 (uint8x8_t __a) { - return (uint16x4_t) __builtin_aarch64_reinterpretv4hiv8qi ((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_aarch64_reinterpretv4hiv2si ((int32x2_t) __a); + return (uint16x4_t) __a; } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_u64 (uint64x1_t __a) { - return (uint16x4_t) __builtin_aarch64_reinterpretv4hidi ((int64x1_t) __a); + return (uint16x4_t) __a; } __extension__ static __inline uint16x4_t __attribute__ ((__always_inline__)) vreinterpret_u16_p8 (poly8x8_t __a) { - return (uint16x4_t) __builtin_aarch64_reinterpretv4hiv8qi ((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_aarch64_reinterpretv4hiv4hi ((int16x4_t) __a); + return (uint16x4_t) __a; } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_s8 (int8x16_t __a) { - return (uint16x8_t) __builtin_aarch64_reinterpretv8hiv16qi (__a); + return (uint16x8_t) __a; } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_s16 (int16x8_t __a) { - return (uint16x8_t) __builtin_aarch64_reinterpretv8hiv8hi (__a); + return (uint16x8_t) __a; } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_s32 (int32x4_t __a) { - return (uint16x8_t) __builtin_aarch64_reinterpretv8hiv4si (__a); + return (uint16x8_t) __a; } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_s64 (int64x2_t __a) { - return (uint16x8_t) __builtin_aarch64_reinterpretv8hiv2di (__a); + return (uint16x8_t) __a; } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_f32 (float32x4_t __a) { - return (uint16x8_t) __builtin_aarch64_reinterpretv8hiv4sf (__a); + return (uint16x8_t) __a; } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_u8 (uint8x16_t __a) { - return (uint16x8_t) __builtin_aarch64_reinterpretv8hiv16qi ((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_aarch64_reinterpretv8hiv4si ((int32x4_t) __a); + return (uint16x8_t) __a; } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_u64 (uint64x2_t __a) { - return (uint16x8_t) __builtin_aarch64_reinterpretv8hiv2di ((int64x2_t) __a); + return (uint16x8_t) __a; } __extension__ static __inline uint16x8_t __attribute__ ((__always_inline__)) vreinterpretq_u16_p8 (poly8x16_t __a) { - return (uint16x8_t) __builtin_aarch64_reinterpretv8hiv16qi ((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_aarch64_reinterpretv8hiv8hi ((int16x8_t) __a); + return (uint16x8_t) __a; } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_s8 (int8x8_t __a) { - return (uint32x2_t) __builtin_aarch64_reinterpretv2siv8qi (__a); + return (uint32x2_t) __a; } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_s16 (int16x4_t __a) { - return (uint32x2_t) __builtin_aarch64_reinterpretv2siv4hi (__a); + return (uint32x2_t) __a; } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_s32 (int32x2_t __a) { - return (uint32x2_t) __builtin_aarch64_reinterpretv2siv2si (__a); + return (uint32x2_t) __a; } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_s64 (int64x1_t __a) { - return (uint32x2_t) __builtin_aarch64_reinterpretv2sidi (__a); + return (uint32x2_t) __a; } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_f32 (float32x2_t __a) { - return (uint32x2_t) __builtin_aarch64_reinterpretv2siv2sf (__a); + return (uint32x2_t) __a; } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_u8 (uint8x8_t __a) { - return (uint32x2_t) __builtin_aarch64_reinterpretv2siv8qi ((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_aarch64_reinterpretv2siv4hi ((int16x4_t) __a); + return (uint32x2_t) __a; } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_u64 (uint64x1_t __a) { - return (uint32x2_t) __builtin_aarch64_reinterpretv2sidi ((int64x1_t) __a); + return (uint32x2_t) __a; } __extension__ static __inline uint32x2_t __attribute__ ((__always_inline__)) vreinterpret_u32_p8 (poly8x8_t __a) { - return (uint32x2_t) __builtin_aarch64_reinterpretv2siv8qi ((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_aarch64_reinterpretv2siv4hi ((int16x4_t) __a); + return (uint32x2_t) __a; } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_s8 (int8x16_t __a) { - return (uint32x4_t) __builtin_aarch64_reinterpretv4siv16qi (__a); + return (uint32x4_t) __a; } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_s16 (int16x8_t __a) { - return (uint32x4_t) __builtin_aarch64_reinterpretv4siv8hi (__a); + return (uint32x4_t) __a; } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_s32 (int32x4_t __a) { - return (uint32x4_t) __builtin_aarch64_reinterpretv4siv4si (__a); + return (uint32x4_t) __a; } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_s64 (int64x2_t __a) { - return (uint32x4_t) __builtin_aarch64_reinterpretv4siv2di (__a); + return (uint32x4_t) __a; } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_f32 (float32x4_t __a) { - return (uint32x4_t) __builtin_aarch64_reinterpretv4siv4sf (__a); + return (uint32x4_t) __a; } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_u8 (uint8x16_t __a) { - return (uint32x4_t) __builtin_aarch64_reinterpretv4siv16qi ((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_aarch64_reinterpretv4siv8hi ((int16x8_t) __a); + return (uint32x4_t) __a; } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_u64 (uint64x2_t __a) { - return (uint32x4_t) __builtin_aarch64_reinterpretv4siv2di ((int64x2_t) __a); + return (uint32x4_t) __a; } __extension__ static __inline uint32x4_t __attribute__ ((__always_inline__)) vreinterpretq_u32_p8 (poly8x16_t __a) { - return (uint32x4_t) __builtin_aarch64_reinterpretv4siv16qi ((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_aarch64_reinterpretv4siv8hi ((int16x8_t) __a); + return (uint32x4_t) __a; } #define __GET_LOW(__TYPE) \