Message ID | Ys7Lp1FNxiHyM6m7@e124511.cambridge.arm.com |
---|---|
State | New |
Headers | show |
Series | [v2,1/4] aarch64: Add V1DI mode | expand |
Andrew Carlotti <andrew.carlotti@arm.com> writes: > This removes a significant number of intrinsic definitions from the arm_neon.h > header file, and reduces the amount of code duplication. The new macros and > data structures are intended to also facilitate moving other intrinsic > definitions out of the header file in future. > > There is a a slight change in the behaviour of the bf16 vreinterpret intrinsics > when compiling without bf16 support. Expressions like: > > b = vreinterpretq_s32_bf16(vreinterpretq_bf16_s64(a)) > > are now compiled successfully, instead of causing a 'target specific option > mismatch' during inlining. > > gcc/ChangeLog: > > * config/aarch64/aarch64-builtins.cc > (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8) > (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16) > (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64) > (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8) > (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16) > (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64) > (MODE_q_p128): Define macro to map to corresponding mode name. > (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16) > (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64) > (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to > corresponding qualifier name. > (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix. > (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro > functions for the above mappings > (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS) > (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1) > (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN) > (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions > for all vreinterpret intrinsics > (enum aarch64_builtins): Add vreinterpret function codes > (aarch64_init_simd_intrinsics): New > (handle_arm_neon_h): Improved comment. > (aarch64_general_fold_builtin): Fold vreinterpret calls > * config/aarch64/arm_neon.h > (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8) > (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64) > (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16) > (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16) > (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8) > (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64) > (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8) > (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64) > (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128) > (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8) > (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64) > (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16) > (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8) > (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8) > (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64) > (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8) > (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64) > (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128) > (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8) > (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64) > (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16) > (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8) > (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8) > (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64) > (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128) > (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16) > (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8) > (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16) > (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, vreinterpret_f16_f64, vreinterpret_f16_s8) > (vreinterpret_f16_s16): (vreinterpret_f16_s32): (vreinterpret_f16_s64): > (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16) > (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8) > (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64) > (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32) > (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8) > (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64) > (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16) > (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64) > (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32) > (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16) > (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8) > (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16) > (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16) > (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8) > (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64) > (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64) > (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32) > (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64) > (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32) > (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16) > (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16) > (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16) > (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16) > (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8) > (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64) > (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8) > (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32) > (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32) > (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16) > (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8) > (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16) > (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16) > (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8) > (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128) > (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8) > (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64) > (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16) > (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16) > (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8) > (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64) > (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8) > (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8) > (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128) > (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16) > (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32) > (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32) > (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16) > (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16) > (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16) > (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16) > (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8) > (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128) > (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8) > (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32) > (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32) > (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16) > (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8) > (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16) > (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16) > (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8) > (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128) > (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8) > (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32) > (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32) > (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16) > (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8) > (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16) > (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16) > (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8) > (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128) > (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8) > (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64) > (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32) > (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16) > (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8) > (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64) > (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16) > (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8) > (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128) > (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8) > (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64) > (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32) > (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16) > (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8) > (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64) > (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8) > (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8) > (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128) > (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8) > (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64) > (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16) > (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16) > (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8) > (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64) > (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8) > (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8) > (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128) > (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8) > (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64) > (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32) > (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16) > (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32) > (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16) > (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8) > (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64) > (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64) > (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16) > (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16) > (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16) > (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16) > (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16) > (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16) > (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16) > (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16) > (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16) > (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16) > (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16) > (vreinterpretq_p128_bf16): Delete Sorry that you had to write this. > […] > @@ -1148,6 +1332,44 @@ aarch64_init_fcmla_laneq_builtins (void) > } > } > > +void > +aarch64_init_simd_intrinsics (void) > +{ > + unsigned int i = 0; > + > + for (i = 0; i < ARRAY_SIZE (aarch64_simd_intrinsic_data); ++i) > + { > + auto d = &aarch64_simd_intrinsic_data[i]; Very minor, but it's now OK to use: for (auto d : aarch64_simd_intrinsic_data) if you prefer. (This style isn't widely used in GCC yet because the base language was changed to C++11 only “recently”.) > + > + if (d->skip) > + continue; > + > + tree return_type = void_type_node; > + tree args = void_list_node; > + > + for (int op_num = d->op_count - 1; op_num >= 0; op_num--) > + { > + machine_mode op_mode = d->op_modes[op_num]; > + enum aarch64_type_qualifiers qualifiers = d->qualifiers[op_num]; > + > + tree eltype = aarch64_build_simd_builtin_type (op_mode, qualifiers); > + > + if (op_num == 0) > + return_type = eltype; > + else > + args = tree_cons (NULL_TREE, eltype, args); > + } > + > + tree ftype = build_function_type (return_type, args); > + tree attrs = aarch64_get_attributes (FLAG_AUTO_FP, d->op_modes[0]); Looks like FLAG_AUTO_FP should be d->flags instead. OK for trunk with that change and with whatever changes are needed for the final version of patch 3/4. Thanks, Richard > + unsigned int code > + = (d->fcode << AARCH64_BUILTIN_SHIFT | AARCH64_BUILTIN_GENERAL); > + tree fndecl = simulate_builtin_function_decl (input_location, d->name, > + ftype, code, NULL, attrs); > + aarch64_builtin_decls[d->fcode] = fndecl; > + } > +} > + > void > aarch64_init_simd_builtin_functions (bool called_from_pragma) > { > @@ -1347,7 +1569,10 @@ aarch64_simd_switcher::~aarch64_simd_switcher () > aarch64_isa_flags = m_old_isa_flags; > } > > -/* Implement #pragma GCC aarch64 "arm_neon.h". */ > +/* Implement #pragma GCC aarch64 "arm_neon.h". > + > + The types and functions defined here need to be available internally > + during LTO as well. */ > void > handle_arm_neon_h (void) > { > @@ -1360,6 +1585,7 @@ handle_arm_neon_h (void) > register_tuple_type (count, i); > > aarch64_init_simd_builtin_functions (true); > + aarch64_init_simd_intrinsics (); > } > > void > @@ -2710,6 +2936,11 @@ aarch64_fold_builtin_lane_check (tree arg0, tree arg1, tree arg2) > #define VAR1(T, N, MAP, FLAG, A) \ > case AARCH64_SIMD_BUILTIN_##T##_##N##A: > > +#undef VREINTERPRET_BUILTIN > +#define VREINTERPRET_BUILTIN(A, B, L) \ > + case AARCH64_SIMD_BUILTIN_VREINTERPRET##L##_##A##_##B: > + > + > /* Try to fold a call to the built-in function with subcode FCODE. The > function is passed the N_ARGS arguments in ARGS and it returns a value > of type TYPE. Return the new expression on success and NULL_TREE on > @@ -2726,6 +2957,8 @@ aarch64_general_fold_builtin (unsigned int fcode, tree type, > VAR1 (UNOP, floatv4si, 2, ALL, v4sf) > VAR1 (UNOP, floatv2di, 2, ALL, v2df) > return fold_build1 (FLOAT_EXPR, type, args[0]); > + AARCH64_SIMD_VREINTERPRET_BUILTINS > + return fold_build1 (VIEW_CONVERT_EXPR, type, args[0]); > case AARCH64_SIMD_BUILTIN_LANE_CHECK: > gcc_assert (n_args == 3); > if (aarch64_fold_builtin_lane_check (args[0], args[1], args[2])) > diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h > index 85d03c58d2a98c1b8b84f007a82bb976601b424e..cf6af728ca99dae1cb6ab647466cfec32f7e913e 100644 > --- a/gcc/config/aarch64/arm_neon.h > +++ b/gcc/config/aarch64/arm_neon.h > @@ -2827,2753 +2827,6 @@ vgetq_lane_u64 (uint64x2_t __a, const int __b) > return __aarch64_vget_lane_any (__a, __b); > } > > -/* vreinterpret */ > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_f16 (float16x4_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_f64 (float64x1_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_s8 (int8x8_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_s16 (int16x4_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_s32 (int32x2_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_s64 (int64x1_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_f32 (float32x2_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_u8 (uint8x8_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_u16 (uint16x4_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_u32 (uint32x2_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_u64 (uint64x1_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_p16 (poly16x4_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_p64 (poly64x1_t __a) > -{ > - return (poly8x8_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_f64 (float64x2_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_s8 (int8x16_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_s16 (int16x8_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_s32 (int32x4_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_s64 (int64x2_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_f16 (float16x8_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_f32 (float32x4_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_u8 (uint8x16_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_u16 (uint16x8_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_u32 (uint32x4_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_u64 (uint64x2_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_p16 (poly16x8_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_p64 (poly64x2_t __a) > -{ > - return (poly8x16_t) __a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_p128 (poly128_t __a) > -{ > - return (poly8x16_t)__a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_f16 (float16x4_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_f64 (float64x1_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_s8 (int8x8_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_s16 (int16x4_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_s32 (int32x2_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_s64 (int64x1_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_f32 (float32x2_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_u8 (uint8x8_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_u16 (uint16x4_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_u32 (uint32x2_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_u64 (uint64x1_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_p8 (poly8x8_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_p64 (poly64x1_t __a) > -{ > - return (poly16x4_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_f64 (float64x2_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_s8 (int8x16_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_s16 (int16x8_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_s32 (int32x4_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_s64 (int64x2_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_f16 (float16x8_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_f32 (float32x4_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_u8 (uint8x16_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_u16 (uint16x8_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_u32 (uint32x4_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_u64 (uint64x2_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_p8 (poly8x16_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_p64 (poly64x2_t __a) > -{ > - return (poly16x8_t) __a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_p128 (poly128_t __a) > -{ > - return (poly16x8_t)__a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_f16 (float16x4_t __a) > -{ > - return (poly64x1_t) __a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_f64 (float64x1_t __a) > -{ > - return (poly64x1_t) __a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_s8 (int8x8_t __a) > -{ > - return (poly64x1_t) __a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_s16 (int16x4_t __a) > -{ > - return (poly64x1_t) __a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_s32 (int32x2_t __a) > -{ > - return (poly64x1_t) __a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_s64 (int64x1_t __a) > -{ > - return (poly64x1_t) __a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_f32 (float32x2_t __a) > -{ > - return (poly64x1_t) __a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_u8 (uint8x8_t __a) > -{ > - return (poly64x1_t) __a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_u16 (uint16x4_t __a) > -{ > - return (poly64x1_t) __a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_u32 (uint32x2_t __a) > -{ > - return (poly64x1_t) __a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_u64 (uint64x1_t __a) > -{ > - return (poly64x1_t) __a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_p8 (poly8x8_t __a) > -{ > - return (poly64x1_t) __a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_p16 (poly16x4_t __a) > -{ > - return (poly64x1_t)__a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_f64 (float64x2_t __a) > -{ > - return (poly64x2_t) __a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_s8 (int8x16_t __a) > -{ > - return (poly64x2_t) __a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_s16 (int16x8_t __a) > -{ > - return (poly64x2_t) __a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_s32 (int32x4_t __a) > -{ > - return (poly64x2_t) __a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_s64 (int64x2_t __a) > -{ > - return (poly64x2_t) __a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_f16 (float16x8_t __a) > -{ > - return (poly64x2_t) __a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_f32 (float32x4_t __a) > -{ > - return (poly64x2_t) __a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_p128 (poly128_t __a) > -{ > - return (poly64x2_t)__a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_u8 (uint8x16_t __a) > -{ > - return (poly64x2_t) __a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_u16 (uint16x8_t __a) > -{ > - return (poly64x2_t) __a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_p16 (poly16x8_t __a) > -{ > - return (poly64x2_t)__a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_u32 (uint32x4_t __a) > -{ > - return (poly64x2_t) __a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_u64 (uint64x2_t __a) > -{ > - return (poly64x2_t) __a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_p8 (poly8x16_t __a) > -{ > - return (poly64x2_t) __a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_p8 (poly8x16_t __a) > -{ > - return (poly128_t)__a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_p16 (poly16x8_t __a) > -{ > - return (poly128_t)__a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_f16 (float16x8_t __a) > -{ > - return (poly128_t) __a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_f32 (float32x4_t __a) > -{ > - return (poly128_t)__a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_p64 (poly64x2_t __a) > -{ > - return (poly128_t)__a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_s64 (int64x2_t __a) > -{ > - return (poly128_t)__a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_u64 (uint64x2_t __a) > -{ > - return (poly128_t)__a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_s8 (int8x16_t __a) > -{ > - return (poly128_t)__a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_s16 (int16x8_t __a) > -{ > - return (poly128_t)__a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_s32 (int32x4_t __a) > -{ > - return (poly128_t)__a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_u8 (uint8x16_t __a) > -{ > - return (poly128_t)__a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_u16 (uint16x8_t __a) > -{ > - return (poly128_t)__a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_u32 (uint32x4_t __a) > -{ > - return (poly128_t)__a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_f64 (float64x1_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_s8 (int8x8_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_s16 (int16x4_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_s32 (int32x2_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_s64 (int64x1_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_f32 (float32x2_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_u8 (uint8x8_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_u16 (uint16x4_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_u32 (uint32x2_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_u64 (uint64x1_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_p8 (poly8x8_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_p16 (poly16x4_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_p64 (poly64x1_t __a) > -{ > - return (float16x4_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_f64 (float64x2_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_s8 (int8x16_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_s16 (int16x8_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_s32 (int32x4_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_s64 (int64x2_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_f32 (float32x4_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_u8 (uint8x16_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_u16 (uint16x8_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_u32 (uint32x4_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_u64 (uint64x2_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_p8 (poly8x16_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_p128 (poly128_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_p16 (poly16x8_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_p64 (poly64x2_t __a) > -{ > - return (float16x8_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_f16 (float16x4_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_f64 (float64x1_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_s8 (int8x8_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_s16 (int16x4_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_s32 (int32x2_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_s64 (int64x1_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_u8 (uint8x8_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_u16 (uint16x4_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_u32 (uint32x2_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_u64 (uint64x1_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_p8 (poly8x8_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_p16 (poly16x4_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_p64 (poly64x1_t __a) > -{ > - return (float32x2_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_f16 (float16x8_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_f64 (float64x2_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_s8 (int8x16_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_s16 (int16x8_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_s32 (int32x4_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_s64 (int64x2_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_u8 (uint8x16_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_u16 (uint16x8_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_u32 (uint32x4_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_u64 (uint64x2_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_p8 (poly8x16_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_p16 (poly16x8_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_p64 (poly64x2_t __a) > -{ > - return (float32x4_t) __a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_p128 (poly128_t __a) > -{ > - return (float32x4_t)__a; > -} > - > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_f16 (float16x4_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_f32 (float32x2_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_p8 (poly8x8_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_p16 (poly16x4_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_p64 (poly64x1_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_s8 (int8x8_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_s16 (int16x4_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_s32 (int32x2_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_s64 (int64x1_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_u8 (uint8x8_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_u16 (uint16x4_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_u32 (uint32x2_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_u64 (uint64x1_t __a) > -{ > - return (float64x1_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_f16 (float16x8_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_f32 (float32x4_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_p8 (poly8x16_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_p16 (poly16x8_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_p64 (poly64x2_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_s8 (int8x16_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_s16 (int16x8_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_s32 (int32x4_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_s64 (int64x2_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_u8 (uint8x16_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_u16 (uint16x8_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_u32 (uint32x4_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_u64 (uint64x2_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_f16 (float16x4_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_f64 (float64x1_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_s8 (int8x8_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_s16 (int16x4_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_s32 (int32x2_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_f32 (float32x2_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_u8 (uint8x8_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_u16 (uint16x4_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_u32 (uint32x2_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_u64 (uint64x1_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_p8 (poly8x8_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_p16 (poly16x4_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_p64 (poly64x1_t __a) > -{ > - return (int64x1_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_f64 (float64x2_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_s8 (int8x16_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_s16 (int16x8_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_s32 (int32x4_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_f16 (float16x8_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_f32 (float32x4_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_u8 (uint8x16_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_u16 (uint16x8_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_u32 (uint32x4_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_u64 (uint64x2_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_p8 (poly8x16_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_p16 (poly16x8_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_p64 (poly64x2_t __a) > -{ > - return (int64x2_t) __a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_p128 (poly128_t __a) > -{ > - return (int64x2_t)__a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_f16 (float16x4_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_f64 (float64x1_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_s8 (int8x8_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_s16 (int16x4_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_s32 (int32x2_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_s64 (int64x1_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_f32 (float32x2_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_u8 (uint8x8_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_u16 (uint16x4_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_u32 (uint32x2_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_p8 (poly8x8_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_p16 (poly16x4_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_p64 (poly64x1_t __a) > -{ > - return (uint64x1_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_f64 (float64x2_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_s8 (int8x16_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_s16 (int16x8_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_s32 (int32x4_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_s64 (int64x2_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_f16 (float16x8_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_f32 (float32x4_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_u8 (uint8x16_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_u16 (uint16x8_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_u32 (uint32x4_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_p8 (poly8x16_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_p16 (poly16x8_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_p64 (poly64x2_t __a) > -{ > - return (uint64x2_t) __a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_p128 (poly128_t __a) > -{ > - return (uint64x2_t)__a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_f16 (float16x4_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_f64 (float64x1_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_s16 (int16x4_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_s32 (int32x2_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_s64 (int64x1_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_f32 (float32x2_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_u8 (uint8x8_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_u16 (uint16x4_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_u32 (uint32x2_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_u64 (uint64x1_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_p8 (poly8x8_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_p16 (poly16x4_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_p64 (poly64x1_t __a) > -{ > - return (int8x8_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_f64 (float64x2_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_s16 (int16x8_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_s32 (int32x4_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_s64 (int64x2_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_f16 (float16x8_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_f32 (float32x4_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_u8 (uint8x16_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_u16 (uint16x8_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_u32 (uint32x4_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_u64 (uint64x2_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_p8 (poly8x16_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_p16 (poly16x8_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_p64 (poly64x2_t __a) > -{ > - return (int8x16_t) __a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_p128 (poly128_t __a) > -{ > - return (int8x16_t)__a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_f16 (float16x4_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_f64 (float64x1_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_s8 (int8x8_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_s32 (int32x2_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_s64 (int64x1_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_f32 (float32x2_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_u8 (uint8x8_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_u16 (uint16x4_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_u32 (uint32x2_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_u64 (uint64x1_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_p8 (poly8x8_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_p16 (poly16x4_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_p64 (poly64x1_t __a) > -{ > - return (int16x4_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_f64 (float64x2_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_s8 (int8x16_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_s32 (int32x4_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_s64 (int64x2_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_f16 (float16x8_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_f32 (float32x4_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_u8 (uint8x16_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_u16 (uint16x8_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_u32 (uint32x4_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_u64 (uint64x2_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_p8 (poly8x16_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_p16 (poly16x8_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_p64 (poly64x2_t __a) > -{ > - return (int16x8_t) __a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_p128 (poly128_t __a) > -{ > - return (int16x8_t)__a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_f16 (float16x4_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_f64 (float64x1_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_s8 (int8x8_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_s16 (int16x4_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_s64 (int64x1_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_f32 (float32x2_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_u8 (uint8x8_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_u16 (uint16x4_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_u32 (uint32x2_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_u64 (uint64x1_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_p8 (poly8x8_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_p16 (poly16x4_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_p64 (poly64x1_t __a) > -{ > - return (int32x2_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_f64 (float64x2_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_s8 (int8x16_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_s16 (int16x8_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_s64 (int64x2_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_f16 (float16x8_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_f32 (float32x4_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_u8 (uint8x16_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_u16 (uint16x8_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_u32 (uint32x4_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_u64 (uint64x2_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_p8 (poly8x16_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_p16 (poly16x8_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_p64 (poly64x2_t __a) > -{ > - return (int32x4_t) __a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_p128 (poly128_t __a) > -{ > - return (int32x4_t)__a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_f16 (float16x4_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_f64 (float64x1_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_s8 (int8x8_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_s16 (int16x4_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_s32 (int32x2_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_s64 (int64x1_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_f32 (float32x2_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_u16 (uint16x4_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_u32 (uint32x2_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_u64 (uint64x1_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_p8 (poly8x8_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_p16 (poly16x4_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_p64 (poly64x1_t __a) > -{ > - return (uint8x8_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_f64 (float64x2_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_s8 (int8x16_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_s16 (int16x8_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_s32 (int32x4_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_s64 (int64x2_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_f16 (float16x8_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_f32 (float32x4_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_u16 (uint16x8_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_u32 (uint32x4_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_u64 (uint64x2_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_p8 (poly8x16_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_p16 (poly16x8_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_p64 (poly64x2_t __a) > -{ > - return (uint8x16_t) __a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_p128 (poly128_t __a) > -{ > - return (uint8x16_t)__a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_f16 (float16x4_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_f64 (float64x1_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_s8 (int8x8_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_s16 (int16x4_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_s32 (int32x2_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_s64 (int64x1_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_f32 (float32x2_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_u8 (uint8x8_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_u32 (uint32x2_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_u64 (uint64x1_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_p8 (poly8x8_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_p16 (poly16x4_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_p64 (poly64x1_t __a) > -{ > - return (uint16x4_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_f64 (float64x2_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_s8 (int8x16_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_s16 (int16x8_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_s32 (int32x4_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_s64 (int64x2_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_f16 (float16x8_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_f32 (float32x4_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_u8 (uint8x16_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_u32 (uint32x4_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_u64 (uint64x2_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_p8 (poly8x16_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_p16 (poly16x8_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_p64 (poly64x2_t __a) > -{ > - return (uint16x8_t) __a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_p128 (poly128_t __a) > -{ > - return (uint16x8_t)__a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_f16 (float16x4_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_f64 (float64x1_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_s8 (int8x8_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_s16 (int16x4_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_s32 (int32x2_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_s64 (int64x1_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_f32 (float32x2_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_u8 (uint8x8_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_u16 (uint16x4_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_u64 (uint64x1_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_p8 (poly8x8_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_p16 (poly16x4_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_p64 (poly64x1_t __a) > -{ > - return (uint32x2_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_f64 (float64x2_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_s8 (int8x16_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_s16 (int16x8_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_s32 (int32x4_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_s64 (int64x2_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_f16 (float16x8_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_f32 (float32x4_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_u8 (uint8x16_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_u16 (uint16x8_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_u64 (uint64x2_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_p8 (poly8x16_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_p16 (poly16x8_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_p64 (poly64x2_t __a) > -{ > - return (uint32x4_t) __a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_p128 (poly128_t __a) > -{ > - return (uint32x4_t)__a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_p128 (poly128_t __a) > -{ > - return (float64x2_t) __a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_f64 (float64x2_t __a) > -{ > - return (poly128_t) __a; > -} > - > /* vset_lane */ > > __extension__ extern __inline float16x4_t > @@ -30988,414 +28241,6 @@ vst4q_bf16 (bfloat16_t * __a, bfloat16x8x4_t __val) > __builtin_aarch64_st4v8bf ((__builtin_aarch64_simd_bf *) __a, __val); > } > > -/* vreinterpret */ > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_u8 (uint8x8_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_u16 (uint16x4_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_u32 (uint32x2_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_u64 (uint64x1_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_s8 (int8x8_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_s16 (int16x4_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_s32 (int32x2_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_s64 (int64x1_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_p8 (poly8x8_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_p16 (poly16x4_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_p64 (poly64x1_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_f16 (float16x4_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_f32 (float32x2_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_bf16_f64 (float64x1_t __a) > -{ > - return (bfloat16x4_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_u8 (uint8x16_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_u16 (uint16x8_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_u32 (uint32x4_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_u64 (uint64x2_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_s8 (int8x16_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_s16 (int16x8_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_s32 (int32x4_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_s64 (int64x2_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_p8 (poly8x16_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_p16 (poly16x8_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_p64 (poly64x2_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_p128 (poly128_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_f16 (float16x8_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_f32 (float32x4_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline bfloat16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_bf16_f64 (float64x2_t __a) > -{ > - return (bfloat16x8_t)__a; > -} > - > -__extension__ extern __inline int8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s8_bf16 (bfloat16x4_t __a) > -{ > - return (int8x8_t)__a; > -} > - > -__extension__ extern __inline int16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s16_bf16 (bfloat16x4_t __a) > -{ > - return (int16x4_t)__a; > -} > - > -__extension__ extern __inline int32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s32_bf16 (bfloat16x4_t __a) > -{ > - return (int32x2_t)__a; > -} > - > -__extension__ extern __inline int64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_s64_bf16 (bfloat16x4_t __a) > -{ > - return (int64x1_t)__a; > -} > - > -__extension__ extern __inline uint8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u8_bf16 (bfloat16x4_t __a) > -{ > - return (uint8x8_t)__a; > -} > - > -__extension__ extern __inline uint16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u16_bf16 (bfloat16x4_t __a) > -{ > - return (uint16x4_t)__a; > -} > - > -__extension__ extern __inline uint32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u32_bf16 (bfloat16x4_t __a) > -{ > - return (uint32x2_t)__a; > -} > - > -__extension__ extern __inline uint64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_u64_bf16 (bfloat16x4_t __a) > -{ > - return (uint64x1_t)__a; > -} > - > -__extension__ extern __inline float16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f16_bf16 (bfloat16x4_t __a) > -{ > - return (float16x4_t)__a; > -} > - > -__extension__ extern __inline float32x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f32_bf16 (bfloat16x4_t __a) > -{ > - return (float32x2_t)__a; > -} > - > -__extension__ extern __inline float64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_f64_bf16 (bfloat16x4_t __a) > -{ > - return (float64x1_t)__a; > -} > - > -__extension__ extern __inline poly8x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p8_bf16 (bfloat16x4_t __a) > -{ > - return (poly8x8_t)__a; > -} > - > -__extension__ extern __inline poly16x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p16_bf16 (bfloat16x4_t __a) > -{ > - return (poly16x4_t)__a; > -} > - > -__extension__ extern __inline poly64x1_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpret_p64_bf16 (bfloat16x4_t __a) > -{ > - return (poly64x1_t)__a; > -} > - > -__extension__ extern __inline int8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s8_bf16 (bfloat16x8_t __a) > -{ > - return (int8x16_t)__a; > -} > - > -__extension__ extern __inline int16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s16_bf16 (bfloat16x8_t __a) > -{ > - return (int16x8_t)__a; > -} > - > -__extension__ extern __inline int32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s32_bf16 (bfloat16x8_t __a) > -{ > - return (int32x4_t)__a; > -} > - > -__extension__ extern __inline int64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_s64_bf16 (bfloat16x8_t __a) > -{ > - return (int64x2_t)__a; > -} > - > -__extension__ extern __inline uint8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u8_bf16 (bfloat16x8_t __a) > -{ > - return (uint8x16_t)__a; > -} > - > -__extension__ extern __inline uint16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u16_bf16 (bfloat16x8_t __a) > -{ > - return (uint16x8_t)__a; > -} > - > -__extension__ extern __inline uint32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u32_bf16 (bfloat16x8_t __a) > -{ > - return (uint32x4_t)__a; > -} > - > -__extension__ extern __inline uint64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_u64_bf16 (bfloat16x8_t __a) > -{ > - return (uint64x2_t)__a; > -} > - > -__extension__ extern __inline float16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f16_bf16 (bfloat16x8_t __a) > -{ > - return (float16x8_t)__a; > -} > - > -__extension__ extern __inline float32x4_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f32_bf16 (bfloat16x8_t __a) > -{ > - return (float32x4_t)__a; > -} > - > -__extension__ extern __inline float64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_f64_bf16 (bfloat16x8_t __a) > -{ > - return (float64x2_t)__a; > -} > - > -__extension__ extern __inline poly8x16_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p8_bf16 (bfloat16x8_t __a) > -{ > - return (poly8x16_t)__a; > -} > - > -__extension__ extern __inline poly16x8_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p16_bf16 (bfloat16x8_t __a) > -{ > - return (poly16x8_t)__a; > -} > - > -__extension__ extern __inline poly64x2_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p64_bf16 (bfloat16x8_t __a) > -{ > - return (poly64x2_t)__a; > -} > - > -__extension__ extern __inline poly128_t > -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > -vreinterpretq_p128_bf16 (bfloat16x8_t __a) > -{ > - return (poly128_t)__a; > -} > - > __extension__ extern __inline float32x2_t > __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) > vbfdot_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x4_t __b)
diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc index 6b413a36a09c7a4ac41b0fe7c414a3247580f222..b3ac68d1267cafcd7613f1866f61693b65d26fd2 100644 --- a/gcc/config/aarch64/aarch64-builtins.cc +++ b/gcc/config/aarch64/aarch64-builtins.cc @@ -127,6 +127,63 @@ #define v4x2df_UP E_V4x2DFmode #define UP(X) X##_UP +#define MODE_d_bf16 E_V4BFmode +#define MODE_d_f16 E_V4HFmode +#define MODE_d_f32 E_V2SFmode +#define MODE_d_f64 E_V1DFmode +#define MODE_d_s8 E_V8QImode +#define MODE_d_s16 E_V4HImode +#define MODE_d_s32 E_V2SImode +#define MODE_d_s64 E_V1DImode +#define MODE_d_u8 E_V8QImode +#define MODE_d_u16 E_V4HImode +#define MODE_d_u32 E_V2SImode +#define MODE_d_u64 E_V1DImode +#define MODE_d_p8 E_V8QImode +#define MODE_d_p16 E_V4HImode +#define MODE_d_p64 E_V1DImode +#define MODE_q_bf16 E_V8BFmode +#define MODE_q_f16 E_V8HFmode +#define MODE_q_f32 E_V4SFmode +#define MODE_q_f64 E_V2DFmode +#define MODE_q_s8 E_V16QImode +#define MODE_q_s16 E_V8HImode +#define MODE_q_s32 E_V4SImode +#define MODE_q_s64 E_V2DImode +#define MODE_q_u8 E_V16QImode +#define MODE_q_u16 E_V8HImode +#define MODE_q_u32 E_V4SImode +#define MODE_q_u64 E_V2DImode +#define MODE_q_p8 E_V16QImode +#define MODE_q_p16 E_V8HImode +#define MODE_q_p64 E_V2DImode +#define MODE_q_p128 E_TImode + +#define QUAL_bf16 qualifier_none +#define QUAL_f16 qualifier_none +#define QUAL_f32 qualifier_none +#define QUAL_f64 qualifier_none +#define QUAL_s8 qualifier_none +#define QUAL_s16 qualifier_none +#define QUAL_s32 qualifier_none +#define QUAL_s64 qualifier_none +#define QUAL_u8 qualifier_unsigned +#define QUAL_u16 qualifier_unsigned +#define QUAL_u32 qualifier_unsigned +#define QUAL_u64 qualifier_unsigned +#define QUAL_p8 qualifier_poly +#define QUAL_p16 qualifier_poly +#define QUAL_p64 qualifier_poly +#define QUAL_p128 qualifier_poly + +#define LENGTH_d "" +#define LENGTH_q "q" + +#define SIMD_INTR_MODE(suffix, length) MODE_##length##_##suffix +#define SIMD_INTR_QUAL(suffix) QUAL_##suffix +#define SIMD_INTR_LENGTH_CHAR(length) LENGTH_##length + + #define SIMD_MAX_BUILTIN_ARGS 5 enum aarch64_type_qualifiers @@ -522,6 +579,99 @@ static aarch64_simd_builtin_datum aarch64_simd_builtin_data[] = { FCMLA_LANEQ_BUILTIN (180, v4hf, fcmla_laneq, V4HF, true) \ FCMLA_LANEQ_BUILTIN (270, v4hf, fcmla_laneq, V4HF, true) \ + +/* vreinterpret intrinsics are defined for any pair of element types. + { _bf16 } { _bf16 } + { _f16 _f32 _f64 } { _f16 _f32 _f64 } + { _s8 _s16 _s32 _s64 } x { _s8 _s16 _s32 _s64 } + { _u8 _u16 _u32 _u64 } { _u8 _u16 _u32 _u64 } + { _p8 _p16 _p64 } { _p8 _p16 _p64 }. */ +#define VREINTERPRET_BUILTIN2(A, B) \ + VREINTERPRET_BUILTIN (A, B, d) + +#define VREINTERPRET_BUILTINS1(A) \ + VREINTERPRET_BUILTIN2 (A, bf16) \ + VREINTERPRET_BUILTIN2 (A, f16) \ + VREINTERPRET_BUILTIN2 (A, f32) \ + VREINTERPRET_BUILTIN2 (A, f64) \ + VREINTERPRET_BUILTIN2 (A, s8) \ + VREINTERPRET_BUILTIN2 (A, s16) \ + VREINTERPRET_BUILTIN2 (A, s32) \ + VREINTERPRET_BUILTIN2 (A, s64) \ + VREINTERPRET_BUILTIN2 (A, u8) \ + VREINTERPRET_BUILTIN2 (A, u16) \ + VREINTERPRET_BUILTIN2 (A, u32) \ + VREINTERPRET_BUILTIN2 (A, u64) \ + VREINTERPRET_BUILTIN2 (A, p8) \ + VREINTERPRET_BUILTIN2 (A, p16) \ + VREINTERPRET_BUILTIN2 (A, p64) + +#define VREINTERPRET_BUILTINS \ + VREINTERPRET_BUILTINS1 (bf16) \ + VREINTERPRET_BUILTINS1 (f16) \ + VREINTERPRET_BUILTINS1 (f32) \ + VREINTERPRET_BUILTINS1 (f64) \ + VREINTERPRET_BUILTINS1 (s8) \ + VREINTERPRET_BUILTINS1 (s16) \ + VREINTERPRET_BUILTINS1 (s32) \ + VREINTERPRET_BUILTINS1 (s64) \ + VREINTERPRET_BUILTINS1 (u8) \ + VREINTERPRET_BUILTINS1 (u16) \ + VREINTERPRET_BUILTINS1 (u32) \ + VREINTERPRET_BUILTINS1 (u64) \ + VREINTERPRET_BUILTINS1 (p8) \ + VREINTERPRET_BUILTINS1 (p16) \ + VREINTERPRET_BUILTINS1 (p64) + +/* vreinterpretq intrinsics are additionally defined for p128. + { _bf16 } { _bf16 } + { _f16 _f32 _f64 } { _f16 _f32 _f64 } + { _s8 _s16 _s32 _s64 } x { _s8 _s16 _s32 _s64 } + { _u8 _u16 _u32 _u64 } { _u8 _u16 _u32 _u64 } + { _p8 _p16 _p64 _p128 } { _p8 _p16 _p64 _p128 }. */ +#define VREINTERPRETQ_BUILTIN2(A, B) \ + VREINTERPRET_BUILTIN (A, B, q) + +#define VREINTERPRETQ_BUILTINS1(A) \ + VREINTERPRETQ_BUILTIN2 (A, bf16) \ + VREINTERPRETQ_BUILTIN2 (A, f16) \ + VREINTERPRETQ_BUILTIN2 (A, f32) \ + VREINTERPRETQ_BUILTIN2 (A, f64) \ + VREINTERPRETQ_BUILTIN2 (A, s8) \ + VREINTERPRETQ_BUILTIN2 (A, s16) \ + VREINTERPRETQ_BUILTIN2 (A, s32) \ + VREINTERPRETQ_BUILTIN2 (A, s64) \ + VREINTERPRETQ_BUILTIN2 (A, u8) \ + VREINTERPRETQ_BUILTIN2 (A, u16) \ + VREINTERPRETQ_BUILTIN2 (A, u32) \ + VREINTERPRETQ_BUILTIN2 (A, u64) \ + VREINTERPRETQ_BUILTIN2 (A, p8) \ + VREINTERPRETQ_BUILTIN2 (A, p16) \ + VREINTERPRETQ_BUILTIN2 (A, p64) \ + VREINTERPRETQ_BUILTIN2 (A, p128) + +#define VREINTERPRETQ_BUILTINS \ + VREINTERPRETQ_BUILTINS1 (bf16) \ + VREINTERPRETQ_BUILTINS1 (f16) \ + VREINTERPRETQ_BUILTINS1 (f32) \ + VREINTERPRETQ_BUILTINS1 (f64) \ + VREINTERPRETQ_BUILTINS1 (s8) \ + VREINTERPRETQ_BUILTINS1 (s16) \ + VREINTERPRETQ_BUILTINS1 (s32) \ + VREINTERPRETQ_BUILTINS1 (s64) \ + VREINTERPRETQ_BUILTINS1 (u8) \ + VREINTERPRETQ_BUILTINS1 (u16) \ + VREINTERPRETQ_BUILTINS1 (u32) \ + VREINTERPRETQ_BUILTINS1 (u64) \ + VREINTERPRETQ_BUILTINS1 (p8) \ + VREINTERPRETQ_BUILTINS1 (p16) \ + VREINTERPRETQ_BUILTINS1 (p64) \ + VREINTERPRETQ_BUILTINS1 (p128) + +#define AARCH64_SIMD_VREINTERPRET_BUILTINS \ + VREINTERPRET_BUILTINS \ + VREINTERPRETQ_BUILTINS + typedef struct { const char *name; @@ -540,12 +690,27 @@ typedef struct bool lane; } aarch64_fcmla_laneq_builtin_datum; +/* Hold information about how to declare SIMD intrinsics. */ +typedef struct +{ + const char *name; + unsigned int fcode; + unsigned int op_count; + machine_mode op_modes[SIMD_MAX_BUILTIN_ARGS]; + enum aarch64_type_qualifiers qualifiers[SIMD_MAX_BUILTIN_ARGS]; + unsigned int flags; + bool skip; +} aarch64_simd_intrinsic_datum; + #define CRC32_BUILTIN(N, M) \ AARCH64_BUILTIN_##N, #define FCMLA_LANEQ_BUILTIN(I, N, X, M, T) \ AARCH64_SIMD_BUILTIN_FCMLA_LANEQ##I##_##M, +#define VREINTERPRET_BUILTIN(A, B, L) \ + AARCH64_SIMD_BUILTIN_VREINTERPRET##L##_##A##_##B, + #undef VAR1 #define VAR1(T, N, MAP, FLAG, A) \ AARCH64_SIMD_BUILTIN_##T##_##N##A, @@ -579,6 +744,8 @@ enum aarch64_builtins AARCH64_CRC32_BUILTIN_BASE, AARCH64_CRC32_BUILTINS AARCH64_CRC32_BUILTIN_MAX, + /* SIMD intrinsic builtins. */ + AARCH64_SIMD_VREINTERPRET_BUILTINS /* ARMv8.3-A Pointer Authentication Builtins. */ AARCH64_PAUTH_BUILTIN_AUTIA1716, AARCH64_PAUTH_BUILTIN_PACIA1716, @@ -635,6 +802,23 @@ static aarch64_fcmla_laneq_builtin_datum aarch64_fcmla_lane_builtin_data[] = { AARCH64_SIMD_FCMLA_LANEQ_BUILTINS }; +#undef VREINTERPRET_BUILTIN +#define VREINTERPRET_BUILTIN(A, B, L) \ + {"vreinterpret" SIMD_INTR_LENGTH_CHAR(L) "_" #A "_" #B, \ + AARCH64_SIMD_BUILTIN_VREINTERPRET##L##_##A##_##B, \ + 2, \ + { SIMD_INTR_MODE(A, L), SIMD_INTR_MODE(B, L) }, \ + { SIMD_INTR_QUAL(A), SIMD_INTR_QUAL(B) }, \ + FLAG_AUTO_FP, \ + SIMD_INTR_MODE(A, L) == SIMD_INTR_MODE(B, L) \ + && SIMD_INTR_QUAL(A) == SIMD_INTR_QUAL(B) \ + }, + +static const aarch64_simd_intrinsic_datum aarch64_simd_intrinsic_data[] = { + AARCH64_SIMD_VREINTERPRET_BUILTINS +}; + + #undef CRC32_BUILTIN static GTY(()) tree aarch64_builtin_decls[AARCH64_BUILTIN_MAX]; @@ -1148,6 +1332,44 @@ aarch64_init_fcmla_laneq_builtins (void) } } +void +aarch64_init_simd_intrinsics (void) +{ + unsigned int i = 0; + + for (i = 0; i < ARRAY_SIZE (aarch64_simd_intrinsic_data); ++i) + { + auto d = &aarch64_simd_intrinsic_data[i]; + + if (d->skip) + continue; + + tree return_type = void_type_node; + tree args = void_list_node; + + for (int op_num = d->op_count - 1; op_num >= 0; op_num--) + { + machine_mode op_mode = d->op_modes[op_num]; + enum aarch64_type_qualifiers qualifiers = d->qualifiers[op_num]; + + tree eltype = aarch64_build_simd_builtin_type (op_mode, qualifiers); + + if (op_num == 0) + return_type = eltype; + else + args = tree_cons (NULL_TREE, eltype, args); + } + + tree ftype = build_function_type (return_type, args); + tree attrs = aarch64_get_attributes (FLAG_AUTO_FP, d->op_modes[0]); + unsigned int code + = (d->fcode << AARCH64_BUILTIN_SHIFT | AARCH64_BUILTIN_GENERAL); + tree fndecl = simulate_builtin_function_decl (input_location, d->name, + ftype, code, NULL, attrs); + aarch64_builtin_decls[d->fcode] = fndecl; + } +} + void aarch64_init_simd_builtin_functions (bool called_from_pragma) { @@ -1347,7 +1569,10 @@ aarch64_simd_switcher::~aarch64_simd_switcher () aarch64_isa_flags = m_old_isa_flags; } -/* Implement #pragma GCC aarch64 "arm_neon.h". */ +/* Implement #pragma GCC aarch64 "arm_neon.h". + + The types and functions defined here need to be available internally + during LTO as well. */ void handle_arm_neon_h (void) { @@ -1360,6 +1585,7 @@ handle_arm_neon_h (void) register_tuple_type (count, i); aarch64_init_simd_builtin_functions (true); + aarch64_init_simd_intrinsics (); } void @@ -2710,6 +2936,11 @@ aarch64_fold_builtin_lane_check (tree arg0, tree arg1, tree arg2) #define VAR1(T, N, MAP, FLAG, A) \ case AARCH64_SIMD_BUILTIN_##T##_##N##A: +#undef VREINTERPRET_BUILTIN +#define VREINTERPRET_BUILTIN(A, B, L) \ + case AARCH64_SIMD_BUILTIN_VREINTERPRET##L##_##A##_##B: + + /* Try to fold a call to the built-in function with subcode FCODE. The function is passed the N_ARGS arguments in ARGS and it returns a value of type TYPE. Return the new expression on success and NULL_TREE on @@ -2726,6 +2957,8 @@ aarch64_general_fold_builtin (unsigned int fcode, tree type, VAR1 (UNOP, floatv4si, 2, ALL, v4sf) VAR1 (UNOP, floatv2di, 2, ALL, v2df) return fold_build1 (FLOAT_EXPR, type, args[0]); + AARCH64_SIMD_VREINTERPRET_BUILTINS + return fold_build1 (VIEW_CONVERT_EXPR, type, args[0]); case AARCH64_SIMD_BUILTIN_LANE_CHECK: gcc_assert (n_args == 3); if (aarch64_fold_builtin_lane_check (args[0], args[1], args[2])) diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h index 85d03c58d2a98c1b8b84f007a82bb976601b424e..cf6af728ca99dae1cb6ab647466cfec32f7e913e 100644 --- a/gcc/config/aarch64/arm_neon.h +++ b/gcc/config/aarch64/arm_neon.h @@ -2827,2753 +2827,6 @@ vgetq_lane_u64 (uint64x2_t __a, const int __b) return __aarch64_vget_lane_any (__a, __b); } -/* vreinterpret */ - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_f16 (float16x4_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_f64 (float64x1_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_s8 (int8x8_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_s16 (int16x4_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_s32 (int32x2_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_s64 (int64x1_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_f32 (float32x2_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_u8 (uint8x8_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_u16 (uint16x4_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_u32 (uint32x2_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_u64 (uint64x1_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_p16 (poly16x4_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_p64 (poly64x1_t __a) -{ - return (poly8x8_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_f64 (float64x2_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_s8 (int8x16_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_s16 (int16x8_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_s32 (int32x4_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_s64 (int64x2_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_f16 (float16x8_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_f32 (float32x4_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_u8 (uint8x16_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_u16 (uint16x8_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_u32 (uint32x4_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_u64 (uint64x2_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_p16 (poly16x8_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_p64 (poly64x2_t __a) -{ - return (poly8x16_t) __a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_p128 (poly128_t __a) -{ - return (poly8x16_t)__a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_f16 (float16x4_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_f64 (float64x1_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_s8 (int8x8_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_s16 (int16x4_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_s32 (int32x2_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_s64 (int64x1_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_f32 (float32x2_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_u8 (uint8x8_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_u16 (uint16x4_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_u32 (uint32x2_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_u64 (uint64x1_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_p8 (poly8x8_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_p64 (poly64x1_t __a) -{ - return (poly16x4_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_f64 (float64x2_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_s8 (int8x16_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_s16 (int16x8_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_s32 (int32x4_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_s64 (int64x2_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_f16 (float16x8_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_f32 (float32x4_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_u8 (uint8x16_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_u16 (uint16x8_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_u32 (uint32x4_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_u64 (uint64x2_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_p8 (poly8x16_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_p64 (poly64x2_t __a) -{ - return (poly16x8_t) __a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_p128 (poly128_t __a) -{ - return (poly16x8_t)__a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_f16 (float16x4_t __a) -{ - return (poly64x1_t) __a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_f64 (float64x1_t __a) -{ - return (poly64x1_t) __a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_s8 (int8x8_t __a) -{ - return (poly64x1_t) __a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_s16 (int16x4_t __a) -{ - return (poly64x1_t) __a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_s32 (int32x2_t __a) -{ - return (poly64x1_t) __a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_s64 (int64x1_t __a) -{ - return (poly64x1_t) __a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_f32 (float32x2_t __a) -{ - return (poly64x1_t) __a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_u8 (uint8x8_t __a) -{ - return (poly64x1_t) __a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_u16 (uint16x4_t __a) -{ - return (poly64x1_t) __a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_u32 (uint32x2_t __a) -{ - return (poly64x1_t) __a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_u64 (uint64x1_t __a) -{ - return (poly64x1_t) __a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_p8 (poly8x8_t __a) -{ - return (poly64x1_t) __a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_p16 (poly16x4_t __a) -{ - return (poly64x1_t)__a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_f64 (float64x2_t __a) -{ - return (poly64x2_t) __a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_s8 (int8x16_t __a) -{ - return (poly64x2_t) __a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_s16 (int16x8_t __a) -{ - return (poly64x2_t) __a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_s32 (int32x4_t __a) -{ - return (poly64x2_t) __a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_s64 (int64x2_t __a) -{ - return (poly64x2_t) __a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_f16 (float16x8_t __a) -{ - return (poly64x2_t) __a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_f32 (float32x4_t __a) -{ - return (poly64x2_t) __a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_p128 (poly128_t __a) -{ - return (poly64x2_t)__a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_u8 (uint8x16_t __a) -{ - return (poly64x2_t) __a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_u16 (uint16x8_t __a) -{ - return (poly64x2_t) __a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_p16 (poly16x8_t __a) -{ - return (poly64x2_t)__a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_u32 (uint32x4_t __a) -{ - return (poly64x2_t) __a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_u64 (uint64x2_t __a) -{ - return (poly64x2_t) __a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_p8 (poly8x16_t __a) -{ - return (poly64x2_t) __a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_p8 (poly8x16_t __a) -{ - return (poly128_t)__a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_p16 (poly16x8_t __a) -{ - return (poly128_t)__a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_f16 (float16x8_t __a) -{ - return (poly128_t) __a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_f32 (float32x4_t __a) -{ - return (poly128_t)__a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_p64 (poly64x2_t __a) -{ - return (poly128_t)__a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_s64 (int64x2_t __a) -{ - return (poly128_t)__a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_u64 (uint64x2_t __a) -{ - return (poly128_t)__a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_s8 (int8x16_t __a) -{ - return (poly128_t)__a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_s16 (int16x8_t __a) -{ - return (poly128_t)__a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_s32 (int32x4_t __a) -{ - return (poly128_t)__a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_u8 (uint8x16_t __a) -{ - return (poly128_t)__a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_u16 (uint16x8_t __a) -{ - return (poly128_t)__a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_u32 (uint32x4_t __a) -{ - return (poly128_t)__a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_f64 (float64x1_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_s8 (int8x8_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_s16 (int16x4_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_s32 (int32x2_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_s64 (int64x1_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_f32 (float32x2_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_u8 (uint8x8_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_u16 (uint16x4_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_u32 (uint32x2_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_u64 (uint64x1_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_p8 (poly8x8_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_p16 (poly16x4_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_p64 (poly64x1_t __a) -{ - return (float16x4_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_f64 (float64x2_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_s8 (int8x16_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_s16 (int16x8_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_s32 (int32x4_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_s64 (int64x2_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_f32 (float32x4_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_u8 (uint8x16_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_u16 (uint16x8_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_u32 (uint32x4_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_u64 (uint64x2_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_p8 (poly8x16_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_p128 (poly128_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_p16 (poly16x8_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_p64 (poly64x2_t __a) -{ - return (float16x8_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_f16 (float16x4_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_f64 (float64x1_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_s8 (int8x8_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_s16 (int16x4_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_s32 (int32x2_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_s64 (int64x1_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_u8 (uint8x8_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_u16 (uint16x4_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_u32 (uint32x2_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_u64 (uint64x1_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_p8 (poly8x8_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_p16 (poly16x4_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_p64 (poly64x1_t __a) -{ - return (float32x2_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_f16 (float16x8_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_f64 (float64x2_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_s8 (int8x16_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_s16 (int16x8_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_s32 (int32x4_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_s64 (int64x2_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_u8 (uint8x16_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_u16 (uint16x8_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_u32 (uint32x4_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_u64 (uint64x2_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_p8 (poly8x16_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_p16 (poly16x8_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_p64 (poly64x2_t __a) -{ - return (float32x4_t) __a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_p128 (poly128_t __a) -{ - return (float32x4_t)__a; -} - - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_f16 (float16x4_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_f32 (float32x2_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_p8 (poly8x8_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_p16 (poly16x4_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_p64 (poly64x1_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_s8 (int8x8_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_s16 (int16x4_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_s32 (int32x2_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_s64 (int64x1_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_u8 (uint8x8_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_u16 (uint16x4_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_u32 (uint32x2_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_u64 (uint64x1_t __a) -{ - return (float64x1_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_f16 (float16x8_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_f32 (float32x4_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_p8 (poly8x16_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_p16 (poly16x8_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_p64 (poly64x2_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_s8 (int8x16_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_s16 (int16x8_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_s32 (int32x4_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_s64 (int64x2_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_u8 (uint8x16_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_u16 (uint16x8_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_u32 (uint32x4_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_u64 (uint64x2_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_f16 (float16x4_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_f64 (float64x1_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_s8 (int8x8_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_s16 (int16x4_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_s32 (int32x2_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_f32 (float32x2_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_u8 (uint8x8_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_u16 (uint16x4_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_u32 (uint32x2_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_u64 (uint64x1_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_p8 (poly8x8_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_p16 (poly16x4_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_p64 (poly64x1_t __a) -{ - return (int64x1_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_f64 (float64x2_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_s8 (int8x16_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_s16 (int16x8_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_s32 (int32x4_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_f16 (float16x8_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_f32 (float32x4_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_u8 (uint8x16_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_u16 (uint16x8_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_u32 (uint32x4_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_u64 (uint64x2_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_p8 (poly8x16_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_p16 (poly16x8_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_p64 (poly64x2_t __a) -{ - return (int64x2_t) __a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_p128 (poly128_t __a) -{ - return (int64x2_t)__a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_f16 (float16x4_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_f64 (float64x1_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_s8 (int8x8_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_s16 (int16x4_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_s32 (int32x2_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_s64 (int64x1_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_f32 (float32x2_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_u8 (uint8x8_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_u16 (uint16x4_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_u32 (uint32x2_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_p8 (poly8x8_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_p16 (poly16x4_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_p64 (poly64x1_t __a) -{ - return (uint64x1_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_f64 (float64x2_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_s8 (int8x16_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_s16 (int16x8_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_s32 (int32x4_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_s64 (int64x2_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_f16 (float16x8_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_f32 (float32x4_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_u8 (uint8x16_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_u16 (uint16x8_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_u32 (uint32x4_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_p8 (poly8x16_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_p16 (poly16x8_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_p64 (poly64x2_t __a) -{ - return (uint64x2_t) __a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_p128 (poly128_t __a) -{ - return (uint64x2_t)__a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_f16 (float16x4_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_f64 (float64x1_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_s16 (int16x4_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_s32 (int32x2_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_s64 (int64x1_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_f32 (float32x2_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_u8 (uint8x8_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_u16 (uint16x4_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_u32 (uint32x2_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_u64 (uint64x1_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_p8 (poly8x8_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_p16 (poly16x4_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_p64 (poly64x1_t __a) -{ - return (int8x8_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_f64 (float64x2_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_s16 (int16x8_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_s32 (int32x4_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_s64 (int64x2_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_f16 (float16x8_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_f32 (float32x4_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_u8 (uint8x16_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_u16 (uint16x8_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_u32 (uint32x4_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_u64 (uint64x2_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_p8 (poly8x16_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_p16 (poly16x8_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_p64 (poly64x2_t __a) -{ - return (int8x16_t) __a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_p128 (poly128_t __a) -{ - return (int8x16_t)__a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_f16 (float16x4_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_f64 (float64x1_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_s8 (int8x8_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_s32 (int32x2_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_s64 (int64x1_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_f32 (float32x2_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_u8 (uint8x8_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_u16 (uint16x4_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_u32 (uint32x2_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_u64 (uint64x1_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_p8 (poly8x8_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_p16 (poly16x4_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_p64 (poly64x1_t __a) -{ - return (int16x4_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_f64 (float64x2_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_s8 (int8x16_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_s32 (int32x4_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_s64 (int64x2_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_f16 (float16x8_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_f32 (float32x4_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_u8 (uint8x16_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_u16 (uint16x8_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_u32 (uint32x4_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_u64 (uint64x2_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_p8 (poly8x16_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_p16 (poly16x8_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_p64 (poly64x2_t __a) -{ - return (int16x8_t) __a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_p128 (poly128_t __a) -{ - return (int16x8_t)__a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_f16 (float16x4_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_f64 (float64x1_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_s8 (int8x8_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_s16 (int16x4_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_s64 (int64x1_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_f32 (float32x2_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_u8 (uint8x8_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_u16 (uint16x4_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_u32 (uint32x2_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_u64 (uint64x1_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_p8 (poly8x8_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_p16 (poly16x4_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_p64 (poly64x1_t __a) -{ - return (int32x2_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_f64 (float64x2_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_s8 (int8x16_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_s16 (int16x8_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_s64 (int64x2_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_f16 (float16x8_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_f32 (float32x4_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_u8 (uint8x16_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_u16 (uint16x8_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_u32 (uint32x4_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_u64 (uint64x2_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_p8 (poly8x16_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_p16 (poly16x8_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_p64 (poly64x2_t __a) -{ - return (int32x4_t) __a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_p128 (poly128_t __a) -{ - return (int32x4_t)__a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_f16 (float16x4_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_f64 (float64x1_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_s8 (int8x8_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_s16 (int16x4_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_s32 (int32x2_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_s64 (int64x1_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_f32 (float32x2_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_u16 (uint16x4_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_u32 (uint32x2_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_u64 (uint64x1_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_p8 (poly8x8_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_p16 (poly16x4_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_p64 (poly64x1_t __a) -{ - return (uint8x8_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_f64 (float64x2_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_s8 (int8x16_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_s16 (int16x8_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_s32 (int32x4_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_s64 (int64x2_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_f16 (float16x8_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_f32 (float32x4_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_u16 (uint16x8_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_u32 (uint32x4_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_u64 (uint64x2_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_p8 (poly8x16_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_p16 (poly16x8_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_p64 (poly64x2_t __a) -{ - return (uint8x16_t) __a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_p128 (poly128_t __a) -{ - return (uint8x16_t)__a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_f16 (float16x4_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_f64 (float64x1_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_s8 (int8x8_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_s16 (int16x4_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_s32 (int32x2_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_s64 (int64x1_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_f32 (float32x2_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_u8 (uint8x8_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_u32 (uint32x2_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_u64 (uint64x1_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_p8 (poly8x8_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_p16 (poly16x4_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_p64 (poly64x1_t __a) -{ - return (uint16x4_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_f64 (float64x2_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_s8 (int8x16_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_s16 (int16x8_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_s32 (int32x4_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_s64 (int64x2_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_f16 (float16x8_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_f32 (float32x4_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_u8 (uint8x16_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_u32 (uint32x4_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_u64 (uint64x2_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_p8 (poly8x16_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_p16 (poly16x8_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_p64 (poly64x2_t __a) -{ - return (uint16x8_t) __a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_p128 (poly128_t __a) -{ - return (uint16x8_t)__a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_f16 (float16x4_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_f64 (float64x1_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_s8 (int8x8_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_s16 (int16x4_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_s32 (int32x2_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_s64 (int64x1_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_f32 (float32x2_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_u8 (uint8x8_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_u16 (uint16x4_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_u64 (uint64x1_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_p8 (poly8x8_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_p16 (poly16x4_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_p64 (poly64x1_t __a) -{ - return (uint32x2_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_f64 (float64x2_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_s8 (int8x16_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_s16 (int16x8_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_s32 (int32x4_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_s64 (int64x2_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_f16 (float16x8_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_f32 (float32x4_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_u8 (uint8x16_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_u16 (uint16x8_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_u64 (uint64x2_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_p8 (poly8x16_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_p16 (poly16x8_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_p64 (poly64x2_t __a) -{ - return (uint32x4_t) __a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_p128 (poly128_t __a) -{ - return (uint32x4_t)__a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_p128 (poly128_t __a) -{ - return (float64x2_t) __a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_f64 (float64x2_t __a) -{ - return (poly128_t) __a; -} - /* vset_lane */ __extension__ extern __inline float16x4_t @@ -30988,414 +28241,6 @@ vst4q_bf16 (bfloat16_t * __a, bfloat16x8x4_t __val) __builtin_aarch64_st4v8bf ((__builtin_aarch64_simd_bf *) __a, __val); } -/* vreinterpret */ - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_u8 (uint8x8_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_u16 (uint16x4_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_u32 (uint32x2_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_u64 (uint64x1_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_s8 (int8x8_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_s16 (int16x4_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_s32 (int32x2_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_s64 (int64x1_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_p8 (poly8x8_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_p16 (poly16x4_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_p64 (poly64x1_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_f16 (float16x4_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_f32 (float32x2_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_bf16_f64 (float64x1_t __a) -{ - return (bfloat16x4_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_u8 (uint8x16_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_u16 (uint16x8_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_u32 (uint32x4_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_u64 (uint64x2_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_s8 (int8x16_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_s16 (int16x8_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_s32 (int32x4_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_s64 (int64x2_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_p8 (poly8x16_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_p16 (poly16x8_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_p64 (poly64x2_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_p128 (poly128_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_f16 (float16x8_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_f32 (float32x4_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline bfloat16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_bf16_f64 (float64x2_t __a) -{ - return (bfloat16x8_t)__a; -} - -__extension__ extern __inline int8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s8_bf16 (bfloat16x4_t __a) -{ - return (int8x8_t)__a; -} - -__extension__ extern __inline int16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s16_bf16 (bfloat16x4_t __a) -{ - return (int16x4_t)__a; -} - -__extension__ extern __inline int32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s32_bf16 (bfloat16x4_t __a) -{ - return (int32x2_t)__a; -} - -__extension__ extern __inline int64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_s64_bf16 (bfloat16x4_t __a) -{ - return (int64x1_t)__a; -} - -__extension__ extern __inline uint8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u8_bf16 (bfloat16x4_t __a) -{ - return (uint8x8_t)__a; -} - -__extension__ extern __inline uint16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u16_bf16 (bfloat16x4_t __a) -{ - return (uint16x4_t)__a; -} - -__extension__ extern __inline uint32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u32_bf16 (bfloat16x4_t __a) -{ - return (uint32x2_t)__a; -} - -__extension__ extern __inline uint64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_u64_bf16 (bfloat16x4_t __a) -{ - return (uint64x1_t)__a; -} - -__extension__ extern __inline float16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f16_bf16 (bfloat16x4_t __a) -{ - return (float16x4_t)__a; -} - -__extension__ extern __inline float32x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f32_bf16 (bfloat16x4_t __a) -{ - return (float32x2_t)__a; -} - -__extension__ extern __inline float64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_f64_bf16 (bfloat16x4_t __a) -{ - return (float64x1_t)__a; -} - -__extension__ extern __inline poly8x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p8_bf16 (bfloat16x4_t __a) -{ - return (poly8x8_t)__a; -} - -__extension__ extern __inline poly16x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p16_bf16 (bfloat16x4_t __a) -{ - return (poly16x4_t)__a; -} - -__extension__ extern __inline poly64x1_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpret_p64_bf16 (bfloat16x4_t __a) -{ - return (poly64x1_t)__a; -} - -__extension__ extern __inline int8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s8_bf16 (bfloat16x8_t __a) -{ - return (int8x16_t)__a; -} - -__extension__ extern __inline int16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s16_bf16 (bfloat16x8_t __a) -{ - return (int16x8_t)__a; -} - -__extension__ extern __inline int32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s32_bf16 (bfloat16x8_t __a) -{ - return (int32x4_t)__a; -} - -__extension__ extern __inline int64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_s64_bf16 (bfloat16x8_t __a) -{ - return (int64x2_t)__a; -} - -__extension__ extern __inline uint8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u8_bf16 (bfloat16x8_t __a) -{ - return (uint8x16_t)__a; -} - -__extension__ extern __inline uint16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u16_bf16 (bfloat16x8_t __a) -{ - return (uint16x8_t)__a; -} - -__extension__ extern __inline uint32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u32_bf16 (bfloat16x8_t __a) -{ - return (uint32x4_t)__a; -} - -__extension__ extern __inline uint64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_u64_bf16 (bfloat16x8_t __a) -{ - return (uint64x2_t)__a; -} - -__extension__ extern __inline float16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f16_bf16 (bfloat16x8_t __a) -{ - return (float16x8_t)__a; -} - -__extension__ extern __inline float32x4_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f32_bf16 (bfloat16x8_t __a) -{ - return (float32x4_t)__a; -} - -__extension__ extern __inline float64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_f64_bf16 (bfloat16x8_t __a) -{ - return (float64x2_t)__a; -} - -__extension__ extern __inline poly8x16_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p8_bf16 (bfloat16x8_t __a) -{ - return (poly8x16_t)__a; -} - -__extension__ extern __inline poly16x8_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p16_bf16 (bfloat16x8_t __a) -{ - return (poly16x8_t)__a; -} - -__extension__ extern __inline poly64x2_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p64_bf16 (bfloat16x8_t __a) -{ - return (poly64x2_t)__a; -} - -__extension__ extern __inline poly128_t -__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) -vreinterpretq_p128_bf16 (bfloat16x8_t __a) -{ - return (poly128_t)__a; -} - __extension__ extern __inline float32x2_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vbfdot_f32 (float32x2_t __r, bfloat16x4_t __a, bfloat16x4_t __b)