* [PATCH][ARM] Add movv4hf/v8hf expanders & later insns; disable VnHF immediates.
2016-01-18 12:15 [PATCH][ARM] Remove neon_reinterpret, use casts Alan Lawrence
@ 2016-01-18 12:14 ` Alan Lawrence
2016-01-18 13:13 ` Kyrill Tkachov
2016-02-04 11:04 ` [PATCH][ARM] Remove neon_reinterpret, use casts Ramana Radhakrishnan
1 sibling, 1 reply; 6+ messages in thread
From: Alan Lawrence @ 2016-01-18 12:14 UTC (permalink / raw)
To: gcc-patches; +Cc: kyrylo.tkachov, ramana.radhakrishnan
This fixes ICEs on armeb for float16x[48]_t vectors, e.g. in
check_effective_target_arm_neon_fp_16_ok.
At present, without the expander, moving v4hf/v8hf values around is done
via subregs. On armeb, this ICEs because REG_CANNOT_CHANGE_MODE_P. (On arm-*,
moving via two subregs is less efficient than one native insn!)
However, adding the expanders, reveals a latent bug in the V4HF variant of
*neon_mov, that vector constants are not handled properly in the
neon_valid_immediate code. Hence, for now I've used a separate expander that
disallows immediates, and disabled VnHF vectors as immediates in
neon_valid_immediate_for_move; I'll file a PR for this.
Also to fix the advsimd-intrinsics/vcombine test I had to add HF vector modes to
the VX iterator and V_reg attribute, for vdup_n, as loading a vector of
identical HF elements is now done by loading the scalar + vdup rather than
forcing the vector out to the constant pool.
On armeb, one of the ICEs this fixes, is in the test program for
check_effective_target_arm_neon_fp_16_ok. This means the advsimd-intrinsics
vcvt_f16 test now runs (and passes), and also that the other tests now run
with neon-fp16, rather than only neon as previously (on armeb).
This reveals that the fp16 cases of vld1_lane and vset_lane are (and were)
failing. Since those tests would previously have failed *if fp16 had been
passed in*, I think this is still a step forward; one can still run the tests
with an explicit non-fp16 multilib if the old behaviour is desired.
Note the previous patch removes other uses of VQXMOV (not strictly a dependency,
generating V4HF/V8HF reinterpret patterns is harmless, they just aren't used).
Bootstrapped + check-gcc on arm-none-linux-gnueabihf;
cross-tested armeb-none-eabi.
gcc/ChangeLog:
* config/arm/arm.c (neon_valid_immediate): Disallow vectors of HFmode.
* config/arm/iterators.md (V_HF): New.
(VQXMOV): Add V8HF.
(VX): Add V4HF, V8HF.
(V_reg): Add cases for V4HF, V8HF.
* config/arm/vec-common.md (mov<mode> V_HF): New.
---
gcc/config/arm/arm.c | 2 ++
gcc/config/arm/iterators.md | 8 ++++++--
gcc/config/arm/vec-common.md | 20 ++++++++++++++++++++
3 files changed, 28 insertions(+), 2 deletions(-)
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 3276b03..4fdba38 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -12371,6 +12371,8 @@ neon_valid_immediate (rtx op, machine_mode mode, int inverse,
/* Vectors of float constants. */
if (GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT)
{
+ if (GET_MODE_INNER (mode) == HFmode)
+ return -1;
rtx el0 = CONST_VECTOR_ELT (op, 0);
const REAL_VALUE_TYPE *r0;
diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md
index 974cf51..c5db868 100644
--- a/gcc/config/arm/iterators.md
+++ b/gcc/config/arm/iterators.md
@@ -59,6 +59,9 @@
;; Integer and float modes supported by Neon and IWMMXT.
(define_mode_iterator VALL [V2DI V2SI V4HI V8QI V2SF V4SI V8HI V16QI V4SF])
+;; Vectors of half-precision floats.
+(define_mode_iterator V_HF [V4HF V8HF])
+
;; Integer and float modes supported by Neon and IWMMXT, except V2DI.
(define_mode_iterator VALLW [V2SI V4HI V8QI V2SF V4SI V8HI V16QI V4SF])
@@ -99,7 +102,7 @@
(define_mode_iterator VQI [V16QI V8HI V4SI])
;; Quad-width vector modes, with TImode added, for moves.
-(define_mode_iterator VQXMOV [V16QI V8HI V4SI V4SF V2DI TI])
+(define_mode_iterator VQXMOV [V16QI V8HI V8HF V4SI V4SF V2DI TI])
;; Opaque structure types wider than TImode.
(define_mode_iterator VSTRUCT [EI OI CI XI])
@@ -160,7 +163,7 @@
(define_mode_iterator VMDQI [V4HI V2SI V8HI V4SI])
;; Modes with 8-bit and 16-bit elements.
-(define_mode_iterator VX [V8QI V4HI V16QI V8HI])
+(define_mode_iterator VX [V8QI V4HI V4HF V16QI V8HI V8HF])
;; Modes with 8-bit elements.
(define_mode_iterator VE [V8QI V16QI])
@@ -428,6 +431,7 @@
;; Register width from element mode
(define_mode_attr V_reg [(V8QI "P") (V16QI "q")
(V4HI "P") (V8HI "q")
+ (V4HF "P") (V8HF "q")
(V2SI "P") (V4SI "q")
(V2SF "P") (V4SF "q")
(DI "P") (V2DI "q")
diff --git a/gcc/config/arm/vec-common.md b/gcc/config/arm/vec-common.md
index ce98f71..c27578a 100644
--- a/gcc/config/arm/vec-common.md
+++ b/gcc/config/arm/vec-common.md
@@ -38,6 +38,26 @@
}
})
+;; This exists separately from the above pattern to exclude an immediate RHS.
+
+(define_expand "mov<mode>"
+ [(set (match_operand:V_HF 0 "nonimmediate_operand" "")
+ (match_operand:V_HF 1 "nonimmediate_operand" ""))]
+ "TARGET_NEON
+ || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (<MODE>mode))"
+{
+ if (can_create_pseudo_p ())
+ {
+ if (!REG_P (operands[0]))
+ operands[1] = force_reg (<MODE>mode, operands[1]);
+ else if (TARGET_NEON && CONSTANT_P (operands[1]))
+ {
+ operands[1] = neon_make_constant (operands[1]);
+ gcc_assert (operands[1] != NULL_RTX);
+ }
+ }
+})
+
;; Vector arithmetic. Expanders are blank, then unnamed insns implement
;; patterns separately for IWMMXT and Neon.
--
1.9.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH][ARM] Remove neon_reinterpret, use casts
@ 2016-01-18 12:15 Alan Lawrence
2016-01-18 12:14 ` [PATCH][ARM] Add movv4hf/v8hf expanders & later insns; disable VnHF immediates Alan Lawrence
2016-02-04 11:04 ` [PATCH][ARM] Remove neon_reinterpret, use casts Ramana Radhakrishnan
0 siblings, 2 replies; 6+ messages in thread
From: Alan Lawrence @ 2016-01-18 12:15 UTC (permalink / raw)
To: gcc-patches; +Cc: kyrylo.tkachov, ramana.radhakrishnan
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?
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH][ARM] Add movv4hf/v8hf expanders & later insns; disable VnHF immediates.
2016-01-18 12:14 ` [PATCH][ARM] Add movv4hf/v8hf expanders & later insns; disable VnHF immediates Alan Lawrence
@ 2016-01-18 13:13 ` Kyrill Tkachov
2016-01-18 14:51 ` Christophe Lyon
0 siblings, 1 reply; 6+ messages in thread
From: Kyrill Tkachov @ 2016-01-18 13:13 UTC (permalink / raw)
To: Alan Lawrence, gcc-patches; +Cc: ramana.radhakrishnan
Hi Alan,
On 18/01/16 12:14, Alan Lawrence wrote:
> This fixes ICEs on armeb for float16x[48]_t vectors, e.g. in
> check_effective_target_arm_neon_fp_16_ok.
>
> At present, without the expander, moving v4hf/v8hf values around is done
> via subregs. On armeb, this ICEs because REG_CANNOT_CHANGE_MODE_P. (On arm-*,
> moving via two subregs is less efficient than one native insn!)
>
> However, adding the expanders, reveals a latent bug in the V4HF variant of
> *neon_mov, that vector constants are not handled properly in the
> neon_valid_immediate code. Hence, for now I've used a separate expander that
> disallows immediates, and disabled VnHF vectors as immediates in
> neon_valid_immediate_for_move; I'll file a PR for this.
>
> Also to fix the advsimd-intrinsics/vcombine test I had to add HF vector modes to
> the VX iterator and V_reg attribute, for vdup_n, as loading a vector of
> identical HF elements is now done by loading the scalar + vdup rather than
> forcing the vector out to the constant pool.
>
> On armeb, one of the ICEs this fixes, is in the test program for
> check_effective_target_arm_neon_fp_16_ok. This means the advsimd-intrinsics
> vcvt_f16 test now runs (and passes), and also that the other tests now run
> with neon-fp16, rather than only neon as previously (on armeb).
> This reveals that the fp16 cases of vld1_lane and vset_lane are (and were)
> failing. Since those tests would previously have failed *if fp16 had been
> passed in*, I think this is still a step forward; one can still run the tests
> with an explicit non-fp16 multilib if the old behaviour is desired.
>
> Note the previous patch removes other uses of VQXMOV (not strictly a dependency,
> generating V4HF/V8HF reinterpret patterns is harmless, they just aren't used).
>
> Bootstrapped + check-gcc on arm-none-linux-gnueabihf;
> cross-tested armeb-none-eabi.
Seems that you and Christophe have some duplicated work here?
https://gcc.gnu.org/ml/gcc-patches/2016-01/msg01031.html
Kyrill
> gcc/ChangeLog:
>
> * config/arm/arm.c (neon_valid_immediate): Disallow vectors of HFmode.
> * config/arm/iterators.md (V_HF): New.
> (VQXMOV): Add V8HF.
> (VX): Add V4HF, V8HF.
> (V_reg): Add cases for V4HF, V8HF.
> * config/arm/vec-common.md (mov<mode> V_HF): New.
> ---
> gcc/config/arm/arm.c | 2 ++
> gcc/config/arm/iterators.md | 8 ++++++--
> gcc/config/arm/vec-common.md | 20 ++++++++++++++++++++
> 3 files changed, 28 insertions(+), 2 deletions(-)
>
> diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
> index 3276b03..4fdba38 100644
> --- a/gcc/config/arm/arm.c
> +++ b/gcc/config/arm/arm.c
> @@ -12371,6 +12371,8 @@ neon_valid_immediate (rtx op, machine_mode mode, int inverse,
> /* Vectors of float constants. */
> if (GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT)
> {
> + if (GET_MODE_INNER (mode) == HFmode)
> + return -1;
> rtx el0 = CONST_VECTOR_ELT (op, 0);
> const REAL_VALUE_TYPE *r0;
>
> diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md
> index 974cf51..c5db868 100644
> --- a/gcc/config/arm/iterators.md
> +++ b/gcc/config/arm/iterators.md
> @@ -59,6 +59,9 @@
> ;; Integer and float modes supported by Neon and IWMMXT.
> (define_mode_iterator VALL [V2DI V2SI V4HI V8QI V2SF V4SI V8HI V16QI V4SF])
>
> +;; Vectors of half-precision floats.
> +(define_mode_iterator V_HF [V4HF V8HF])
> +
> ;; Integer and float modes supported by Neon and IWMMXT, except V2DI.
> (define_mode_iterator VALLW [V2SI V4HI V8QI V2SF V4SI V8HI V16QI V4SF])
>
> @@ -99,7 +102,7 @@
> (define_mode_iterator VQI [V16QI V8HI V4SI])
>
> ;; Quad-width vector modes, with TImode added, for moves.
> -(define_mode_iterator VQXMOV [V16QI V8HI V4SI V4SF V2DI TI])
> +(define_mode_iterator VQXMOV [V16QI V8HI V8HF V4SI V4SF V2DI TI])
>
> ;; Opaque structure types wider than TImode.
> (define_mode_iterator VSTRUCT [EI OI CI XI])
> @@ -160,7 +163,7 @@
> (define_mode_iterator VMDQI [V4HI V2SI V8HI V4SI])
>
> ;; Modes with 8-bit and 16-bit elements.
> -(define_mode_iterator VX [V8QI V4HI V16QI V8HI])
> +(define_mode_iterator VX [V8QI V4HI V4HF V16QI V8HI V8HF])
>
> ;; Modes with 8-bit elements.
> (define_mode_iterator VE [V8QI V16QI])
> @@ -428,6 +431,7 @@
> ;; Register width from element mode
> (define_mode_attr V_reg [(V8QI "P") (V16QI "q")
> (V4HI "P") (V8HI "q")
> + (V4HF "P") (V8HF "q")
> (V2SI "P") (V4SI "q")
> (V2SF "P") (V4SF "q")
> (DI "P") (V2DI "q")
> diff --git a/gcc/config/arm/vec-common.md b/gcc/config/arm/vec-common.md
> index ce98f71..c27578a 100644
> --- a/gcc/config/arm/vec-common.md
> +++ b/gcc/config/arm/vec-common.md
> @@ -38,6 +38,26 @@
> }
> })
>
> +;; This exists separately from the above pattern to exclude an immediate RHS.
> +
> +(define_expand "mov<mode>"
> + [(set (match_operand:V_HF 0 "nonimmediate_operand" "")
> + (match_operand:V_HF 1 "nonimmediate_operand" ""))]
> + "TARGET_NEON
> + || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (<MODE>mode))"
> +{
> + if (can_create_pseudo_p ())
> + {
> + if (!REG_P (operands[0]))
> + operands[1] = force_reg (<MODE>mode, operands[1]);
> + else if (TARGET_NEON && CONSTANT_P (operands[1]))
> + {
> + operands[1] = neon_make_constant (operands[1]);
> + gcc_assert (operands[1] != NULL_RTX);
> + }
> + }
> +})
> +
> ;; Vector arithmetic. Expanders are blank, then unnamed insns implement
> ;; patterns separately for IWMMXT and Neon.
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH][ARM] Add movv4hf/v8hf expanders & later insns; disable VnHF immediates.
2016-01-18 13:13 ` Kyrill Tkachov
@ 2016-01-18 14:51 ` Christophe Lyon
0 siblings, 0 replies; 6+ messages in thread
From: Christophe Lyon @ 2016-01-18 14:51 UTC (permalink / raw)
To: Kyrill Tkachov; +Cc: Alan Lawrence, gcc-patches, Ramana Radhakrishnan
On 18 January 2016 at 14:12, Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> wrote:
> Hi Alan,
>
>
> On 18/01/16 12:14, Alan Lawrence wrote:
>>
>> This fixes ICEs on armeb for float16x[48]_t vectors, e.g. in
>> check_effective_target_arm_neon_fp_16_ok.
>>
>> At present, without the expander, moving v4hf/v8hf values around is done
>> via subregs. On armeb, this ICEs because REG_CANNOT_CHANGE_MODE_P. (On
>> arm-*,
>> moving via two subregs is less efficient than one native insn!)
>>
>> However, adding the expanders, reveals a latent bug in the V4HF variant of
>> *neon_mov, that vector constants are not handled properly in the
>> neon_valid_immediate code. Hence, for now I've used a separate expander
>> that
>> disallows immediates, and disabled VnHF vectors as immediates in
>> neon_valid_immediate_for_move; I'll file a PR for this.
>>
>> Also to fix the advsimd-intrinsics/vcombine test I had to add HF vector
>> modes to
>> the VX iterator and V_reg attribute, for vdup_n, as loading a vector of
>> identical HF elements is now done by loading the scalar + vdup rather than
>> forcing the vector out to the constant pool.
>>
>> On armeb, one of the ICEs this fixes, is in the test program for
>> check_effective_target_arm_neon_fp_16_ok. This means the
>> advsimd-intrinsics
>> vcvt_f16 test now runs (and passes), and also that the other tests now run
>> with neon-fp16, rather than only neon as previously (on armeb).
>> This reveals that the fp16 cases of vld1_lane and vset_lane are (and were)
>> failing. Since those tests would previously have failed *if fp16 had been
>> passed in*, I think this is still a step forward; one can still run the
>> tests
>> with an explicit non-fp16 multilib if the old behaviour is desired.
>>
>> Note the previous patch removes other uses of VQXMOV (not strictly a
>> dependency,
>> generating V4HF/V8HF reinterpret patterns is harmless, they just aren't
>> used).
>>
>> Bootstrapped + check-gcc on arm-none-linux-gnueabihf;
>> cross-tested armeb-none-eabi.
>
>
> Seems that you and Christophe have some duplicated work here?
> https://gcc.gnu.org/ml/gcc-patches/2016-01/msg01031.html
>
Indeed, that's unfortunate :-(
I had filed PR 68620 to avoid duplication.
Both patches look similar, fortunately.
Christophe.
> Kyrill
>
>
>> gcc/ChangeLog:
>>
>> * config/arm/arm.c (neon_valid_immediate): Disallow vectors of
>> HFmode.
>> * config/arm/iterators.md (V_HF): New.
>> (VQXMOV): Add V8HF.
>> (VX): Add V4HF, V8HF.
>> (V_reg): Add cases for V4HF, V8HF.
>> * config/arm/vec-common.md (mov<mode> V_HF): New.
>> ---
>> gcc/config/arm/arm.c | 2 ++
>> gcc/config/arm/iterators.md | 8 ++++++--
>> gcc/config/arm/vec-common.md | 20 ++++++++++++++++++++
>> 3 files changed, 28 insertions(+), 2 deletions(-)
>>
>> diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
>> index 3276b03..4fdba38 100644
>> --- a/gcc/config/arm/arm.c
>> +++ b/gcc/config/arm/arm.c
>> @@ -12371,6 +12371,8 @@ neon_valid_immediate (rtx op, machine_mode mode,
>> int inverse,
>> /* Vectors of float constants. */
>> if (GET_MODE_CLASS (mode) == MODE_VECTOR_FLOAT)
>> {
>> + if (GET_MODE_INNER (mode) == HFmode)
>> + return -1;
>> rtx el0 = CONST_VECTOR_ELT (op, 0);
>> const REAL_VALUE_TYPE *r0;
>> diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md
>> index 974cf51..c5db868 100644
>> --- a/gcc/config/arm/iterators.md
>> +++ b/gcc/config/arm/iterators.md
>> @@ -59,6 +59,9 @@
>> ;; Integer and float modes supported by Neon and IWMMXT.
>> (define_mode_iterator VALL [V2DI V2SI V4HI V8QI V2SF V4SI V8HI V16QI
>> V4SF])
>> +;; Vectors of half-precision floats.
>> +(define_mode_iterator V_HF [V4HF V8HF])
>> +
>> ;; Integer and float modes supported by Neon and IWMMXT, except V2DI.
>> (define_mode_iterator VALLW [V2SI V4HI V8QI V2SF V4SI V8HI V16QI V4SF])
>> @@ -99,7 +102,7 @@
>> (define_mode_iterator VQI [V16QI V8HI V4SI])
>> ;; Quad-width vector modes, with TImode added, for moves.
>> -(define_mode_iterator VQXMOV [V16QI V8HI V4SI V4SF V2DI TI])
>> +(define_mode_iterator VQXMOV [V16QI V8HI V8HF V4SI V4SF V2DI TI])
>> ;; Opaque structure types wider than TImode.
>> (define_mode_iterator VSTRUCT [EI OI CI XI])
>> @@ -160,7 +163,7 @@
>> (define_mode_iterator VMDQI [V4HI V2SI V8HI V4SI])
>> ;; Modes with 8-bit and 16-bit elements.
>> -(define_mode_iterator VX [V8QI V4HI V16QI V8HI])
>> +(define_mode_iterator VX [V8QI V4HI V4HF V16QI V8HI V8HF])
>> ;; Modes with 8-bit elements.
>> (define_mode_iterator VE [V8QI V16QI])
>> @@ -428,6 +431,7 @@
>> ;; Register width from element mode
>> (define_mode_attr V_reg [(V8QI "P") (V16QI "q")
>> (V4HI "P") (V8HI "q")
>> + (V4HF "P") (V8HF "q")
>> (V2SI "P") (V4SI "q")
>> (V2SF "P") (V4SF "q")
>> (DI "P") (V2DI "q")
>> diff --git a/gcc/config/arm/vec-common.md b/gcc/config/arm/vec-common.md
>> index ce98f71..c27578a 100644
>> --- a/gcc/config/arm/vec-common.md
>> +++ b/gcc/config/arm/vec-common.md
>> @@ -38,6 +38,26 @@
>> }
>> })
>> +;; This exists separately from the above pattern to exclude an
>> immediate RHS.
>> +
>> +(define_expand "mov<mode>"
>> + [(set (match_operand:V_HF 0 "nonimmediate_operand" "")
>> + (match_operand:V_HF 1 "nonimmediate_operand" ""))]
>> + "TARGET_NEON
>> + || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (<MODE>mode))"
>> +{
>> + if (can_create_pseudo_p ())
>> + {
>> + if (!REG_P (operands[0]))
>> + operands[1] = force_reg (<MODE>mode, operands[1]);
>> + else if (TARGET_NEON && CONSTANT_P (operands[1]))
>> + {
>> + operands[1] = neon_make_constant (operands[1]);
>> + gcc_assert (operands[1] != NULL_RTX);
>> + }
>> + }
>> +})
>> +
>> ;; Vector arithmetic. Expanders are blank, then unnamed insns implement
>> ;; patterns separately for IWMMXT and Neon.
>>
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH][ARM] Remove neon_reinterpret, use casts
2016-01-18 12:15 [PATCH][ARM] Remove neon_reinterpret, use casts Alan Lawrence
2016-01-18 12:14 ` [PATCH][ARM] Add movv4hf/v8hf expanders & later insns; disable VnHF immediates Alan Lawrence
@ 2016-02-04 11:04 ` Ramana Radhakrishnan
2016-02-04 11:20 ` Ramana Radhakrishnan
1 sibling, 1 reply; 6+ messages in thread
From: Ramana Radhakrishnan @ 2016-02-04 11:04 UTC (permalink / raw)
To: Alan Lawrence; +Cc: gcc-patches, Kyrylo Tkachov, Ramana Radhakrishnan
On Mon, Jan 18, 2016 at 12:14 PM, Alan Lawrence <alan.lawrence@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 ;)
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
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH][ARM] Remove neon_reinterpret, use casts
2016-02-04 11:04 ` [PATCH][ARM] Remove neon_reinterpret, use casts Ramana Radhakrishnan
@ 2016-02-04 11:20 ` Ramana Radhakrishnan
0 siblings, 0 replies; 6+ messages in thread
From: Ramana Radhakrishnan @ 2016-02-04 11:20 UTC (permalink / raw)
To: Ramana Radhakrishnan, Alan Lawrence; +Cc: gcc-patches, Kyrylo Tkachov
On 04/02/16 11:04, Ramana Radhakrishnan wrote:
> On Mon, Jan 18, 2016 at 12:14 PM, Alan Lawrence <alan.lawrence@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
>>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-02-04 11:20 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-18 12:15 [PATCH][ARM] Remove neon_reinterpret, use casts Alan Lawrence
2016-01-18 12:14 ` [PATCH][ARM] Add movv4hf/v8hf expanders & later insns; disable VnHF immediates Alan Lawrence
2016-01-18 13:13 ` Kyrill Tkachov
2016-01-18 14:51 ` Christophe Lyon
2016-02-04 11:04 ` [PATCH][ARM] Remove neon_reinterpret, use casts Ramana Radhakrishnan
2016-02-04 11:20 ` Ramana Radhakrishnan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).