diff options
author | Martin Liska <mliska@suse.cz> | 2022-07-26 14:09:15 +0200 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2022-07-26 14:09:15 +0200 |
commit | d683a5b3d26279768797b7507489c6c3cdb1e9b6 (patch) | |
tree | a247c24f2d430b323eb685f52ae83eeb31450908 | |
parent | 8f694e3f186d734a20ab870cd72e98646142810a (diff) | |
parent | 78017eaa3693afac824d101d24d819db89ab7bc5 (diff) | |
download | gcc-d683a5b3d26279768797b7507489c6c3cdb1e9b6.zip gcc-d683a5b3d26279768797b7507489c6c3cdb1e9b6.tar.gz gcc-d683a5b3d26279768797b7507489c6c3cdb1e9b6.tar.bz2 |
Merge branch 'master' into devel/sphinx
-rw-r--r-- | gcc/config/aarch64/aarch64-builtins.cc | 334 | ||||
-rw-r--r-- | gcc/config/aarch64/arm_neon.h | 3155 | ||||
-rw-r--r-- | gcc/cp/pt.cc | 5 | ||||
-rw-r--r-- | gcc/doc/tm.texi | 8 | ||||
-rw-r--r-- | gcc/doc/tm.texi.in | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/template/redecl5.C | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/evrp4.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/combine.c | 18 | ||||
-rw-r--r-- | gcc/tree-ssa-alias.cc | 4 | ||||
-rw-r--r-- | gcc/value-range-pretty-print.cc | 33 | ||||
-rw-r--r-- | gcc/value-range-pretty-print.h | 2 | ||||
-rw-r--r-- | gcc/value-range.cc | 8 |
12 files changed, 363 insertions, 3217 deletions
diff --git a/gcc/config/aarch64/aarch64-builtins.cc b/gcc/config/aarch64/aarch64-builtins.cc index 2cacb4d..f90fda4 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, @@ -641,6 +808,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]; @@ -794,12 +978,13 @@ aarch64_general_mangle_builtin_type (const_tree type) return NULL; } +/* Helper function for aarch64_simd_builtin_type. */ static tree -aarch64_simd_builtin_std_type (machine_mode mode, - enum aarch64_type_qualifiers q) +aarch64_int_or_fp_type (machine_mode mode, + enum aarch64_type_qualifiers qualifiers) { -#define QUAL_TYPE(M) \ - ((q == qualifier_none) ? int##M##_type_node : unsigned_int##M##_type_node); +#define QUAL_TYPE(M) ((qualifiers & qualifier_unsigned) \ + ? unsigned_int##M##_type_node : int##M##_type_node); switch (mode) { case E_QImode: @@ -832,16 +1017,14 @@ aarch64_simd_builtin_std_type (machine_mode mode, #undef QUAL_TYPE } +/* Helper function for aarch64_simd_builtin_type. */ static tree -aarch64_lookup_simd_builtin_type (machine_mode mode, - enum aarch64_type_qualifiers q) +aarch64_lookup_simd_type_in_table (machine_mode mode, + enum aarch64_type_qualifiers qualifiers) { int i; int nelts = ARRAY_SIZE (aarch64_simd_types); - - /* Non-poly scalar modes map to standard types not in the table. */ - if (q != qualifier_poly && !VECTOR_MODE_P (mode)) - return aarch64_simd_builtin_std_type (mode, q); + int q = qualifiers & (qualifier_poly | qualifier_unsigned); for (i = 0; i < nelts; i++) { @@ -858,16 +1041,32 @@ aarch64_lookup_simd_builtin_type (machine_mode mode, return NULL_TREE; } +/* Return a type for an operand with specified mode and qualifiers. */ static tree aarch64_simd_builtin_type (machine_mode mode, - bool unsigned_p, bool poly_p) + enum aarch64_type_qualifiers qualifiers) { - if (poly_p) - return aarch64_lookup_simd_builtin_type (mode, qualifier_poly); - else if (unsigned_p) - return aarch64_lookup_simd_builtin_type (mode, qualifier_unsigned); + tree type = NULL_TREE; + + /* For pointers, we want a pointer to the basic type of the vector. */ + if ((qualifiers & qualifier_pointer) && VECTOR_MODE_P (mode)) + mode = GET_MODE_INNER (mode); + + /* Non-poly scalar modes map to standard types not in the table. */ + if ((qualifiers & qualifier_poly) || VECTOR_MODE_P (mode)) + type = aarch64_lookup_simd_type_in_table (mode, qualifiers); else - return aarch64_lookup_simd_builtin_type (mode, qualifier_none); + type = aarch64_int_or_fp_type (mode, qualifiers); + + gcc_assert (type != NULL_TREE); + + /* Add qualifiers. */ + if (qualifiers & qualifier_const) + type = build_qualified_type (type, TYPE_QUAL_CONST); + if (qualifiers & qualifier_pointer) + type = build_pointer_type (type); + + return type; } static void @@ -1116,12 +1315,11 @@ aarch64_init_fcmla_laneq_builtins (void) { aarch64_fcmla_laneq_builtin_datum* d = &aarch64_fcmla_lane_builtin_data[i]; - tree argtype = aarch64_lookup_simd_builtin_type (d->mode, qualifier_none); + tree argtype = aarch64_simd_builtin_type (d->mode, qualifier_none); machine_mode quadmode = GET_MODE_2XWIDER_MODE (d->mode).require (); - tree quadtype - = aarch64_lookup_simd_builtin_type (quadmode, qualifier_none); + tree quadtype = aarch64_simd_builtin_type (quadmode, qualifier_none); tree lanetype - = aarch64_simd_builtin_std_type (SImode, qualifier_lane_pair_index); + = aarch64_simd_builtin_type (SImode, qualifier_lane_pair_index); tree ftype = build_function_type_list (argtype, argtype, argtype, quadtype, lanetype, NULL_TREE); tree attrs = aarch64_get_attributes (FLAG_FP, d->mode); @@ -1133,6 +1331,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_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) { unsigned int i, fcode = AARCH64_SIMD_PATTERN_START; @@ -1216,23 +1452,7 @@ aarch64_init_simd_builtin_functions (bool called_from_pragma) if (qualifiers & qualifier_map_mode) op_mode = d->mode; - /* For pointers, we want a pointer to the basic type - of the vector. */ - if (qualifiers & qualifier_pointer && VECTOR_MODE_P (op_mode)) - op_mode = GET_MODE_INNER (op_mode); - - eltype = aarch64_simd_builtin_type - (op_mode, - (qualifiers & qualifier_unsigned) != 0, - (qualifiers & qualifier_poly) != 0); - gcc_assert (eltype != NULL); - - /* Add qualifiers. */ - if (qualifiers & qualifier_const) - eltype = build_qualified_type (eltype, TYPE_QUAL_CONST); - - if (qualifiers & qualifier_pointer) - eltype = build_pointer_type (eltype); + eltype = aarch64_simd_builtin_type (op_mode, qualifiers); /* If we have reached arg_num == 0, we are at a non-void return type. Otherwise, we are still processing @@ -1347,7 +1567,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 +1583,7 @@ handle_arm_neon_h (void) register_tuple_type (count, i); aarch64_init_simd_builtin_functions (true); + aarch64_init_simd_intrinsics (); } void @@ -1389,14 +1613,13 @@ aarch64_init_simd_builtins (void) static void aarch64_init_crc32_builtins () { - tree usi_type = aarch64_simd_builtin_std_type (SImode, qualifier_unsigned); + tree usi_type = aarch64_simd_builtin_type (SImode, qualifier_unsigned); unsigned int i = 0; for (i = 0; i < ARRAY_SIZE (aarch64_crc_builtin_data); ++i) { aarch64_crc_builtin_datum* d = &aarch64_crc_builtin_data[i]; - tree argtype = aarch64_simd_builtin_std_type (d->mode, - qualifier_unsigned); + tree argtype = aarch64_simd_builtin_type (d->mode, qualifier_unsigned); tree ftype = build_function_type_list (usi_type, usi_type, argtype, NULL_TREE); tree attrs = aarch64_get_attributes (FLAG_NONE, d->mode); tree fndecl @@ -2660,6 +2883,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 @@ -2676,6 +2904,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])) @@ -2808,6 +3038,28 @@ aarch64_general_gimple_fold_builtin (unsigned int fcode, gcall *stmt, gimple_call_set_lhs (new_stmt, gimple_call_lhs (stmt)); break; + BUILTIN_VDC (BINOP, combine, 0, AUTO_FP) + BUILTIN_VD_I (BINOPU, combine, 0, NONE) + BUILTIN_VDC_P (BINOPP, combine, 0, NONE) + { + tree first_part, second_part; + if (BYTES_BIG_ENDIAN) + { + second_part = args[0]; + first_part = args[1]; + } + else + { + first_part = args[0]; + second_part = args[1]; + } + tree ret_type = gimple_call_return_type (stmt); + tree ctor = build_constructor_va (ret_type, 2, NULL_TREE, first_part, + NULL_TREE, second_part); + new_stmt = gimple_build_assign (gimple_call_lhs (stmt), ctor); + } + break; + /*lower store and load neon builtins to gimple. */ BUILTIN_VALL_F16 (LOAD1, ld1, 0, LOAD) BUILTIN_VDQ_I (LOAD1_U, ld1, 0, LOAD) diff --git a/gcc/config/aarch64/arm_neon.h b/gcc/config/aarch64/arm_neon.h index 85d03c5..cf6af72 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/cp/pt.cc b/gcc/cp/pt.cc index c415db3..6c581fe0 100644 --- a/gcc/cp/pt.cc +++ b/gcc/cp/pt.cc @@ -6377,7 +6377,10 @@ redeclare_class_template (tree type, tree parms, tree cons) { auto_diagnostic_group d; error ("template parameter %q+#D", tmpl_parm); - inform (DECL_SOURCE_LOCATION (parm), "redeclared here as %q#D", parm); + if (DECL_P (parm)) + inform (DECL_SOURCE_LOCATION (parm), "redeclared here as %q#D", parm); + else + inform (input_location, "redeclared here"); return false; } diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index bddaad2..2e66d6f 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -10863,6 +10863,7 @@ Here are macros for DWARF output. @defmac DWARF2_DEBUGGING_INFO Define this macro if GCC should produce dwarf version 2 format debugging output in response to the @option{-g} option. +@end defmac @deftypefn {Target Hook} int TARGET_DWARF_CALLING_CONVENTION (const_tree @var{function}) @c hook-start:TARGET_DWARF_CALLING_CONVENTION @@ -10877,7 +10878,12 @@ define @code{INCOMING_RETURN_ADDR_RTX} and either set @code{RTX_FRAME_RELATED_P} on the prologue insns if you use RTL for the prologue, or call @code{dwarf2out_def_cfa} and @code{dwarf2out_reg_save} as appropriate from @code{TARGET_ASM_FUNCTION_PROLOGUE} if you don't. -@end defmac + +@deftypefn {Target Hook} int TARGET_DWARF_CALLING_CONVENTION (const_tree @var{function}) +Define this to enable the dwarf attribute @code{DW_AT_calling_convention} to +be emitted for each function. Instead of an integer return the enum +value for the @code{DW_CC_} tag. +@end deftypefn @defmac DWARF2_FRAME_INFO Define this macro to a nonzero value if GCC should always output diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index f869ddd..a645c7e 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -6895,15 +6895,15 @@ Here are macros for DWARF output. @defmac DWARF2_DEBUGGING_INFO Define this macro if GCC should produce dwarf version 2 format debugging output in response to the @option{-g} option. - -@hook TARGET_DWARF_CALLING_CONVENTION +@end defmac To support optional call frame debugging information, you must also define @code{INCOMING_RETURN_ADDR_RTX} and either set @code{RTX_FRAME_RELATED_P} on the prologue insns if you use RTL for the prologue, or call @code{dwarf2out_def_cfa} and @code{dwarf2out_reg_save} as appropriate from @code{TARGET_ASM_FUNCTION_PROLOGUE} if you don't. -@end defmac + +@hook TARGET_DWARF_CALLING_CONVENTION @defmac DWARF2_FRAME_INFO Define this macro to a nonzero value if GCC should always output diff --git a/gcc/testsuite/g++.dg/template/redecl5.C b/gcc/testsuite/g++.dg/template/redecl5.C new file mode 100644 index 0000000..fb2d698 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/redecl5.C @@ -0,0 +1,5 @@ +// PR c++/106311 +// { dg-do compile } + +template <typename, long> struct array; // { dg-error "template parameter" } +template <typename, size_t X> struct array { }; // { dg-error "declared" } diff --git a/gcc/testsuite/gcc.dg/tree-ssa/evrp4.c b/gcc/testsuite/gcc.dg/tree-ssa/evrp4.c index e3f4531..895109f 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/evrp4.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/evrp4.c @@ -17,4 +17,4 @@ int bar (struct st *s) foo (&s->a); } -/* { dg-final { scan-tree-dump "\\\[1B, \\+INF\\\]" "evrp" } } */ +/* { dg-final { scan-tree-dump "\\\[1, \\+INF\\\]" "evrp" } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/combine.c b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/combine.c new file mode 100644 index 0000000..d08faf7 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/advsimd-intrinsics/combine.c @@ -0,0 +1,18 @@ +/* { dg-do compile { target { aarch64*-*-* } } } */ +/* { dg-final { check-function-bodies "**" "" {-O[^0]} } } */ +/* { dg-skip-if "" { *-*-* } { "-fno-fat-lto-objects" } } */ + +#include <arm_neon.h> + +/* +** foo: +** umov w0, v1\.s\[1\] +** ret +*/ + +int32_t foo (int32x2_t a, int32x2_t b) +{ + int32x4_t c = vcombine_s32(a, b); + return vgetq_lane_s32(c, 3); +} + diff --git a/gcc/tree-ssa-alias.cc b/gcc/tree-ssa-alias.cc index 390cd87..b4c65da 100644 --- a/gcc/tree-ssa-alias.cc +++ b/gcc/tree-ssa-alias.cc @@ -349,7 +349,9 @@ ptr_derefs_may_alias_p (tree ptr1, tree ptr2) else if (base && DECL_P (base)) return ptr_deref_may_alias_decl_p (ptr2, base); - else + /* Try ptr2 when ptr1 points to a constant. */ + else if (base + && !CONSTANT_CLASS_P (base)) return true; } if (TREE_CODE (ptr2) == ADDR_EXPR) diff --git a/gcc/value-range-pretty-print.cc b/gcc/value-range-pretty-print.cc index 485612f..cbf50d3 100644 --- a/gcc/value-range-pretty-print.cc +++ b/gcc/value-range-pretty-print.cc @@ -63,38 +63,45 @@ vrange_printer::visit (const irange &r) const pp_string (pp, "VARYING"); return; } - for (unsigned i = 0; i < r.num_pairs (); ++i) + // Handle legacy symbolics. + if (!r.constant_p ()) { - tree lb = wide_int_to_tree (r.type (), r.lower_bound (i)); - tree ub = wide_int_to_tree (r.type (), r.upper_bound (i)); + if (r.kind () == VR_ANTI_RANGE) + pp_character (pp, '~'); pp_character (pp, '['); - print_irange_bound (lb); + dump_generic_node (pp, r.min (), 0, TDF_NONE, false); pp_string (pp, ", "); - print_irange_bound (ub); + dump_generic_node (pp, r.max (), 0, TDF_NONE, false); + pp_character (pp, ']'); + print_irange_bitmasks (r); + return; + } + for (unsigned i = 0; i < r.num_pairs (); ++i) + { + pp_character (pp, '['); + print_irange_bound (r.lower_bound (i), r.type ()); + pp_string (pp, ", "); + print_irange_bound (r.upper_bound (i), r.type ()); pp_character (pp, ']'); } print_irange_bitmasks (r); } void -vrange_printer::print_irange_bound (tree bound) const +vrange_printer::print_irange_bound (const wide_int &bound, tree type) const { - tree type = TREE_TYPE (bound); wide_int type_min = wi::min_value (TYPE_PRECISION (type), TYPE_SIGN (type)); wide_int type_max = wi::max_value (TYPE_PRECISION (type), TYPE_SIGN (type)); if (INTEGRAL_TYPE_P (type) && !TYPE_UNSIGNED (type) - && TREE_CODE (bound) == INTEGER_CST - && wi::to_wide (bound) == type_min + && bound == type_min && TYPE_PRECISION (type) != 1) pp_string (pp, "-INF"); - else if (TREE_CODE (bound) == INTEGER_CST - && wi::to_wide (bound) == type_max - && TYPE_PRECISION (type) != 1) + else if (bound == type_max && TYPE_PRECISION (type) != 1) pp_string (pp, "+INF"); else - dump_generic_node (pp, bound, 0, TDF_NONE, false); + pp_wide_int (pp, bound, TYPE_SIGN (type)); } void diff --git a/gcc/value-range-pretty-print.h b/gcc/value-range-pretty-print.h index c1c7c42..ad06c93 100644 --- a/gcc/value-range-pretty-print.h +++ b/gcc/value-range-pretty-print.h @@ -29,7 +29,7 @@ public: void visit (const irange &) const override; void visit (const frange &) const override; private: - void print_irange_bound (tree bound) const; + void print_irange_bound (const wide_int &w, tree type) const; void print_irange_bitmasks (const irange &) const; void print_frange_prop (const char *str, const fp_prop &) const; diff --git a/gcc/value-range.cc b/gcc/value-range.cc index e49b06d..2923f4f 100644 --- a/gcc/value-range.cc +++ b/gcc/value-range.cc @@ -2593,6 +2593,14 @@ irange::get_nonzero_bits () const { gcc_checking_assert (!undefined_p ()); + // In case anyone in the legacy world queries us. + if (!constant_p ()) + { + if (m_nonzero_mask) + return wi::to_wide (m_nonzero_mask); + return wi::shwi (-1, TYPE_PRECISION (type ())); + } + // Calculate the nonzero bits inherent in the range. wide_int min = lower_bound (); wide_int max = upper_bound (); |