authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-01-17 05:21:10+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-04-22 15:31:56+02:00
logc81170dcd680d94e6f6474874e5dbb5f87712036
tree11dd47bdcd5dd682751072dcb05ab6af1bbf93b4
parent1b7ec080c9dd2215482b66bbe0602acb9720a497
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

zig cc: update intrinsic headers to LLVM 22


94 files changed, 11869 insertions(+), 12978 deletions(-)

lib/include/__clang_spirv_builtins.h+12-12
......@@ -52,30 +52,30 @@
5252// Builtin IDs and sizes
5353
5454extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_num_workgroups) __size_t
55 __spirv_NumWorkgroups(int);
55 __spirv_BuiltInNumWorkgroups(int);
5656extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_workgroup_size) __size_t
57 __spirv_WorkgroupSize(int);
57 __spirv_BuiltInWorkgroupSize(int);
5858extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_workgroup_id) __size_t
59 __spirv_WorkgroupId(int);
59 __spirv_BuiltInWorkgroupId(int);
6060extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_local_invocation_id) __size_t
61 __spirv_LocalInvocationId(int);
61 __spirv_BuiltInLocalInvocationId(int);
6262extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_invocation_id) __size_t
63 __spirv_GlobalInvocationId(int);
63 __spirv_BuiltInGlobalInvocationId(int);
6464
6565extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_size) __size_t
66 __spirv_GlobalSize(int);
66 __spirv_BuiltInGlobalSize(int);
6767extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_global_offset) __size_t
68 __spirv_GlobalOffset(int);
68 __spirv_BuiltInGlobalOffset(int);
6969extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_size) __uint32_t
70 __spirv_SubgroupSize();
70 __spirv_BuiltInSubgroupSize();
7171extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_max_size) __uint32_t
72 __spirv_SubgroupMaxSize();
72 __spirv_BuiltInSubgroupMaxSize();
7373extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_num_subgroups) __uint32_t
74 __spirv_NumSubgroups();
74 __spirv_BuiltInNumSubgroups();
7575extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_id) __uint32_t
76 __spirv_SubgroupId();
76 __spirv_BuiltInSubgroupId();
7777extern __SPIRV_BUILTIN_ALIAS(__builtin_spirv_subgroup_local_invocation_id)
78 __uint32_t __spirv_SubgroupLocalInvocationId();
78 __uint32_t __spirv_BuiltInSubgroupLocalInvocationId();
7979
8080// OpGenericCastToPtrExplicit
8181
lib/include/__float_float.h created+176
......@@ -0,0 +1,176 @@
1/*===---- __float_float.h --------------------------------------------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===-----------------------------------------------------------------------===
8 */
9
10#ifndef __CLANG_FLOAT_FLOAT_H
11#define __CLANG_FLOAT_FLOAT_H
12
13#if (defined(__MINGW32__) || defined(_MSC_VER) || defined(_AIX)) && \
14 __STDC_HOSTED__
15
16/* Undefine anything that we'll be redefining below. */
17# undef FLT_EVAL_METHOD
18# undef FLT_ROUNDS
19# undef FLT_RADIX
20# undef FLT_MANT_DIG
21# undef DBL_MANT_DIG
22# undef LDBL_MANT_DIG
23#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
24 !defined(__STRICT_ANSI__) || \
25 (defined(__cplusplus) && __cplusplus >= 201103L) || \
26 (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
27# undef DECIMAL_DIG
28# endif
29# undef FLT_DIG
30# undef DBL_DIG
31# undef LDBL_DIG
32# undef FLT_MIN_EXP
33# undef DBL_MIN_EXP
34# undef LDBL_MIN_EXP
35# undef FLT_MIN_10_EXP
36# undef DBL_MIN_10_EXP
37# undef LDBL_MIN_10_EXP
38# undef FLT_MAX_EXP
39# undef DBL_MAX_EXP
40# undef LDBL_MAX_EXP
41# undef FLT_MAX_10_EXP
42# undef DBL_MAX_10_EXP
43# undef LDBL_MAX_10_EXP
44# undef FLT_MAX
45# undef DBL_MAX
46# undef LDBL_MAX
47# undef FLT_EPSILON
48# undef DBL_EPSILON
49# undef LDBL_EPSILON
50# undef FLT_MIN
51# undef DBL_MIN
52# undef LDBL_MIN
53#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
54 !defined(__STRICT_ANSI__) || \
55 (defined(__cplusplus) && __cplusplus >= 201703L) || \
56 (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
57# undef FLT_TRUE_MIN
58# undef DBL_TRUE_MIN
59# undef LDBL_TRUE_MIN
60# undef FLT_DECIMAL_DIG
61# undef DBL_DECIMAL_DIG
62# undef LDBL_DECIMAL_DIG
63# undef FLT_HAS_SUBNORM
64# undef DBL_HAS_SUBNORM
65# undef LDBL_HAS_SUBNORM
66# endif
67#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
68 !defined(__STRICT_ANSI__)
69# undef FLT_NORM_MAX
70# undef DBL_NORM_MAX
71# undef LDBL_NORM_MAX
72#endif
73#endif
74
75#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
76 !defined(__STRICT_ANSI__)
77# undef FLT_SNAN
78# undef DBL_SNAN
79# undef LDBL_SNAN
80#endif
81
82/* Characteristics of floating point types, C99 5.2.4.2.2 */
83
84#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
85 (defined(__cplusplus) && __cplusplus >= 201103L)
86#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
87#endif
88#define FLT_ROUNDS (__builtin_flt_rounds())
89#define FLT_RADIX __FLT_RADIX__
90
91#define FLT_MANT_DIG __FLT_MANT_DIG__
92#define DBL_MANT_DIG __DBL_MANT_DIG__
93#define LDBL_MANT_DIG __LDBL_MANT_DIG__
94
95#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
96 !defined(__STRICT_ANSI__) || \
97 (defined(__cplusplus) && __cplusplus >= 201103L) || \
98 (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
99# define DECIMAL_DIG __DECIMAL_DIG__
100#endif
101
102#define FLT_DIG __FLT_DIG__
103#define DBL_DIG __DBL_DIG__
104#define LDBL_DIG __LDBL_DIG__
105
106#define FLT_MIN_EXP __FLT_MIN_EXP__
107#define DBL_MIN_EXP __DBL_MIN_EXP__
108#define LDBL_MIN_EXP __LDBL_MIN_EXP__
109
110#define FLT_MIN_10_EXP __FLT_MIN_10_EXP__
111#define DBL_MIN_10_EXP __DBL_MIN_10_EXP__
112#define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
113
114#define FLT_MAX_EXP __FLT_MAX_EXP__
115#define DBL_MAX_EXP __DBL_MAX_EXP__
116#define LDBL_MAX_EXP __LDBL_MAX_EXP__
117
118#define FLT_MAX_10_EXP __FLT_MAX_10_EXP__
119#define DBL_MAX_10_EXP __DBL_MAX_10_EXP__
120#define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
121
122#define FLT_MAX __FLT_MAX__
123#define DBL_MAX __DBL_MAX__
124#define LDBL_MAX __LDBL_MAX__
125
126#define FLT_EPSILON __FLT_EPSILON__
127#define DBL_EPSILON __DBL_EPSILON__
128#define LDBL_EPSILON __LDBL_EPSILON__
129
130#define FLT_MIN __FLT_MIN__
131#define DBL_MIN __DBL_MIN__
132#define LDBL_MIN __LDBL_MIN__
133
134#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
135 !defined(__STRICT_ANSI__) || \
136 (defined(__cplusplus) && __cplusplus >= 201703L) || \
137 (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
138# define FLT_TRUE_MIN __FLT_DENORM_MIN__
139# define DBL_TRUE_MIN __DBL_DENORM_MIN__
140# define LDBL_TRUE_MIN __LDBL_DENORM_MIN__
141# define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__
142# define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__
143# define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__
144# define FLT_HAS_SUBNORM __FLT_HAS_DENORM__
145# define DBL_HAS_SUBNORM __DBL_HAS_DENORM__
146# define LDBL_HAS_SUBNORM __LDBL_HAS_DENORM__
147#endif
148
149#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
150 !defined(__STRICT_ANSI__)
151 /* C23 5.2.5.3.2p28 */
152# define FLT_SNAN (__builtin_nansf(""))
153# define DBL_SNAN (__builtin_nans(""))
154# define LDBL_SNAN (__builtin_nansl(""))
155
156 /* C23 5.2.5.3.3p32 */
157# define FLT_NORM_MAX __FLT_NORM_MAX__
158# define DBL_NORM_MAX __DBL_NORM_MAX__
159# define LDBL_NORM_MAX __LDBL_NORM_MAX__
160#endif
161
162#ifdef __STDC_WANT_IEC_60559_TYPES_EXT__
163# define FLT16_MANT_DIG __FLT16_MANT_DIG__
164# define FLT16_DECIMAL_DIG __FLT16_DECIMAL_DIG__
165# define FLT16_DIG __FLT16_DIG__
166# define FLT16_MIN_EXP __FLT16_MIN_EXP__
167# define FLT16_MIN_10_EXP __FLT16_MIN_10_EXP__
168# define FLT16_MAX_EXP __FLT16_MAX_EXP__
169# define FLT16_MAX_10_EXP __FLT16_MAX_10_EXP__
170# define FLT16_MAX __FLT16_MAX__
171# define FLT16_EPSILON __FLT16_EPSILON__
172# define FLT16_MIN __FLT16_MIN__
173# define FLT16_TRUE_MIN __FLT16_TRUE_MIN__
174#endif /* __STDC_WANT_IEC_60559_TYPES_EXT__ */
175
176#endif /* __CLANG_FLOAT_FLOAT_H */
lib/include/__float_header_macro.h created+12
......@@ -0,0 +1,12 @@
1/*===---- __float_header_macro.h -------------------------------------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===-----------------------------------------------------------------------===
8 */
9
10#ifndef __CLANG_FLOAT_H
11#define __CLANG_FLOAT_H
12#endif /* __CLANG_FLOAT_H */
lib/include/__float_infinity_nan.h created+20
......@@ -0,0 +1,20 @@
1/*===---- __float_infinity_nan.h -------------------------------------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===-----------------------------------------------------------------------===
8 */
9
10#ifndef __CLANG_FLOAT_INFINITY_NAN_H
11#define __CLANG_FLOAT_INFINITY_NAN_H
12
13/* C23 5.2.5.3.3p29-30 */
14#undef INFINITY
15#undef NAN
16
17#define INFINITY (__builtin_inff())
18#define NAN (__builtin_nanf(""))
19
20#endif /* __CLANG_FLOAT_INFINITY_NAN_H */
lib/include/amo.h created+131
......@@ -0,0 +1,131 @@
1/*===---- amo.h - PowerPC Atomic Memory Operations ------------------------===*\
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7\*===----------------------------------------------------------------------===*/
8
9/* This header provides compatibility for GCC's AMO functions.
10 * The functions here call Clang's underlying AMO builtins.
11 */
12
13#ifndef _AMO_H
14#define _AMO_H
15
16#include <stdint.h>
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22/* AMO Load Operation Codes (FC values) */
23enum {
24 _AMO_LD_ADD = 0x00, /* Fetch and Add */
25 _AMO_LD_XOR = 0x01, /* Fetch and XOR */
26 _AMO_LD_IOR = 0x02, /* Fetch and OR */
27 _AMO_LD_AND = 0x03, /* Fetch and AND */
28 _AMO_LD_UMAX = 0x04, /* Fetch and Maximum Unsigned */
29 _AMO_LD_SMAX = 0x05, /* Fetch and Maximum Signed */
30 _AMO_LD_UMIN = 0x06, /* Fetch and Minimum Unsigned */
31 _AMO_LD_SMIN = 0x07, /* Fetch and Minimum Signed */
32 _AMO_LD_SWAP = 0x08 /* Swap */
33};
34
35/* 32-bit unsigned AMO load operations */
36static inline uint32_t amo_lwat_add(uint32_t *ptr, uint32_t val) {
37 return __builtin_amo_lwat(ptr, val, _AMO_LD_ADD);
38}
39
40static inline uint32_t amo_lwat_xor(uint32_t *ptr, uint32_t val) {
41 return __builtin_amo_lwat(ptr, val, _AMO_LD_XOR);
42}
43
44static inline uint32_t amo_lwat_ior(uint32_t *ptr, uint32_t val) {
45 return __builtin_amo_lwat(ptr, val, _AMO_LD_IOR);
46}
47
48static inline uint32_t amo_lwat_and(uint32_t *ptr, uint32_t val) {
49 return __builtin_amo_lwat(ptr, val, _AMO_LD_AND);
50}
51
52static inline uint32_t amo_lwat_umax(uint32_t *ptr, uint32_t val) {
53 return __builtin_amo_lwat(ptr, val, _AMO_LD_UMAX);
54}
55
56static inline uint32_t amo_lwat_umin(uint32_t *ptr, uint32_t val) {
57 return __builtin_amo_lwat(ptr, val, _AMO_LD_UMIN);
58}
59
60static inline uint32_t amo_lwat_swap(uint32_t *ptr, uint32_t val) {
61 return __builtin_amo_lwat(ptr, val, _AMO_LD_SWAP);
62}
63
64/* 32-bit signed AMO load operations */
65static inline int32_t amo_lwat_sadd(int32_t *ptr, int32_t val) {
66 return __builtin_amo_lwat_s(ptr, val, _AMO_LD_ADD);
67}
68
69static inline int32_t amo_lwat_smax(int32_t *ptr, int32_t val) {
70 return __builtin_amo_lwat_s(ptr, val, _AMO_LD_SMAX);
71}
72
73static inline int32_t amo_lwat_smin(int32_t *ptr, int32_t val) {
74 return __builtin_amo_lwat_s(ptr, val, _AMO_LD_SMIN);
75}
76
77static inline int32_t amo_lwat_sswap(int32_t *ptr, int32_t val) {
78 return __builtin_amo_lwat_s(ptr, val, _AMO_LD_SWAP);
79}
80
81/* 64-bit unsigned AMO load operations */
82static inline uint64_t amo_ldat_add(uint64_t *ptr, uint64_t val) {
83 return __builtin_amo_ldat(ptr, val, _AMO_LD_ADD);
84}
85
86static inline uint64_t amo_ldat_xor(uint64_t *ptr, uint64_t val) {
87 return __builtin_amo_ldat(ptr, val, _AMO_LD_XOR);
88}
89
90static inline uint64_t amo_ldat_ior(uint64_t *ptr, uint64_t val) {
91 return __builtin_amo_ldat(ptr, val, _AMO_LD_IOR);
92}
93
94static inline uint64_t amo_ldat_and(uint64_t *ptr, uint64_t val) {
95 return __builtin_amo_ldat(ptr, val, _AMO_LD_AND);
96}
97
98static inline uint64_t amo_ldat_umax(uint64_t *ptr, uint64_t val) {
99 return __builtin_amo_ldat(ptr, val, _AMO_LD_UMAX);
100}
101
102static inline uint64_t amo_ldat_umin(uint64_t *ptr, uint64_t val) {
103 return __builtin_amo_ldat(ptr, val, _AMO_LD_UMIN);
104}
105
106static inline uint64_t amo_ldat_swap(uint64_t *ptr, uint64_t val) {
107 return __builtin_amo_ldat(ptr, val, _AMO_LD_SWAP);
108}
109
110/* 64-bit signed AMO load operations */
111static inline int64_t amo_ldat_sadd(int64_t *ptr, int64_t val) {
112 return __builtin_amo_ldat_s(ptr, val, _AMO_LD_ADD);
113}
114
115static inline int64_t amo_ldat_smax(int64_t *ptr, int64_t val) {
116 return __builtin_amo_ldat_s(ptr, val, _AMO_LD_SMAX);
117}
118
119static inline int64_t amo_ldat_smin(int64_t *ptr, int64_t val) {
120 return __builtin_amo_ldat_s(ptr, val, _AMO_LD_SMIN);
121}
122
123static inline int64_t amo_ldat_sswap(int64_t *ptr, int64_t val) {
124 return __builtin_amo_ldat_s(ptr, val, _AMO_LD_SWAP);
125}
126
127#ifdef __cplusplus
128}
129#endif
130
131#endif /* _AMO_H */
lib/include/amxavx512intrin.h+215-1
......@@ -16,7 +16,7 @@
1616
1717#define __DEFAULT_FN_ATTRS_AVX512 \
1818 __attribute__((__always_inline__, __nodebug__, \
19 __target__("amx-avx512,avx10.2-512")))
19 __target__("amx-avx512,avx10.2"), __min_vector_width__(512)))
2020
2121/// Moves a row from a tile register to a zmm destination register, converting
2222/// the int32 source elements to fp32. The row of the tile is selected by a
......@@ -52,6 +52,40 @@
5252/// The row of the source tile
5353#define _tile_cvtrowd2ps(tsrc, row) __builtin_ia32_tcvtrowd2ps(tsrc, row)
5454
55/// Moves a row from a tile register to a zmm destination register, converting
56/// the int32 source elements to fp32. The row of the tile is selected by a
57/// 8b immediate value.
58///
59/// \headerfile <x86intrin.h>
60///
61/// \code
62/// __m512i _tile_cvtrowd2psi(__tile tsrc, const unsigned int imm8);
63/// \endcode
64///
65/// \code{.operation}
66/// VL := 512
67/// VL_bytes := VL >> 3
68/// row_index := imm8 & 0x3f
69/// row_chunk := (imm8 >> 6) * VL_bytes
70/// FOR i := 0 TO (VL_bytes / 4) - 1
71/// IF i + row_chunk / 4 >= tsrc.colsb / 4
72/// dst.dword[i] := 0
73/// ELSE
74/// dst.f32[i] := CONVERT_INT32_TO_FP32(tsrc.row[row_index].dword[row_chunk/4+i], RNE)
75/// FI
76/// ENDFOR
77/// dst[MAX_VL-1:VL] := 0
78/// zero_tileconfig_start()
79/// \endcode
80///
81/// This intrinsic corresponds to the \c TCVTROWD2PS instruction.
82///
83/// \param tsrc
84/// The source tile. Max size is 1024 Bytes.
85/// \param imm8
86/// The row of the source tile
87#define _tile_cvtrowd2psi(tsrc, imm8) __builtin_ia32_tcvtrowd2psi(tsrc, imm8)
88
5589/// Moves a row from a tile register to a zmm destination register, converting
5690/// the fp32 source elements to bf16. It places the resulting bf16 elements
5791/// in the high 16 bits within each dword. The row of the tile is selected
......@@ -89,6 +123,43 @@
89123#define _tile_cvtrowps2bf16h(tsrc, row) \
90124 __builtin_ia32_tcvtrowps2bf16h(tsrc, row)
91125
126/// Moves a row from a tile register to a zmm destination register, converting
127/// the fp32 source elements to bf16. It places the resulting bf16 elements
128/// in the high 16 bits within each dword. The row of the tile is selected
129/// by a 8b immediate value.
130///
131/// \headerfile <x86intrin.h>
132///
133/// \code
134/// __m512i _tile_cvtrowps2bf16hi(__tile tsrc, const unsigned int imm8);
135/// \endcode
136///
137/// \code{.operation}
138/// VL := 512
139/// VL_bytes := VL >> 3
140/// row_index := imm8 & 0x3f
141/// row_chunk := (imm8 >> 6) * VL_bytes
142/// FOR i := 0 TO (VL_bytes / 4) - 1
143/// IF i + row_chunk / 4 >= tsrc.colsb / 4
144/// dst.dword[i] := 0
145/// ELSE
146/// dst.word[2*i+0] := 0
147/// dst.bf16[2*i+1] := CONVERT_FP32_TO_BF16(tsrc.row[row_index].fp32[row_chunk/4+i], RNE)
148/// FI
149/// ENDFOR
150/// dst[MAX_VL-1:VL] := 0
151/// zero_tileconfig_start()
152/// \endcode
153///
154/// This intrinsic corresponds to the \c TCVTROWPS2BF16H instruction.
155///
156/// \param tsrc
157/// The source tile. Max size is 1024 Bytes.
158/// \param imm8
159/// The the row of the source tile.
160#define _tile_cvtrowps2bf16hi(tsrc, imm8) \
161 __builtin_ia32_tcvtrowps2bf16hi(tsrc, imm8)
162
92163/// Moves a row from a tile register to a zmm destination register, converting
93164/// the fp32 source elements to bf16. It places the resulting bf16 elements
94165/// in the low 16 bits within each dword. The row of the tile is selected
......@@ -126,6 +197,43 @@
126197#define _tile_cvtrowps2bf16l(tsrc, row) \
127198 __builtin_ia32_tcvtrowps2bf16l(tsrc, row)
128199
200/// Moves a row from a tile register to a zmm destination register, converting
201/// the fp32 source elements to bf16. It places the resulting bf16 elements
202/// in the low 16 bits within each dword. The row of the tile is selected
203/// by a 8b immediate value.
204///
205/// \headerfile <x86intrin.h>
206///
207/// \code
208/// __m512i _tile_cvtrowps2bf16li(__tile tsrc, const unsigned int imm8);
209/// \endcode
210///
211/// \code{.operation}
212/// VL := 512
213/// VL_bytes := VL >> 3
214/// row_index := imm8 & 0x3f
215/// row_chunk := (imm8 >> 6) * VL_bytes
216/// FOR i := 0 TO (VL_bytes / 4) - 1
217/// IF i + row_chunk / 4 >= tsrc.colsb / 4
218/// dst.dword[i] := 0
219/// ELSE
220/// dst.word[2*i+1] := 0
221/// dst.bf16[2*i+0] := CONVERT_FP32_TO_BF16(tsrc.row[row_index].fp32[row_chunk/4+i], RNE)
222/// FI
223/// ENDFOR
224/// dst[MAX_VL-1:VL] := 0
225/// zero_tileconfig_start()
226/// \endcode
227///
228/// This intrinsic corresponds to the \c TCVTROWPS2BF16L instruction.
229///
230/// \param tsrc
231/// The source tile. Max size is 1024 Bytes.
232/// \param imm8
233/// The the row of the source tile.
234#define _tile_cvtrowps2bf16li(tsrc, imm8) \
235 __builtin_ia32_tcvtrowps2bf16li(tsrc, imm8)
236
129237/// Moves a row from a tile register to a zmm destination register, converting
130238/// the fp32 source elements to fp16. It places the resulting fp16 elements
131239/// in the high 16 bits within each dword. The row of the tile is selected
......@@ -162,6 +270,43 @@
162270/// The the row of the source tile.
163271#define _tile_cvtrowps2phh(tsrc, row) __builtin_ia32_tcvtrowps2phh(tsrc, row)
164272
273/// Moves a row from a tile register to a zmm destination register, converting
274/// the fp32 source elements to fp16. It places the resulting fp16 elements
275/// in the high 16 bits within each dword. The row of the tile is selected
276/// by a 8b immediate value.
277///
278/// \headerfile <x86intrin.h>
279///
280/// \code
281/// __m512i _tile_cvtrowps2phhi(__tile tsrc, constunsigned int imm8);
282/// \endcode
283///
284/// \code{.operation}
285/// VL := 512
286/// VL_bytes := VL >> 3
287/// row_index := imm8 & 0x3f
288/// row_chunk := (imm8 >> 6) * VL_bytes
289/// FOR i := 0 TO (VL_bytes / 4) - 1
290/// IF i + row_chunk / 4 >= tsrc.colsb / 4
291/// dst.dword[i] := 0
292/// ELSE
293/// dst.word[2*i+0] := 0
294/// dst.fp16[2*i+1] := CONVERT_FP32_TO_FP16(tsrc.row[row_index].fp32[row_chunk/4+i], RNE)
295/// FI
296/// ENDFOR
297/// dst[MAX_VL-1:VL] := 0
298/// zero_tileconfig_start()
299/// \endcode
300///
301/// This intrinsic corresponds to the \c TCVTROWPS2PHH instruction.
302///
303/// \param tsrc
304/// The source tile. Max size is 1024 Bytes.
305/// \param imm8
306/// The the row of the source tile.
307#define _tile_cvtrowps2phhi(tsrc, imm8) \
308 __builtin_ia32_tcvtrowps2phhi(tsrc, imm8)
309
165310/// Moves a row from a tile register to a zmm destination register, converting
166311/// the fp32 source elements to fp16. It places the resulting fp16 elements
167312/// in the low 16 bits within each dword. The row of the tile is selected
......@@ -198,6 +343,43 @@
198343/// The the row of the source tile.
199344#define _tile_cvtrowps2phl(tsrc, row) __builtin_ia32_tcvtrowps2phl(tsrc, row)
200345
346/// Moves a row from a tile register to a zmm destination register, converting
347/// the fp32 source elements to fp16. It places the resulting fp16 elements
348/// in the low 16 bits within each dword. The row of the tile is selected
349/// by a 8b immediate value.
350///
351/// \headerfile <x86intrin.h>
352///
353/// \code
354/// __m512i _tile_cvtrowps2phli(__tile tsrc, const unsigned int imm8);
355/// \endcode
356///
357/// \code{.operation}
358/// VL := 512
359/// VL_bytes := VL >> 3
360/// row_index := imm8 & 0x3f
361/// row_chunk := (imm8 >> 6) * VL_bytes
362/// FOR i := 0 TO (VL_bytes / 4) - 1
363/// IF i + row_chunk / 4 >= tsrc.colsb / 4
364/// dst.dword[i] := 0
365/// ELSE
366/// dst.word[2*i+1] := 0
367/// dst.fp16[2*i+0] := CONVERT_FP32_TO_FP16(tsrc.row[row_index].fp32[row_chunk/4+i], RNE)
368/// FI
369/// ENDFOR
370/// dst[MAX_VL-1:VL] := 0
371/// zero_tileconfig_start()
372/// \endcode
373///
374/// This intrinsic corresponds to the \c TCVTROWPS2PHL instruction.
375///
376/// \param tsrc
377/// The source tile. Max size is 1024 Bytes.
378/// \param imm8
379/// The the row of the source tile.
380#define _tile_cvtrowps2phli(tsrc, imm8) \
381 __builtin_ia32_tcvtrowps2phli(tsrc, imm8)
382
201383/// Move one row of a tile data to a v16f32 data.
202384/// The row of the tile is selected by a 32b GPR.
203385///
......@@ -230,6 +412,38 @@
230412/// \endcode
231413#define _tile_movrow(a, b) ((__m512i)__builtin_ia32_tilemovrow(a, b))
232414
415/// Move one row of a tile data to a v16f32 data.
416/// The row of the tile is selected by a 8b immediate value.
417///
418/// \headerfile <immintrin.h>
419///
420/// \code
421/// __m512 _tile_movrowi(__tile a, const unsigned b);
422/// \endcode
423///
424/// This intrinsic corresponds to the <c> TILEMOVROW </c> instruction.
425///
426/// \param a
427/// The 1st source tile. Max size is 1024 Bytes.
428/// \param b
429/// The 2nd source r32. Size is 4 Bytes.
430/// \returns
431/// The destination v16f32 data. Size is 64 Bytes.
432///
433/// \code{.operation}
434/// VL := 512
435/// VL_bytes := VL>>3
436/// row_index := b&0x3f
437/// row_chunk := (b>>6) * VL_bytes
438/// FOR i := 0 TO (VL_bytes-1)
439/// IF (row_chunk + i >= a.colsb)
440/// dst.byte[i] := 0
441/// ELSE
442/// dst.byte[i] := a.row[row_index].byte[row_chunk+i]
443/// ENDFOR
444/// \endcode
445#define _tile_movrowi(a, b) ((__m512i)__builtin_ia32_tilemovrowi(a, b))
446
233447/// This is internal intrinsic. C/C++ user should avoid calling it directly.
234448
235449static __inline__ __m512 __DEFAULT_FN_ATTRS_AVX512 _tile_cvtrowd2ps_internal(
lib/include/amxbf16transposeintrin.h deleted-94
......@@ -1,94 +0,0 @@
1/*===----- amxbf16transposeintrin.h - AMX-BF16 and AMX-TRANSPOSE ------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===------------------------------------------------------------------------===
8 */
9
10#ifndef __IMMINTRIN_H
11#error \
12 "Never use <amxbf16transposeintrin.h> directly; use <immintrin.h> instead."
13#endif /* __IMMINTRIN_H */
14
15#ifndef __AMX_BF16TRANSPOSEINTRIN_H
16#define __AMX_BF16TRANSPOSEINTRIN_H
17#ifdef __x86_64__
18
19/* Define the default attributes for the functions in this file. */
20#define __DEFAULT_FN_ATTRS \
21 __attribute__((__always_inline__, __nodebug__, \
22 __target__("amx-bf16,amx-transpose")))
23
24/// Compute transpose and dot-product of BF16 (16-bit) floating-point pairs in
25/// tiles \a a and \a b, accumulating the intermediate single-precision
26/// (32-bit) floating-point elements with elements in \a dst, and store the
27/// 32-bit result back to tile \a dst.
28///
29/// \headerfile <immintrin.h>
30///
31/// \code
32/// void _tile_tdpbf16ps (__tile dst, __tile a, __tile b)
33/// \endcode
34///
35/// \code{.operation}
36/// FOR m := 0 TO dst.rows - 1
37/// tmp := dst.row[m]
38/// FOR k := 0 TO (a.colsb / 4) - 1
39/// FOR n := 0 TO (dst.colsb / 4) - 1
40/// tmp.bf32[n] += FP32(a.row[m].bf16[2*k+0]) *
41/// FP32(b.row[k].bf16[2*n+0])
42/// tmp.bf32[n] += FP32(a.row[m].bf16[2*k+1]) *
43/// FP32(b.row[k].bf16[2*n+1])
44/// ENDFOR
45/// ENDFOR
46/// write_row_and_zero(dst, m, tmp, dst.colsb)
47/// ENDFOR
48/// zero_upper_rows(dst, dst.rows)
49/// zero_tileconfig_start()
50/// \endcode
51///
52/// This intrinsic corresponds to the \c TTDPBF16PS instruction.
53///
54/// \param dst
55/// The destination tile. Max size is 1024 Bytes.
56/// \param a
57/// The 1st source tile. Max size is 1024 Bytes.
58/// \param b
59/// The 2nd source tile. Max size is 1024 Bytes.
60#define _tile_tdpbf16ps(dst, a, b) __builtin_ia32_ttdpbf16ps((dst), (a), (b))
61
62/// This is internal intrinsic. C/C++ user should avoid calling it directly.
63static __inline__ _tile1024i __DEFAULT_FN_ATTRS
64_tile_tdpbf16ps_internal(unsigned short m, unsigned short n, unsigned short k,
65 _tile1024i dst, _tile1024i src1, _tile1024i src2) {
66 return __builtin_ia32_ttdpbf16ps_internal(m, n, k, dst, src1, src2);
67}
68
69/// Compute transpose and dot-product of BF16 (16-bit) floating-point pairs in
70/// tiles src0 and src1, accumulating the intermediate single-precision
71/// (32-bit) floating-point elements with elements in "dst", and store the
72/// 32-bit result back to tile "dst".
73///
74/// \headerfile <immintrin.h>
75///
76/// This intrinsic corresponds to the <c> TTDPBF16PS </c> instruction.
77///
78/// \param dst
79/// The destination tile. Max size is 1024 Bytes.
80/// \param src0
81/// The 1st source tile. Max size is 1024 Bytes.
82/// \param src1
83/// The 2nd source tile. Max size is 1024 Bytes.
84__DEFAULT_FN_ATTRS
85static __inline__ void __tile_tdpbf16ps(__tile1024i *dst, __tile1024i src0,
86 __tile1024i src1) {
87 dst->tile = _tile_tdpbf16ps_internal(src0.row, src1.col, src0.col, dst->tile,
88 src0.tile, src1.tile);
89}
90
91#undef __DEFAULT_FN_ATTRS
92
93#endif /* __x86_64__ */
94#endif /* __AMX_BF16TRANSPOSEINTRIN_H */
lib/include/amxcomplextransposeintrin.h deleted-303
......@@ -1,303 +0,0 @@
1/*===----- amxcomplextransposeintrin.h - AMX-COMPLEX and AMX-TRANSPOSE ------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===------------------------------------------------------------------------===
8 */
9
10#ifndef __IMMINTRIN_H
11#error \
12 "Never use <amxcomplextransposeintrin.h> directly; include <immintrin.h> instead."
13#endif // __IMMINTRIN_H
14
15#ifndef __AMX_COMPLEXTRANSPOSEINTRIN_H
16#define __AMX_COMPLEXTRANSPOSEINTRIN_H
17#ifdef __x86_64__
18
19#define __DEFAULT_FN_ATTRS \
20 __attribute__((__always_inline__, __nodebug__, \
21 __target__("amx-complex,amx-transpose")))
22
23/// Perform matrix multiplication of two tiles containing complex elements and
24/// accumulate the results into a packed single precision tile. Each dword
25/// element in input tiles \a a and \a b is interpreted as a complex number
26/// with FP16 real part and FP16 imaginary part.
27/// Calculates the imaginary part of the result. For each possible combination
28/// of (transposed column of \a a, column of \a b), it performs a set of
29/// multiplication and accumulations on all corresponding complex numbers
30/// (one from \a a and one from \a b). The imaginary part of the \a a element
31/// is multiplied with the real part of the corresponding \a b element, and
32/// the real part of the \a a element is multiplied with the imaginary part
33/// of the corresponding \a b elements. The two accumulated results are
34/// added, and then accumulated into the corresponding row and column of
35/// \a dst.
36///
37/// \headerfile <x86intrin.h>
38///
39/// \code
40/// void _tile_tcmmimfp16ps(__tile dst, __tile a, __tile b);
41/// \endcode
42///
43/// \code{.operation}
44/// FOR m := 0 TO dst.rows - 1
45/// tmp := dst.row[m]
46/// FOR k := 0 TO a.rows - 1
47/// FOR n := 0 TO (dst.colsb / 4) - 1
48/// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) * FP32(b.row[k].fp16[2*n+1])
49/// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+1]) * FP32(b.row[k].fp16[2*n+0])
50/// ENDFOR
51/// ENDFOR
52/// write_row_and_zero(dst, m, tmp, dst.colsb)
53/// ENDFOR
54/// zero_upper_rows(dst, dst.rows)
55/// zero_tileconfig_start()
56/// \endcode
57///
58/// This intrinsic corresponds to the \c TTCMMIMFP16PS instruction.
59///
60/// \param dst
61/// The destination tile. Max size is 1024 Bytes.
62/// \param a
63/// The 1st source tile. Max size is 1024 Bytes.
64/// \param b
65/// The 2nd source tile. Max size is 1024 Bytes.
66#define _tile_tcmmimfp16ps(dst, a, b) \
67 __builtin_ia32_ttcmmimfp16ps((dst), (a), (b))
68
69/// Perform matrix multiplication of two tiles containing complex elements and
70/// accumulate the results into a packed single precision tile. Each dword
71/// element in input tiles \a a and \a b is interpreted as a complex number
72/// with FP16 real part and FP16 imaginary part.
73/// Calculates the real part of the result. For each possible combination
74/// of (rtransposed colum of \a a, column of \a b), it performs a set of
75/// multiplication and accumulations on all corresponding complex numbers
76/// (one from \a a and one from \a b). The real part of the \a a element is
77/// multiplied with the real part of the corresponding \a b element, and the
78/// negated imaginary part of the \a a element is multiplied with the
79/// imaginary part of the corresponding \a b elements. The two accumulated
80/// results are added, and then accumulated into the corresponding row and
81/// column of \a dst.
82///
83/// \headerfile <x86intrin.h>
84///
85/// \code
86/// void _tile_tcmmrlfp16ps(__tile dst, __tile a, __tile b);
87/// \endcode
88///
89/// \code{.operation}
90/// FOR m := 0 TO dst.rows - 1
91/// tmp := dst.row[m]
92/// FOR k := 0 TO a.rows - 1
93/// FOR n := 0 TO (dst.colsb / 4) - 1
94/// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) * FP32(b.row[k].fp16[2*n+0])
95/// tmp.fp32[n] += FP32(-a.row[m].fp16[2*k+1]) * FP32(b.row[k].fp16[2*n+1])
96/// ENDFOR
97/// ENDFOR
98/// write_row_and_zero(dst, m, tmp, dst.colsb)
99/// ENDFOR
100/// zero_upper_rows(dst, dst.rows)
101/// zero_tileconfig_start()
102/// \endcode
103///
104/// This intrinsic corresponds to the \c TTCMMIMFP16PS instruction.
105///
106/// \param dst
107/// The destination tile. Max size is 1024 Bytes.
108/// \param a
109/// The 1st source tile. Max size is 1024 Bytes.
110/// \param b
111/// The 2nd source tile. Max size is 1024 Bytes.
112#define _tile_tcmmrlfp16ps(dst, a, b) \
113 __builtin_ia32_ttcmmrlfp16ps((dst), (a), (b))
114
115/// Perform matrix conjugate transpose and multiplication of two tiles
116/// containing complex elements and accumulate the results into a packed
117/// single precision tile. Each dword element in input tiles \a a and \a b
118/// is interpreted as a complex number with FP16 real part and FP16 imaginary
119/// part.
120/// Calculates the imaginary part of the result. For each possible combination
121/// of (transposed column of \a a, column of \a b), it performs a set of
122/// multiplication and accumulations on all corresponding complex numbers
123/// (one from \a a and one from \a b). The negated imaginary part of the \a a
124/// element is multiplied with the real part of the corresponding \a b
125/// element, and the real part of the \a a element is multiplied with the
126/// imaginary part of the corresponding \a b elements. The two accumulated
127/// results are added, and then accumulated into the corresponding row and
128/// column of \a dst.
129///
130/// \headerfile <x86intrin.h>
131///
132/// \code
133/// void _tile_conjtcmmimfp16ps(__tile dst, __tile a, __tile b);
134/// \endcode
135///
136/// \code{.operation}
137/// FOR m := 0 TO dst.rows - 1
138/// tmp := dst.row[m]
139/// FOR k := 0 TO a.rows - 1
140/// FOR n := 0 TO (dst.colsb / 4) - 1
141/// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) * FP32(b.row[k].fp16[2*n+1])
142/// tmp.fp32[n] += FP32(-a.row[m].fp16[2*k+1]) * FP32(b.row[k].fp16[2*n+0])
143/// ENDFOR
144/// ENDFOR
145/// write_row_and_zero(dst, m, tmp, dst.colsb)
146/// ENDFOR
147/// zero_upper_rows(dst, dst.rows)
148/// zero_tileconfig_start()
149/// \endcode
150///
151/// This intrinsic corresponds to the \c TCONJTCMMIMFP16PS instruction.
152///
153/// \param dst
154/// The destination tile. Max size is 1024 Bytes.
155/// \param a
156/// The 1st source tile. Max size is 1024 Bytes.
157/// \param b
158/// The 2nd source tile. Max size is 1024 Bytes.
159#define _tile_conjtcmmimfp16ps(dst, a, b) \
160 __builtin_ia32_tconjtcmmimfp16ps((dst), (a), (b))
161
162/// Perform conjugate transpose of an FP16-pair of complex elements from \a a
163/// and writes the result to \a dst.
164///
165/// \headerfile <x86intrin.h>
166///
167/// \code
168/// void _tile_conjtfp16(__tile dst, __tile a);
169/// \endcode
170///
171/// \code{.operation}
172/// FOR i := 0 TO dst.rows - 1
173/// FOR j := 0 TO (dst.colsb / 4) - 1
174/// tmp.fp16[2*j+0] := a.row[j].fp16[2*i+0]
175/// tmp.fp16[2*j+1] := -a.row[j].fp16[2*i+1]
176/// ENDFOR
177/// write_row_and_zero(dst, i, tmp, dst.colsb)
178/// ENDFOR
179/// zero_upper_rows(dst, dst.rows)
180/// zero_tileconfig_start()
181/// \endcode
182///
183/// This intrinsic corresponds to the \c TCONJTFP16 instruction.
184///
185/// \param dst
186/// The destination tile. Max size is 1024 Bytes.
187/// \param a
188/// The source tile. Max size is 1024 Bytes.
189#define _tile_conjtfp16(dst, a) __builtin_ia32_tconjtfp16((dst), (a))
190
191static __inline__ _tile1024i __DEFAULT_FN_ATTRS _tile_tcmmimfp16ps_internal(
192 unsigned short m, unsigned short n, unsigned short k, _tile1024i dst,
193 _tile1024i src1, _tile1024i src2) {
194 return __builtin_ia32_ttcmmimfp16ps_internal(m, n, k, dst, src1, src2);
195}
196
197static __inline__ _tile1024i __DEFAULT_FN_ATTRS _tile_tcmmrlfp16ps_internal(
198 unsigned short m, unsigned short n, unsigned short k, _tile1024i dst,
199 _tile1024i src1, _tile1024i src2) {
200 return __builtin_ia32_ttcmmrlfp16ps_internal(m, n, k, dst, src1, src2);
201}
202
203static __inline__ _tile1024i __DEFAULT_FN_ATTRS _tile_conjtcmmimfp16ps_internal(
204 unsigned short m, unsigned short n, unsigned short k, _tile1024i dst,
205 _tile1024i src1, _tile1024i src2) {
206 return __builtin_ia32_tconjtcmmimfp16ps_internal(m, n, k, dst, src1, src2);
207}
208
209static __inline__ _tile1024i __DEFAULT_FN_ATTRS
210_tile_conjtfp16_internal(unsigned short m, unsigned short n, _tile1024i src) {
211 return __builtin_ia32_tconjtfp16_internal(m, n, src);
212}
213
214/// Perform matrix multiplication of two tiles containing complex elements and
215/// accumulate the results into a packed single precision tile. Each dword
216/// element in input tiles src0 and src1 is interpreted as a complex number
217/// with FP16 real part and FP16 imaginary part.
218/// This function calculates the imaginary part of the result.
219///
220/// \headerfile <immintrin.h>
221///
222/// This intrinsic corresponds to the <c> TTCMMIMFP16PS </c> instruction.
223///
224/// \param dst
225/// The destination tile. Max size is 1024 Bytes.
226/// \param src0
227/// The 1st source tile. Max size is 1024 Bytes.
228/// \param src1
229/// The 2nd source tile. Max size is 1024 Bytes.
230__DEFAULT_FN_ATTRS
231static void __tile_tcmmimfp16ps(__tile1024i *dst, __tile1024i src0,
232 __tile1024i src1) {
233 dst->tile = _tile_tcmmimfp16ps_internal(src0.row, src1.col, src0.col,
234 dst->tile, src0.tile, src1.tile);
235}
236
237/// Perform matrix multiplication of two tiles containing complex elements and
238/// accumulate the results into a packed single precision tile. Each dword
239/// element in input tiles src0 and src1 is interpreted as a complex number
240/// with FP16 real part and FP16 imaginary part.
241/// This function calculates the real part of the result.
242///
243/// \headerfile <immintrin.h>
244///
245/// This intrinsic corresponds to the <c> TTCMMRLFP16PS </c> instruction.
246///
247/// \param dst
248/// The destination tile. Max size is 1024 Bytes.
249/// \param src0
250/// The 1st source tile. Max size is 1024 Bytes.
251/// \param src1
252/// The 2nd source tile. Max size is 1024 Bytes.
253__DEFAULT_FN_ATTRS
254static void __tile_tcmmrlfp16ps(__tile1024i *dst, __tile1024i src0,
255 __tile1024i src1) {
256 dst->tile = _tile_tcmmrlfp16ps_internal(src0.row, src1.col, src0.col,
257 dst->tile, src0.tile, src1.tile);
258}
259
260/// Perform matrix conjugate transpose and multiplication of two tiles
261/// containing complex elements and accumulate the results into a packed
262/// single precision tile. Each dword element in input tiles src0 and src1
263/// is interpreted as a complex number with FP16 real part and FP16 imaginary
264/// part.
265/// This function calculates the imaginary part of the result.
266///
267/// \headerfile <immintrin.h>
268///
269/// This intrinsic corresponds to the <c> TCONJTCMMIMFP16PS </c> instruction.
270///
271/// \param dst
272/// The destination tile. Max size is 1024 Bytes.
273/// \param src0
274/// The 1st source tile. Max size is 1024 Bytes.
275/// \param src1
276/// The 2nd source tile. Max size is 1024 Bytes.
277__DEFAULT_FN_ATTRS
278static void __tile_conjtcmmimfp16ps(__tile1024i *dst, __tile1024i src0,
279 __tile1024i src1) {
280 dst->tile = _tile_conjtcmmimfp16ps_internal(src0.row, src1.col, src0.col,
281 dst->tile, src0.tile, src1.tile);
282}
283
284/// Perform conjugate transpose of an FP16-pair of complex elements from src and
285/// writes the result to dst.
286///
287/// \headerfile <immintrin.h>
288///
289/// This intrinsic corresponds to the <c> TCONJTFP16 </c> instruction.
290///
291/// \param dst
292/// The destination tile. Max size is 1024 Bytes.
293/// \param src
294/// The source tile. Max size is 1024 Bytes.
295__DEFAULT_FN_ATTRS
296static void __tile_conjtfp16(__tile1024i *dst, __tile1024i src) {
297 dst->tile = _tile_conjtfp16_internal(src.row, src.col, src.tile);
298}
299
300#undef __DEFAULT_FN_ATTRS
301
302#endif // __x86_64__
303#endif // __AMX_COMPLEXTRANSPOSEINTRIN_H
lib/include/amxfp16transposeintrin.h deleted-94
......@@ -1,94 +0,0 @@
1/*===----- amxfp16transposeintrin.h - AMX-FP16 and AMX-TRANSPOSE ------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===------------------------------------------------------------------------===
8 */
9
10#ifndef __IMMINTRIN_H
11#error \
12 "Never use <amxfp16transposeintrin.h> directly; use <immintrin.h> instead."
13#endif /* __IMMINTRIN_H */
14
15#ifndef __AMX_FP16TRANSPOSEINTRIN_H
16#define __AMX_FP16TRANSPOSEINTRIN_H
17#ifdef __x86_64__
18
19/* Define the default attributes for the functions in this file. */
20#define __DEFAULT_FN_ATTRS \
21 __attribute__((__always_inline__, __nodebug__, \
22 __target__("amx-fp16,amx-transpose")))
23
24/// Compute transpose and dot-product of FP16 (16-bit) floating-point pairs in
25/// tiles \a a and \a b, accumulating the intermediate single-precision
26/// (32-bit) floating-point elements with elements in \a dst, and store the
27/// 32-bit result back to tile \a dst.
28///
29/// \headerfile <immintrin.h>
30///
31/// \code
32/// void _tile_tdpfp16ps (__tile dst, __tile a, __tile b)
33/// \endcode
34///
35/// \code{.operation}
36/// FOR m := 0 TO dst.rows - 1
37/// tmp := dst.row[m]
38/// FOR k := 0 TO (a.colsb / 4) - 1
39/// FOR n := 0 TO (dst.colsb / 4) - 1
40/// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+0]) *
41/// FP32(b.row[k].fp16[2*n+0])
42/// tmp.fp32[n] += FP32(a.row[m].fp16[2*k+1]) *
43/// FP32(b.row[k].fp16[2*n+1])
44/// ENDFOR
45/// ENDFOR
46/// write_row_and_zero(dst, m, tmp, dst.colsb)
47/// ENDFOR
48/// zero_upper_rows(dst, dst.rows)
49/// zero_tileconfig_start()
50/// \endcode
51///
52/// This intrinsic corresponds to the \c TTDPFP16PS instruction.
53///
54/// \param dst
55/// The destination tile. Max size is 1024 Bytes.
56/// \param a
57/// The 1st source tile. Max size is 1024 Bytes.
58/// \param b
59/// The 2nd source tile. Max size is 1024 Bytes.
60#define _tile_tdpfp16ps(dst, a, b) __builtin_ia32_ttdpfp16ps((dst), (a), (b))
61
62/// This is internal intrinsic. C/C++ user should avoid calling it directly.
63static __inline__ _tile1024i __DEFAULT_FN_ATTRS
64_tile_tdpfp16ps_internal(unsigned short m, unsigned short n, unsigned short k,
65 _tile1024i dst, _tile1024i src1, _tile1024i src2) {
66 return __builtin_ia32_ttdpfp16ps_internal(m, n, k, dst, src1, src2);
67}
68
69/// Compute transpose and dot-product of FP16 (16-bit) floating-point pairs in
70/// tiles src0 and src1, accumulating the intermediate single-precision
71/// (32-bit) floating-point elements with elements in "dst", and store the
72/// 32-bit result back to tile "dst".
73///
74/// \headerfile <immintrin.h>
75///
76/// This intrinsic corresponds to the <c> TTDPFP16PS </c> instruction.
77///
78/// \param dst
79/// The destination tile. Max size is 1024 Bytes.
80/// \param src0
81/// The 1st source tile. Max size is 1024 Bytes.
82/// \param src1
83/// The 2nd source tile. Max size is 1024 Bytes.
84__DEFAULT_FN_ATTRS
85static __inline__ void __tile_tdpfp16ps(__tile1024i *dst, __tile1024i src0,
86 __tile1024i src1) {
87 dst->tile = _tile_tdpfp16ps_internal(src0.row, src1.col, src0.col, dst->tile,
88 src0.tile, src1.tile);
89}
90
91#undef __DEFAULT_FN_ATTRS
92
93#endif /* __x86_64__ */
94#endif /* __AMX_FP16TRANSPOSEINTRIN_H */
lib/include/amxintrin.h-2
......@@ -230,8 +230,6 @@ static __inline__ void __DEFAULT_FN_ATTRS_TILE _tile_release(void) {
230230/// bytes. Since there is no 2D type in llvm IR, we use vector type to
231231/// represent 2D tile and the fixed size is maximum amx tile register size.
232232typedef int _tile1024i __attribute__((__vector_size__(1024), __aligned__(64)));
233typedef int _tile1024i_1024a
234 __attribute__((__vector_size__(1024), __aligned__(1024)));
235233
236234/// This is internal intrinsic. C/C++ user should avoid calling it directly.
237235static __inline__ _tile1024i __DEFAULT_FN_ATTRS_TILE
lib/include/amxmovrstransposeintrin.h deleted-200
......@@ -1,200 +0,0 @@
1/* ===--- amxmovrstransposeintrin.h - AMX_MOVRS_TRANSPOSE intrinsics --------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 * ===-----------------------------------------------------------------------===
8 */
9
10#ifndef __IMMINTRIN_H
11#error \
12 "Never use <amxmovrstransposeintrin.h> directly; use <immintrin.h> instead."
13#endif /* __IMMINTRIN_H */
14
15#ifndef __AMX_MOVRS_TRANSPOSEINTRIN_H
16#define __AMX_MOVRS_TRANSPOSEINTRIN_H
17#ifdef __x86_64__
18
19#define __DEFAULT_FN_ATTRS \
20 __attribute__((__always_inline__, __nodebug__, \
21 __target__("amx-transpose,amx-movrs")))
22
23#define _tile_2rpntlvwz0rs(tdst, base, stride) \
24 __builtin_ia32_t2rpntlvwz0rs(tdst, base, stride)
25#define _tile_2rpntlvwz0rst1(tdst, base, stride) \
26 __builtin_ia32_t2rpntlvwz0rst1(tdst, base, stride)
27#define _tile_2rpntlvwz1rs(tdst, base, stride) \
28 __builtin_ia32_t2rpntlvwz1rs(tdst, base, stride)
29#define _tile_2rpntlvwz1rst1(tdst, base, stride) \
30 __builtin_ia32_t2rpntlvwz1rst1(tdst, base, stride)
31
32static __inline__ void __DEFAULT_FN_ATTRS _tile_2rpntlvwz0rs_internal(
33 unsigned short row, unsigned short col0, unsigned short col1,
34 _tile1024i *dst0, _tile1024i *dst1, const void *base,
35 __SIZE_TYPE__ stride) {
36 // Use __tile1024i_1024a* to escape the alignment check in
37 // clang/test/Headers/x86-intrinsics-headers-clean.cpp
38 __builtin_ia32_t2rpntlvwz0rs_internal(
39 row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
40 (__SIZE_TYPE__)(stride));
41}
42
43static __inline__ void __DEFAULT_FN_ATTRS _tile_2rpntlvwz0rst1_internal(
44 unsigned short row, unsigned short col0, unsigned short col1,
45 _tile1024i *dst0, _tile1024i *dst1, const void *base,
46 __SIZE_TYPE__ stride) {
47 __builtin_ia32_t2rpntlvwz0rst1_internal(
48 row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
49 (__SIZE_TYPE__)(stride));
50}
51
52static __inline__ void __DEFAULT_FN_ATTRS _tile_2rpntlvwz1rs_internal(
53 unsigned short row, unsigned short col0, unsigned short col1,
54 _tile1024i *dst0, _tile1024i *dst1, const void *base,
55 __SIZE_TYPE__ stride) {
56 __builtin_ia32_t2rpntlvwz1rs_internal(
57 row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
58 (__SIZE_TYPE__)(stride));
59}
60
61static __inline__ void __DEFAULT_FN_ATTRS _tile_2rpntlvwz1rst1_internal(
62 unsigned short row, unsigned short col0, unsigned short col1,
63 _tile1024i *dst0, _tile1024i *dst1, const void *base,
64 __SIZE_TYPE__ stride) {
65 __builtin_ia32_t2rpntlvwz1rst1_internal(
66 row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
67 (__SIZE_TYPE__)(stride));
68}
69
70/// Converts a pair of tiles from memory into VNNI format, and places the
71/// results in a pair of destinations specified by dst. The pair of tiles
72/// in memory is specified via a tsib; the second tile is after the first
73/// one, separated by the same stride that separates each row.
74/// The tile configuration for the destination tiles indicates the amount
75/// of data to read from memory. The instruction will load a number of rows
76/// that is equal to twice the number of rows in tmm1. The size of each row
77/// is equal to the average width of the destination tiles. If the second
78/// tile is configured with zero rows and columns, only the first tile will
79/// be written.
80/// Provides a hint to the implementation that the data will likely become
81/// read shared in the near future and the data caching can be optimized.
82///
83/// \headerfile <immintrin.h>
84///
85/// This intrinsic corresponds to the <c> T2RPNTLVWZ0RS </c> instruction.
86///
87/// \param dst0
88/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
89/// \param dst1
90/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
91/// \param base
92/// A pointer to base address.
93/// \param stride
94/// The stride between the rows' data to be loaded in memory.
95__DEFAULT_FN_ATTRS
96static void __tile_2rpntlvwz0rs(__tile1024i *dst0, __tile1024i *dst1,
97 const void *base, __SIZE_TYPE__ stride) {
98 _tile_2rpntlvwz0rs_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
99 &dst1->tile, base, stride);
100}
101
102/// Converts a pair of tiles from memory into VNNI format, and places the
103/// results in a pair of destinations specified by dst. The pair of tiles
104/// in memory is specified via a tsib; the second tile is after the first
105/// one, separated by the same stride that separates each row.
106/// The tile configuration for the destination tiles indicates the amount
107/// of data to read from memory. The instruction will load a number of rows
108/// that is equal to twice the number of rows in tmm1. The size of each row
109/// is equal to the average width of the destination tiles. If the second
110/// tile is configured with zero rows and columns, only the first tile will
111/// be written.
112///
113/// \headerfile <immintrin.h>
114///
115/// This intrinsic corresponds to the <c> T2RPNTLVWZ0T1RS </c> instruction.
116///
117/// \param dst0
118/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
119/// \param dst1
120/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
121/// \param base
122/// A pointer to base address.
123/// \param stride
124/// The stride between the rows' data to be loaded in memory.
125__DEFAULT_FN_ATTRS
126static void __tile_2rpntlvwz0rst1(__tile1024i *dst0, __tile1024i *dst1,
127 const void *base, __SIZE_TYPE__ stride) {
128 _tile_2rpntlvwz0rst1_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
129 &dst1->tile, base, stride);
130}
131
132/// Converts a pair of tiles from memory into VNNI format, and places the
133/// results in a pair of destinations specified by dst. The pair of tiles
134/// in memory is specified via a tsib; the second tile is after the first
135/// one, separated by the same stride that separates each row.
136/// The tile configuration for the destination tiles indicates the amount
137/// of data to read from memory. The instruction will load a number of rows
138/// that is equal to twice the number of rows in tmm1. The size of each row
139/// is equal to the average width of the destination tiles. If the second
140/// tile is configured with zero rows and columns, only the first tile will
141/// be written. The last row will be not be read from memory but instead
142/// filled with zeros.
143/// Provides a hint to the implementation that the data will likely become
144/// read shared in the near future and the data caching can be optimized.
145///
146/// \headerfile <immintrin.h>
147///
148/// This intrinsic corresponds to the <c> T2RPNTLVWZ1 </c> instruction.
149///
150/// \param dst0
151/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
152/// \param dst1
153/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
154/// \param base
155/// A pointer to base address.
156/// \param stride
157/// The stride between the rows' data to be loaded in memory.
158__DEFAULT_FN_ATTRS
159static void __tile_2rpntlvwz1rs(__tile1024i *dst0, __tile1024i *dst1,
160 const void *base, __SIZE_TYPE__ stride) {
161 _tile_2rpntlvwz1rs_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
162 &dst1->tile, base, stride);
163}
164
165/// Converts a pair of tiles from memory into VNNI format, and places the
166/// results in a pair of destinations specified by dst. The pair of tiles
167/// in memory is specified via a tsib; the second tile is after the first
168/// one, separated by the same stride that separates each row.
169/// The tile configuration for the destination tiles indicates the amount
170/// of data to read from memory. The instruction will load a number of rows
171/// that is equal to twice the number of rows in tmm1. The size of each row
172/// is equal to the average width of the destination tiles. If the second
173/// tile is configured with zero rows and columns, only the first tile will
174/// be written. The last row will be not be read from memory but instead
175/// filled with zeros.
176/// Provides a hint to the implementation that the data will likely become
177/// read shared in the near future and the data caching can be optimized.
178///
179/// \headerfile <immintrin.h>
180///
181/// This intrinsic corresponds to the <c> T2RPNTLVWZ1T1RS </c> instruction.
182///
183/// \param dst0
184/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
185/// \param dst1
186/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
187/// \param base
188/// A pointer to base address.
189/// \param stride
190/// The stride between the rows' data to be loaded in memory.
191__DEFAULT_FN_ATTRS
192static void __tile_2rpntlvwz1rst1(__tile1024i *dst0, __tile1024i *dst1,
193 const void *base, __SIZE_TYPE__ stride) {
194 _tile_2rpntlvwz1rst1_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
195 &dst1->tile, base, stride);
196}
197
198#undef __DEFAULT_FN_ATTRS
199#endif /* __x86_64__ */
200#endif /* __AMX_MOVRS_TRANSPOSEINTRIN_H */
lib/include/amxtf32transposeintrin.h deleted-105
......@@ -1,105 +0,0 @@
1/*===--------- amxtf32transposeintrin.h - AMX-TF32 and AMX-TRANSPOSE --------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===------------------------------------------------------------------------===
8 */
9#ifndef __IMMINTRIN_H
10#error \
11 "Never use <amxtf32transposeintrin.h> directly; include <immintrin.h> instead."
12#endif // __IMMINTRIN_H
13
14#ifndef __AMX_TF32TRANSPOSEINTRIN_H
15#define __AMX_TF32TRANSPOSEINTRIN_H
16#ifdef __x86_64__
17
18#define __DEFAULT_FN_ATTRS_TF32_TRANSPOSE \
19 __attribute__((__always_inline__, __nodebug__, \
20 __target__("amx-tf32,amx-transpose")))
21
22/// \code
23/// void _tile_tmmultf32ps(constexpr int srcdst, constexpr int a, \
24/// constexpr int b);
25/// \endcode
26///
27/// This intrinsic corresponds to the <c> TTMMULTF32PS </c> instruction.
28///
29/// \param srcdst
30/// The destination tile. Max size is 1024 Bytes.
31/// \param a
32/// The 1st source tile. Max size is 1024 Bytes.
33/// \param b
34/// The 2nd source tile. Max size is 1024 Bytes.
35///
36/// \code{.operation}
37/// DEFINE zero_lower_mantissa_bits_fp32(x[31:0]) {
38/// dword[12:0] := 0
39/// dword[31:13] := x[31:13]
40/// return dword
41/// }
42///
43/// DEFINE silence_snan_fp32(x[31:0]) {
44/// IF (x.exponent == 255 and x.fraction != 0 and x.fraction[22] == 0)
45/// x.fraction[22] := 1
46/// return x
47/// }
48///
49/// elements_dest:= srcdst.colsb/4
50///
51/// FOR m := 0 TO (srcdst.rows-1)
52/// tmp[511:0] := 0
53/// FOR k := 0 TO (a.rows-1)
54/// FOR n := 0 TO (elements_dest-1)
55/// a1e := silence_snan_fp32(a.row[k].fp32[m])
56/// a2e := silence_snan_fp32(b.row[k].fp32[n])
57/// s1e := zero_lower_mantissa_bits_fp32(a1e)
58/// s2e := zero_lower_mantissa_bits_fp32(a2e)
59/// tmp.fp32[n] += s1e * s2e
60/// ENDFOR
61/// ENDFOR
62///
63/// FOR n := 0 TO (elements_dest-1)
64/// tmp.fp32[n] += srcdst.row[m].fp32[n]
65/// ENDFOR
66/// write_row_and_zero(srcdst, m, tmp, srcdst.colsb)
67///
68/// ENDFOR
69///
70/// zero_upper_rows(srcdst, srcdst.rows)
71/// zero_tileconfig_start()
72/// \endcode
73#define _tile_tmmultf32ps(srcdst, a, b) \
74 __builtin_ia32_ttmmultf32ps((srcdst), (a), (b))
75
76// dst = m x n (srcdest), src1 = k x m, src2 = k x n
77static __inline__ _tile1024i __DEFAULT_FN_ATTRS_TF32_TRANSPOSE
78_tile_tmmultf32ps_internal(unsigned short m, unsigned short n, unsigned short k,
79 _tile1024i dst, _tile1024i src1, _tile1024i src2) {
80 return __builtin_ia32_ttmmultf32ps_internal(m, n, k, dst, src1, src2);
81}
82
83/// Compute transpose and do Matrix Multiplication of src0 and src1, and then do
84/// Matrix Plus with dst. All the calculation is base on float32 but with the
85/// lower 13-bit set to 0.
86///
87/// \headerfile <immintrin.h>
88///
89/// This intrinsic corresponds to the <c> TTMMULTF32PS </c> instruction.
90///
91/// \param dst
92/// The destination tile. Max size is 1024 Bytes.
93/// \param src0
94/// The 1st source tile. Max size is 1024 Bytes.
95/// \param src1
96/// The 2nd source tile. Max size is 1024 Bytes.
97__DEFAULT_FN_ATTRS_TF32_TRANSPOSE
98static void __tile_tmmultf32ps(__tile1024i *dst, __tile1024i src0,
99 __tile1024i src1) {
100 dst->tile = _tile_tmmultf32ps_internal(src0.row, src1.col, src0.col,
101 dst->tile, src0.tile, src1.tile);
102}
103
104#endif // __x86_64__
105#endif // __AMX_TF32TRANSPOSEINTRIN_H
lib/include/amxtransposeintrin.h deleted-248
......@@ -1,248 +0,0 @@
1/* ===--- amxtransposeintrin.h - AMX_TRANSPOSE intrinsics -*- C++ -*---------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 * ===-----------------------------------------------------------------------===
8 */
9
10#ifndef __IMMINTRIN_H
11#error "Never use <amxtransposeintrin.h> directly; use <immintrin.h> instead."
12#endif /* __IMMINTRIN_H */
13
14#ifndef __AMX_TRANSPOSEINTRIN_H
15#define __AMX_TRANSPOSEINTRIN_H
16#ifdef __x86_64__
17
18#define __DEFAULT_FN_ATTRS_TRANSPOSE \
19 __attribute__((__always_inline__, __nodebug__, __target__("amx-transpose")))
20
21#define _tile_2rpntlvwz0(tdst, base, stride) \
22 __builtin_ia32_t2rpntlvwz0(tdst, base, stride)
23#define _tile_2rpntlvwz0t1(tdst, base, stride) \
24 __builtin_ia32_t2rpntlvwz0t1(tdst, base, stride)
25#define _tile_2rpntlvwz1(tdst, base, stride) \
26 __builtin_ia32_t2rpntlvwz1(tdst, base, stride)
27#define _tile_2rpntlvwz1t1(tdst, base, stride) \
28 __builtin_ia32_t2rpntlvwz1t1(tdst, base, stride)
29
30/// Transpose 32-bit elements from \a src and write the result to \a dst.
31///
32/// \headerfile <immintrin.h>
33///
34/// \code
35/// void _tile_transposed(__tile dst, __tile src);
36/// \endcode
37///
38/// This intrinsic corresponds to the <c> TTRANSPOSED </c> instruction.
39///
40/// \param dst
41/// The destination tile. Max size is 1024 Bytes.
42/// \param src
43/// The source tile. Max size is 1024 Bytes.
44///
45/// \code{.operation}
46///
47/// FOR i := 0 TO (dst.rows-1)
48/// tmp[511:0] := 0
49/// FOR j := 0 TO (dst.colsb/4-1)
50/// tmp.dword[j] := src.row[j].dword[i]
51/// ENDFOR
52/// dst.row[i] := tmp
53/// ENDFOR
54///
55/// zero_upper_rows(dst, dst.rows)
56/// zero_tileconfig_start()
57/// \endcode
58#define _tile_transposed(dst, src) __builtin_ia32_ttransposed(dst, src)
59
60static __inline__ void __DEFAULT_FN_ATTRS_TRANSPOSE _tile_2rpntlvwz0_internal(
61 unsigned short row, unsigned short col0, unsigned short col1,
62 _tile1024i *dst0, _tile1024i *dst1, const void *base,
63 __SIZE_TYPE__ stride) {
64 // Use __tile1024i_1024a* to escape the alignment check in
65 // clang/test/Headers/x86-intrinsics-headers-clean.cpp
66 __builtin_ia32_t2rpntlvwz0_internal(row, col0, col1, (_tile1024i_1024a *)dst0,
67 (_tile1024i_1024a *)dst1, base,
68 (__SIZE_TYPE__)(stride));
69}
70
71static __inline__ void __DEFAULT_FN_ATTRS_TRANSPOSE _tile_2rpntlvwz0t1_internal(
72 unsigned short row, unsigned short col0, unsigned short col1,
73 _tile1024i *dst0, _tile1024i *dst1, const void *base,
74 __SIZE_TYPE__ stride) {
75 __builtin_ia32_t2rpntlvwz0t1_internal(
76 row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
77 (__SIZE_TYPE__)(stride));
78}
79
80static __inline__ void __DEFAULT_FN_ATTRS_TRANSPOSE _tile_2rpntlvwz1_internal(
81 unsigned short row, unsigned short col0, unsigned short col1,
82 _tile1024i *dst0, _tile1024i *dst1, const void *base,
83 __SIZE_TYPE__ stride) {
84 __builtin_ia32_t2rpntlvwz1_internal(row, col0, col1, (_tile1024i_1024a *)dst0,
85 (_tile1024i_1024a *)dst1, base,
86 (__SIZE_TYPE__)(stride));
87}
88
89static __inline__ void __DEFAULT_FN_ATTRS_TRANSPOSE _tile_2rpntlvwz1t1_internal(
90 unsigned short row, unsigned short col0, unsigned short col1,
91 _tile1024i *dst0, _tile1024i *dst1, const void *base,
92 __SIZE_TYPE__ stride) {
93 __builtin_ia32_t2rpntlvwz1t1_internal(
94 row, col0, col1, (_tile1024i_1024a *)dst0, (_tile1024i_1024a *)dst1, base,
95 (__SIZE_TYPE__)(stride));
96}
97
98// This is internal intrinsic. C/C++ user should avoid calling it directly.
99static __inline__ _tile1024i __DEFAULT_FN_ATTRS_TRANSPOSE
100_tile_transposed_internal(unsigned short m, unsigned short n, _tile1024i src) {
101 return __builtin_ia32_ttransposed_internal(m, n, src);
102}
103
104/// Converts a pair of tiles from memory into VNNI format, and places the
105/// results in a pair of destinations specified by dst. The pair of tiles
106/// in memory is specified via a tsib; the second tile is after the first
107/// one, separated by the same stride that separates each row.
108/// The tile configuration for the destination tiles indicates the amount
109/// of data to read from memory. The instruction will load a number of rows
110/// that is equal to twice the number of rows in tmm1. The size of each row
111/// is equal to the average width of the destination tiles. If the second
112/// tile is configured with zero rows and columns, only the first tile will
113/// be written.
114/// Provides a hint to the implementation that the data will likely not be
115/// reused in the near future and the data caching can be optimized.
116///
117/// \headerfile <immintrin.h>
118///
119/// This intrinsic corresponds to the <c> T2RPNTLVWZ0 </c> instruction.
120///
121/// \param dst0
122/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
123/// \param dst1
124/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
125/// \param base
126/// A pointer to base address.
127/// \param stride
128/// The stride between the rows' data to be loaded in memory.
129__DEFAULT_FN_ATTRS_TRANSPOSE
130static void __tile_2rpntlvwz0(__tile1024i *dst0, __tile1024i *dst1,
131 const void *base, __SIZE_TYPE__ stride) {
132 _tile_2rpntlvwz0_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
133 &dst1->tile, base, stride);
134}
135
136/// Converts a pair of tiles from memory into VNNI format, and places the
137/// results in a pair of destinations specified by dst. The pair of tiles
138/// in memory is specified via a tsib; the second tile is after the first
139/// one, separated by the same stride that separates each row.
140/// The tile configuration for the destination tiles indicates the amount
141/// of data to read from memory. The instruction will load a number of rows
142/// that is equal to twice the number of rows in tmm1. The size of each row
143/// is equal to the average width of the destination tiles. If the second
144/// tile is configured with zero rows and columns, only the first tile will
145/// be written.
146///
147/// \headerfile <immintrin.h>
148///
149/// This intrinsic corresponds to the <c> T2RPNTLVWZ0T1 </c> instruction.
150///
151/// \param dst0
152/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
153/// \param dst1
154/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
155/// \param base
156/// A pointer to base address.
157/// \param stride
158/// The stride between the rows' data to be loaded in memory.
159__DEFAULT_FN_ATTRS_TRANSPOSE
160static void __tile_2rpntlvwz0t1(__tile1024i *dst0, __tile1024i *dst1,
161 const void *base, __SIZE_TYPE__ stride) {
162 _tile_2rpntlvwz0t1_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
163 &dst1->tile, base, stride);
164}
165
166/// Converts a pair of tiles from memory into VNNI format, and places the
167/// results in a pair of destinations specified by dst. The pair of tiles
168/// in memory is specified via a tsib; the second tile is after the first
169/// one, separated by the same stride that separates each row.
170/// The tile configuration for the destination tiles indicates the amount
171/// of data to read from memory. The instruction will load a number of rows
172/// that is equal to twice the number of rows in tmm1. The size of each row
173/// is equal to the average width of the destination tiles. If the second
174/// tile is configured with zero rows and columns, only the first tile will
175/// be written. The last row will be not be read from memory but instead
176/// filled with zeros.
177/// Provides a hint to the implementation that the data will likely not be
178/// reused in the near future and the data caching can be optimized.
179///
180/// \headerfile <immintrin.h>
181///
182/// This intrinsic corresponds to the <c> T2RPNTLVWZ1 </c> instruction.
183///
184/// \param dst0
185/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
186/// \param dst1
187/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
188/// \param base
189/// A pointer to base address.
190/// \param stride
191/// The stride between the rows' data to be loaded in memory.
192__DEFAULT_FN_ATTRS_TRANSPOSE
193static void __tile_2rpntlvwz1(__tile1024i *dst0, __tile1024i *dst1,
194 const void *base, __SIZE_TYPE__ stride) {
195 _tile_2rpntlvwz1_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
196 &dst1->tile, base, stride);
197}
198
199/// Converts a pair of tiles from memory into VNNI format, and places the
200/// results in a pair of destinations specified by dst. The pair of tiles
201/// in memory is specified via a tsib; the second tile is after the first
202/// one, separated by the same stride that separates each row.
203/// The tile configuration for the destination tiles indicates the amount
204/// of data to read from memory. The instruction will load a number of rows
205/// that is equal to twice the number of rows in tmm1. The size of each row
206/// is equal to the average width of the destination tiles. If the second
207/// tile is configured with zero rows and columns, only the first tile will
208/// be written. The last row will be not be read from memory but instead
209/// filled with zeros.
210/// Provides a hint to the implementation that the data will likely not be
211/// reused in the near future and the data caching can be optimized.
212///
213/// \headerfile <immintrin.h>
214///
215/// This intrinsic corresponds to the <c> T2RPNTLVWZ1T1 </c> instruction.
216///
217/// \param dst0
218/// First tile of destination tile pair. Max size is 1024i*2 Bytes.
219/// \param dst1
220/// Second tile of destination tile pair. Max size is 1024i*2 Bytes.
221/// \param base
222/// A pointer to base address.
223/// \param stride
224/// The stride between the rows' data to be loaded in memory.
225__DEFAULT_FN_ATTRS_TRANSPOSE
226static void __tile_2rpntlvwz1t1(__tile1024i *dst0, __tile1024i *dst1,
227 const void *base, __SIZE_TYPE__ stride) {
228 _tile_2rpntlvwz1t1_internal(dst0->row, dst0->col, dst1->col, &dst0->tile,
229 &dst1->tile, base, stride);
230}
231
232/// Transpose 32-bit elements from src and write the result to dst.
233///
234/// \headerfile <immintrin.h>
235///
236/// This intrinsic corresponds to the <c> TTRANSPOSED </c> instruction.
237///
238/// \param dst
239/// The destination tile. Max size is 1024 Bytes.
240/// \param src
241/// The source tile. Max size is 1024 Bytes.
242__DEFAULT_FN_ATTRS_TRANSPOSE
243static void __tile_transposed(__tile1024i *dst, __tile1024i src) {
244 dst->tile = _tile_transposed_internal(dst->row, dst->col, src.tile);
245}
246
247#endif /* __x86_64__ */
248#endif /* __AMX_TRANSPOSEINTRIN_H */
lib/include/arm_acle.h+37-27
......@@ -55,11 +55,37 @@ __chkfeat(uint64_t __features) {
5555/* 7.5 Swap */
5656static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
5757__swp(uint32_t __x, volatile uint32_t *__p) {
58 uint32_t v;
59 do
60 v = __builtin_arm_ldrex(__p);
61 while (__builtin_arm_strex(__x, __p));
62 return v;
58 uint32_t __v;
59#if (__ARM_FEATURE_LDREX & 4) || __ARM_ARCH_6M__ || __linux__
60 /*
61 * Using this clang builtin is sensible in most situations. Where
62 * LDREX and STREX are available, it will compile to a loop using
63 * them. Otherwise it will compile to a libcall, requiring the
64 * runtime to provide that library function.
65 *
66 * That's unavoidable on Armv6-M, which has no atomic instructions
67 * at all (not even SWP), so in that situation the user will just
68 * have to provide an implementation of __atomic_exchange_4 (perhaps
69 * it would temporarily disable interrupts, and then do a separate
70 * load and store).
71 *
72 * We also use the libcall strategy on pre-Armv7 Linux targets, on
73 * the theory that Linux's runtime support library _will_ provide a
74 * suitable libcall, and it's better to use that than the SWP
75 * instruction because then when the same binary is run on a later
76 * Linux system the libcall implementation will use LDREX instead.
77 */
78 __v = __atomic_exchange_n(__p, __x, __ATOMIC_RELAXED);
79#else
80 /*
81 * But for older Arm architectures when the target is not Linux, we
82 * fall back to using the SWP instruction via inline assembler. ACLE
83 * is clear that we're allowed to do this, but shouldn't do it if we
84 * have a better alternative.
85 */
86 __asm__("swp %0, %1, [%2]" : "=r"(__v) : "r"(__x), "r"(__p) : "memory");
87#endif
88 return __v;
6389}
6490
6591/* 7.6 Memory prefetch intrinsics */
......@@ -72,6 +98,12 @@ __swp(uint32_t __x, volatile uint32_t *__p) {
7298#else
7399#define __pldx(access_kind, cache_level, retention_policy, addr) \
74100 __builtin_arm_prefetch(addr, access_kind, cache_level, retention_policy, 1)
101#define __pldx_range(access_kind, retention_policy, length, count, stride, \
102 reuse_distance, addr) \
103 __builtin_arm_range_prefetch_x(addr, access_kind, retention_policy, length, \
104 count, stride, reuse_distance)
105#define __pld_range(access_kind, retention_policy, metadata, addr) \
106 __builtin_arm_range_prefetch(addr, access_kind, retention_policy, metadata)
75107#endif
76108
77109/* 7.6.2 Instruction prefetch */
......@@ -795,28 +827,6 @@ __arm_st64bv0(void *__addr, data512_t __value) {
795827
796828#endif // __ARM_FEATURE_COPROC
797829
798/* 17 Transactional Memory Extension (TME) Intrinsics */
799#if defined(__ARM_FEATURE_TME) && __ARM_FEATURE_TME
800
801#define _TMFAILURE_REASON 0x00007fffu
802#define _TMFAILURE_RTRY 0x00008000u
803#define _TMFAILURE_CNCL 0x00010000u
804#define _TMFAILURE_MEM 0x00020000u
805#define _TMFAILURE_IMP 0x00040000u
806#define _TMFAILURE_ERR 0x00080000u
807#define _TMFAILURE_SIZE 0x00100000u
808#define _TMFAILURE_NEST 0x00200000u
809#define _TMFAILURE_DBG 0x00400000u
810#define _TMFAILURE_INT 0x00800000u
811#define _TMFAILURE_TRIVIAL 0x01000000u
812
813#define __tstart() __builtin_arm_tstart()
814#define __tcommit() __builtin_arm_tcommit()
815#define __tcancel(__arg) __builtin_arm_tcancel(__arg)
816#define __ttest() __builtin_arm_ttest()
817
818#endif /* __ARM_FEATURE_TME */
819
820830/* 8.7 Armv8.5-A Random number generation intrinsics */
821831#if defined(__ARM_64BIT_STATE) && __ARM_64BIT_STATE
822832static __inline__ int __attribute__((__always_inline__, __nodebug__, target("rand")))
lib/include/arm_neon.h+218-82
......@@ -10562,7 +10562,7 @@ __ai __attribute__((target("neon"))) int16x4_t __noswap_vget_high_s16(int16x8_t
1056210562#define vget_lane_p8(__p0, __p1) __extension__ ({ \
1056310563 poly8_t __ret; \
1056410564 poly8x8_t __s0 = __p0; \
10565 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vget_lane_i8(__s0, __p1)); \
10565 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vget_lane_i8(__builtin_bit_cast(int8x8_t, __s0), __p1)); \
1056610566 __ret; \
1056710567})
1056810568#else
......@@ -10570,13 +10570,13 @@ __ai __attribute__((target("neon"))) int16x4_t __noswap_vget_high_s16(int16x8_t
1057010570 poly8_t __ret; \
1057110571 poly8x8_t __s0 = __p0; \
1057210572 poly8x8_t __rev0; __rev0 = __builtin_shufflevector(__s0, __s0, __lane_reverse_64_8); \
10573 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vget_lane_i8(__rev0, __p1)); \
10573 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vget_lane_i8(__builtin_bit_cast(int8x8_t, __rev0), __p1)); \
1057410574 __ret; \
1057510575})
1057610576#define __noswap_vget_lane_p8(__p0, __p1) __extension__ ({ \
1057710577 poly8_t __ret; \
1057810578 poly8x8_t __s0 = __p0; \
10579 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vget_lane_i8(__s0, __p1)); \
10579 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vget_lane_i8(__builtin_bit_cast(int8x8_t, __s0), __p1)); \
1058010580 __ret; \
1058110581})
1058210582#endif
......@@ -10585,7 +10585,7 @@ __ai __attribute__((target("neon"))) int16x4_t __noswap_vget_high_s16(int16x8_t
1058510585#define vget_lane_p16(__p0, __p1) __extension__ ({ \
1058610586 poly16_t __ret; \
1058710587 poly16x4_t __s0 = __p0; \
10588 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vget_lane_i16(__s0, __p1)); \
10588 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vget_lane_i16(__builtin_bit_cast(int16x4_t, __s0), __p1)); \
1058910589 __ret; \
1059010590})
1059110591#else
......@@ -10593,13 +10593,13 @@ __ai __attribute__((target("neon"))) int16x4_t __noswap_vget_high_s16(int16x8_t
1059310593 poly16_t __ret; \
1059410594 poly16x4_t __s0 = __p0; \
1059510595 poly16x4_t __rev0; __rev0 = __builtin_shufflevector(__s0, __s0, __lane_reverse_64_16); \
10596 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vget_lane_i16(__rev0, __p1)); \
10596 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vget_lane_i16(__builtin_bit_cast(int16x4_t, __rev0), __p1)); \
1059710597 __ret; \
1059810598})
1059910599#define __noswap_vget_lane_p16(__p0, __p1) __extension__ ({ \
1060010600 poly16_t __ret; \
1060110601 poly16x4_t __s0 = __p0; \
10602 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vget_lane_i16(__s0, __p1)); \
10602 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vget_lane_i16(__builtin_bit_cast(int16x4_t, __s0), __p1)); \
1060310603 __ret; \
1060410604})
1060510605#endif
......@@ -10608,7 +10608,7 @@ __ai __attribute__((target("neon"))) int16x4_t __noswap_vget_high_s16(int16x8_t
1060810608#define vgetq_lane_p8(__p0, __p1) __extension__ ({ \
1060910609 poly8_t __ret; \
1061010610 poly8x16_t __s0 = __p0; \
10611 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vgetq_lane_i8(__s0, __p1)); \
10611 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vgetq_lane_i8(__builtin_bit_cast(int8x16_t, __s0), __p1)); \
1061210612 __ret; \
1061310613})
1061410614#else
......@@ -10616,13 +10616,13 @@ __ai __attribute__((target("neon"))) int16x4_t __noswap_vget_high_s16(int16x8_t
1061610616 poly8_t __ret; \
1061710617 poly8x16_t __s0 = __p0; \
1061810618 poly8x16_t __rev0; __rev0 = __builtin_shufflevector(__s0, __s0, __lane_reverse_128_8); \
10619 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vgetq_lane_i8(__rev0, __p1)); \
10619 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vgetq_lane_i8(__builtin_bit_cast(int8x16_t, __rev0), __p1)); \
1062010620 __ret; \
1062110621})
1062210622#define __noswap_vgetq_lane_p8(__p0, __p1) __extension__ ({ \
1062310623 poly8_t __ret; \
1062410624 poly8x16_t __s0 = __p0; \
10625 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vgetq_lane_i8(__s0, __p1)); \
10625 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vgetq_lane_i8(__builtin_bit_cast(int8x16_t, __s0), __p1)); \
1062610626 __ret; \
1062710627})
1062810628#endif
......@@ -10631,7 +10631,7 @@ __ai __attribute__((target("neon"))) int16x4_t __noswap_vget_high_s16(int16x8_t
1063110631#define vgetq_lane_p16(__p0, __p1) __extension__ ({ \
1063210632 poly16_t __ret; \
1063310633 poly16x8_t __s0 = __p0; \
10634 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vgetq_lane_i16(__s0, __p1)); \
10634 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vgetq_lane_i16(__builtin_bit_cast(int16x8_t, __s0), __p1)); \
1063510635 __ret; \
1063610636})
1063710637#else
......@@ -10639,13 +10639,13 @@ __ai __attribute__((target("neon"))) int16x4_t __noswap_vget_high_s16(int16x8_t
1063910639 poly16_t __ret; \
1064010640 poly16x8_t __s0 = __p0; \
1064110641 poly16x8_t __rev0; __rev0 = __builtin_shufflevector(__s0, __s0, __lane_reverse_128_16); \
10642 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vgetq_lane_i16(__rev0, __p1)); \
10642 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vgetq_lane_i16(__builtin_bit_cast(int16x8_t, __rev0), __p1)); \
1064310643 __ret; \
1064410644})
1064510645#define __noswap_vgetq_lane_p16(__p0, __p1) __extension__ ({ \
1064610646 poly16_t __ret; \
1064710647 poly16x8_t __s0 = __p0; \
10648 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vgetq_lane_i16(__s0, __p1)); \
10648 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vgetq_lane_i16(__builtin_bit_cast(int16x8_t, __s0), __p1)); \
1064910649 __ret; \
1065010650})
1065110651#endif
......@@ -27027,7 +27027,7 @@ __ai __attribute__((target("neon"))) int8x8_t __noswap_vrsubhn_s16(int16x8_t __p
2702727027 poly8x8_t __ret; \
2702827028 poly8_t __s0 = __p0; \
2702927029 poly8x8_t __s1 = __p1; \
27030 __ret = __builtin_bit_cast(poly8x8_t, __builtin_neon_vset_lane_i8(__s0, __s1, __p2)); \
27030 __ret = __builtin_bit_cast(poly8x8_t, __builtin_neon_vset_lane_i8(__s0, __builtin_bit_cast(int8x8_t, __s1), __p2)); \
2703127031 __ret; \
2703227032})
2703327033#else
......@@ -27036,7 +27036,7 @@ __ai __attribute__((target("neon"))) int8x8_t __noswap_vrsubhn_s16(int16x8_t __p
2703627036 poly8_t __s0 = __p0; \
2703727037 poly8x8_t __s1 = __p1; \
2703827038 poly8x8_t __rev1; __rev1 = __builtin_shufflevector(__s1, __s1, __lane_reverse_64_8); \
27039 __ret = __builtin_bit_cast(poly8x8_t, __builtin_neon_vset_lane_i8(__s0, __rev1, __p2)); \
27039 __ret = __builtin_bit_cast(poly8x8_t, __builtin_neon_vset_lane_i8(__s0, __builtin_bit_cast(int8x8_t, __rev1), __p2)); \
2704027040 __ret = __builtin_shufflevector(__ret, __ret, __lane_reverse_64_8); \
2704127041 __ret; \
2704227042})
......@@ -27044,7 +27044,7 @@ __ai __attribute__((target("neon"))) int8x8_t __noswap_vrsubhn_s16(int16x8_t __p
2704427044 poly8x8_t __ret; \
2704527045 poly8_t __s0 = __p0; \
2704627046 poly8x8_t __s1 = __p1; \
27047 __ret = __builtin_bit_cast(poly8x8_t, __builtin_neon_vset_lane_i8(__s0, __s1, __p2)); \
27047 __ret = __builtin_bit_cast(poly8x8_t, __builtin_neon_vset_lane_i8(__s0, __builtin_bit_cast(int8x8_t, __s1), __p2)); \
2704827048 __ret; \
2704927049})
2705027050#endif
......@@ -27054,7 +27054,7 @@ __ai __attribute__((target("neon"))) int8x8_t __noswap_vrsubhn_s16(int16x8_t __p
2705427054 poly16x4_t __ret; \
2705527055 poly16_t __s0 = __p0; \
2705627056 poly16x4_t __s1 = __p1; \
27057 __ret = __builtin_bit_cast(poly16x4_t, __builtin_neon_vset_lane_i16(__s0, __s1, __p2)); \
27057 __ret = __builtin_bit_cast(poly16x4_t, __builtin_neon_vset_lane_i16(__s0, __builtin_bit_cast(int16x4_t, __s1), __p2)); \
2705827058 __ret; \
2705927059})
2706027060#else
......@@ -27063,7 +27063,7 @@ __ai __attribute__((target("neon"))) int8x8_t __noswap_vrsubhn_s16(int16x8_t __p
2706327063 poly16_t __s0 = __p0; \
2706427064 poly16x4_t __s1 = __p1; \
2706527065 poly16x4_t __rev1; __rev1 = __builtin_shufflevector(__s1, __s1, __lane_reverse_64_16); \
27066 __ret = __builtin_bit_cast(poly16x4_t, __builtin_neon_vset_lane_i16(__s0, __rev1, __p2)); \
27066 __ret = __builtin_bit_cast(poly16x4_t, __builtin_neon_vset_lane_i16(__s0, __builtin_bit_cast(int16x4_t, __rev1), __p2)); \
2706727067 __ret = __builtin_shufflevector(__ret, __ret, __lane_reverse_64_16); \
2706827068 __ret; \
2706927069})
......@@ -27071,7 +27071,7 @@ __ai __attribute__((target("neon"))) int8x8_t __noswap_vrsubhn_s16(int16x8_t __p
2707127071 poly16x4_t __ret; \
2707227072 poly16_t __s0 = __p0; \
2707327073 poly16x4_t __s1 = __p1; \
27074 __ret = __builtin_bit_cast(poly16x4_t, __builtin_neon_vset_lane_i16(__s0, __s1, __p2)); \
27074 __ret = __builtin_bit_cast(poly16x4_t, __builtin_neon_vset_lane_i16(__s0, __builtin_bit_cast(int16x4_t, __s1), __p2)); \
2707527075 __ret; \
2707627076})
2707727077#endif
......@@ -27081,7 +27081,7 @@ __ai __attribute__((target("neon"))) int8x8_t __noswap_vrsubhn_s16(int16x8_t __p
2708127081 poly8x16_t __ret; \
2708227082 poly8_t __s0 = __p0; \
2708327083 poly8x16_t __s1 = __p1; \
27084 __ret = __builtin_bit_cast(poly8x16_t, __builtin_neon_vsetq_lane_i8(__s0, __s1, __p2)); \
27084 __ret = __builtin_bit_cast(poly8x16_t, __builtin_neon_vsetq_lane_i8(__s0, __builtin_bit_cast(int8x16_t, __s1), __p2)); \
2708527085 __ret; \
2708627086})
2708727087#else
......@@ -27090,7 +27090,7 @@ __ai __attribute__((target("neon"))) int8x8_t __noswap_vrsubhn_s16(int16x8_t __p
2709027090 poly8_t __s0 = __p0; \
2709127091 poly8x16_t __s1 = __p1; \
2709227092 poly8x16_t __rev1; __rev1 = __builtin_shufflevector(__s1, __s1, __lane_reverse_128_8); \
27093 __ret = __builtin_bit_cast(poly8x16_t, __builtin_neon_vsetq_lane_i8(__s0, __rev1, __p2)); \
27093 __ret = __builtin_bit_cast(poly8x16_t, __builtin_neon_vsetq_lane_i8(__s0, __builtin_bit_cast(int8x16_t, __rev1), __p2)); \
2709427094 __ret = __builtin_shufflevector(__ret, __ret, __lane_reverse_128_8); \
2709527095 __ret; \
2709627096})
......@@ -27098,7 +27098,7 @@ __ai __attribute__((target("neon"))) int8x8_t __noswap_vrsubhn_s16(int16x8_t __p
2709827098 poly8x16_t __ret; \
2709927099 poly8_t __s0 = __p0; \
2710027100 poly8x16_t __s1 = __p1; \
27101 __ret = __builtin_bit_cast(poly8x16_t, __builtin_neon_vsetq_lane_i8(__s0, __s1, __p2)); \
27101 __ret = __builtin_bit_cast(poly8x16_t, __builtin_neon_vsetq_lane_i8(__s0, __builtin_bit_cast(int8x16_t, __s1), __p2)); \
2710227102 __ret; \
2710327103})
2710427104#endif
......@@ -27108,7 +27108,7 @@ __ai __attribute__((target("neon"))) int8x8_t __noswap_vrsubhn_s16(int16x8_t __p
2710827108 poly16x8_t __ret; \
2710927109 poly16_t __s0 = __p0; \
2711027110 poly16x8_t __s1 = __p1; \
27111 __ret = __builtin_bit_cast(poly16x8_t, __builtin_neon_vsetq_lane_i16(__s0, __s1, __p2)); \
27111 __ret = __builtin_bit_cast(poly16x8_t, __builtin_neon_vsetq_lane_i16(__s0, __builtin_bit_cast(int16x8_t, __s1), __p2)); \
2711227112 __ret; \
2711327113})
2711427114#else
......@@ -27117,7 +27117,7 @@ __ai __attribute__((target("neon"))) int8x8_t __noswap_vrsubhn_s16(int16x8_t __p
2711727117 poly16_t __s0 = __p0; \
2711827118 poly16x8_t __s1 = __p1; \
2711927119 poly16x8_t __rev1; __rev1 = __builtin_shufflevector(__s1, __s1, __lane_reverse_128_16); \
27120 __ret = __builtin_bit_cast(poly16x8_t, __builtin_neon_vsetq_lane_i16(__s0, __rev1, __p2)); \
27120 __ret = __builtin_bit_cast(poly16x8_t, __builtin_neon_vsetq_lane_i16(__s0, __builtin_bit_cast(int16x8_t, __rev1), __p2)); \
2712127121 __ret = __builtin_shufflevector(__ret, __ret, __lane_reverse_128_16); \
2712227122 __ret; \
2712327123})
......@@ -27125,7 +27125,7 @@ __ai __attribute__((target("neon"))) int8x8_t __noswap_vrsubhn_s16(int16x8_t __p
2712527125 poly16x8_t __ret; \
2712627126 poly16_t __s0 = __p0; \
2712727127 poly16x8_t __s1 = __p1; \
27128 __ret = __builtin_bit_cast(poly16x8_t, __builtin_neon_vsetq_lane_i16(__s0, __s1, __p2)); \
27128 __ret = __builtin_bit_cast(poly16x8_t, __builtin_neon_vsetq_lane_i16(__s0, __builtin_bit_cast(int16x8_t, __s1), __p2)); \
2712927129 __ret; \
2713027130})
2713127131#endif
......@@ -41141,6 +41141,42 @@ __ai __attribute__((target("neon"))) float32x2_t vfms_f32(float32x2_t __p0, floa
4114141141
4114241142#endif
4114341143#if defined(__aarch64__)
41144#ifdef __LITTLE_ENDIAN__
41145__ai __attribute__((target("f8f16mm,neon"))) float16x8_t vmmlaq_f16_mf8_fpm(float16x8_t __p0, mfloat8x16_t __p1, mfloat8x16_t __p2, fpm_t __p3) {
41146 float16x8_t __ret;
41147 __ret = __builtin_bit_cast(float16x8_t, __builtin_neon_vmmlaq_f16_mf8_fpm(__builtin_bit_cast(int8x16_t, __p0), __p1, __p2, __p3));
41148 return __ret;
41149}
41150#else
41151__ai __attribute__((target("f8f16mm,neon"))) float16x8_t vmmlaq_f16_mf8_fpm(float16x8_t __p0, mfloat8x16_t __p1, mfloat8x16_t __p2, fpm_t __p3) {
41152 float16x8_t __ret;
41153 float16x8_t __rev0; __rev0 = __builtin_shufflevector(__p0, __p0, __lane_reverse_128_16);
41154 mfloat8x16_t __rev1; __rev1 = __builtin_shufflevector(__p1, __p1, __lane_reverse_128_8);
41155 mfloat8x16_t __rev2; __rev2 = __builtin_shufflevector(__p2, __p2, __lane_reverse_128_8);
41156 __ret = __builtin_bit_cast(float16x8_t, __builtin_neon_vmmlaq_f16_mf8_fpm(__builtin_bit_cast(int8x16_t, __rev0), __rev1, __rev2, __p3));
41157 __ret = __builtin_shufflevector(__ret, __ret, __lane_reverse_128_16);
41158 return __ret;
41159}
41160#endif
41161
41162#ifdef __LITTLE_ENDIAN__
41163__ai __attribute__((target("f8f32mm,neon"))) float32x4_t vmmlaq_f32_mf8_fpm(float32x4_t __p0, mfloat8x16_t __p1, mfloat8x16_t __p2, fpm_t __p3) {
41164 float32x4_t __ret;
41165 __ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vmmlaq_f32_mf8_fpm(__p0, __p1, __p2, __p3));
41166 return __ret;
41167}
41168#else
41169__ai __attribute__((target("f8f32mm,neon"))) float32x4_t vmmlaq_f32_mf8_fpm(float32x4_t __p0, mfloat8x16_t __p1, mfloat8x16_t __p2, fpm_t __p3) {
41170 float32x4_t __ret;
41171 float32x4_t __rev0; __rev0 = __builtin_shufflevector(__p0, __p0, __lane_reverse_128_32);
41172 mfloat8x16_t __rev1; __rev1 = __builtin_shufflevector(__p1, __p1, __lane_reverse_128_8);
41173 mfloat8x16_t __rev2; __rev2 = __builtin_shufflevector(__p2, __p2, __lane_reverse_128_8);
41174 __ret = __builtin_bit_cast(float32x4_t, __builtin_neon_vmmlaq_f32_mf8_fpm(__rev0, __rev1, __rev2, __p3));
41175 __ret = __builtin_shufflevector(__ret, __ret, __lane_reverse_128_32);
41176 return __ret;
41177}
41178#endif
41179
4114441180#ifdef __LITTLE_ENDIAN__
4114541181__ai __attribute__((target("fp8,neon"))) bfloat16x8_t vcvt1_bf16_mf8_fpm(mfloat8x8_t __p0, fpm_t __p1) {
4114641182 bfloat16x8_t __ret;
......@@ -49847,6 +49883,16 @@ __ai __attribute__((target("neon"))) int32_t vcvts_s32_f32(float32_t __p0) {
4984749883 __ret = __builtin_bit_cast(int32_t, __builtin_neon_vcvts_s32_f32(__p0));
4984849884 return __ret;
4984949885}
49886__ai __attribute__((target("neon"))) int32_t vcvtd_s32_f64(float64_t __p0) {
49887 int32_t __ret;
49888 __ret = __builtin_bit_cast(int32_t, __builtin_neon_vcvtd_s32_f64(__p0));
49889 return __ret;
49890}
49891__ai __attribute__((target("neon"))) int64_t vcvts_s64_f32(float32_t __p0) {
49892 int64_t __ret;
49893 __ret = __builtin_bit_cast(int64_t, __builtin_neon_vcvts_s64_f32(__p0));
49894 return __ret;
49895}
4985049896__ai __attribute__((target("neon"))) int64_t vcvtd_s64_f64(float64_t __p0) {
4985149897 int64_t __ret;
4985249898 __ret = __builtin_bit_cast(int64_t, __builtin_neon_vcvtd_s64_f64(__p0));
......@@ -49878,6 +49924,16 @@ __ai __attribute__((target("neon"))) uint32_t vcvts_u32_f32(float32_t __p0) {
4987849924 __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vcvts_u32_f32(__p0));
4987949925 return __ret;
4988049926}
49927__ai __attribute__((target("neon"))) uint32_t vcvtd_u32_f64(float64_t __p0) {
49928 uint32_t __ret;
49929 __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vcvtd_u32_f64(__p0));
49930 return __ret;
49931}
49932__ai __attribute__((target("neon"))) uint64_t vcvts_u64_f32(float32_t __p0) {
49933 uint64_t __ret;
49934 __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vcvts_u64_f32(__p0));
49935 return __ret;
49936}
4988149937__ai __attribute__((target("neon"))) uint64_t vcvtd_u64_f64(float64_t __p0) {
4988249938 uint64_t __ret;
4988349939 __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vcvtd_u64_f64(__p0));
......@@ -49909,6 +49965,11 @@ __ai __attribute__((target("neon"))) int32_t vcvtas_s32_f32(float32_t __p0) {
4990949965 __ret = __builtin_bit_cast(int32_t, __builtin_neon_vcvtas_s32_f32(__p0));
4991049966 return __ret;
4991149967}
49968__ai __attribute__((target("neon"))) int32_t vcvtad_s32_f64(float64_t __p0) {
49969 int32_t __ret;
49970 __ret = __builtin_bit_cast(int32_t, __builtin_neon_vcvtad_s32_f64(__p0));
49971 return __ret;
49972}
4991249973#ifdef __LITTLE_ENDIAN__
4991349974__ai __attribute__((target("neon"))) int64x2_t vcvtaq_s64_f64(float64x2_t __p0) {
4991449975 int64x2_t __ret;
......@@ -49930,6 +49991,11 @@ __ai __attribute__((target("neon"))) int64x1_t vcvta_s64_f64(float64x1_t __p0) {
4993049991 __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vcvta_s64_v(__builtin_bit_cast(int8x8_t, __p0), 3));
4993149992 return __ret;
4993249993}
49994__ai __attribute__((target("neon"))) int64_t vcvtas_s64_f32(float32_t __p0) {
49995 int64_t __ret;
49996 __ret = __builtin_bit_cast(int64_t, __builtin_neon_vcvtas_s64_f32(__p0));
49997 return __ret;
49998}
4993349999__ai __attribute__((target("neon"))) int64_t vcvtad_s64_f64(float64_t __p0) {
4993450000 int64_t __ret;
4993550001 __ret = __builtin_bit_cast(int64_t, __builtin_neon_vcvtad_s64_f64(__p0));
......@@ -49940,6 +50006,11 @@ __ai __attribute__((target("neon"))) uint32_t vcvtas_u32_f32(float32_t __p0) {
4994050006 __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vcvtas_u32_f32(__p0));
4994150007 return __ret;
4994250008}
50009__ai __attribute__((target("neon"))) uint32_t vcvtad_u32_f64(float64_t __p0) {
50010 uint32_t __ret;
50011 __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vcvtad_u32_f64(__p0));
50012 return __ret;
50013}
4994350014#ifdef __LITTLE_ENDIAN__
4994450015__ai __attribute__((target("neon"))) uint64x2_t vcvtaq_u64_f64(float64x2_t __p0) {
4994550016 uint64x2_t __ret;
......@@ -49961,6 +50032,11 @@ __ai __attribute__((target("neon"))) uint64x1_t vcvta_u64_f64(float64x1_t __p0)
4996150032 __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vcvta_u64_v(__builtin_bit_cast(int8x8_t, __p0), 19));
4996250033 return __ret;
4996350034}
50035__ai __attribute__((target("neon"))) uint64_t vcvtas_u64_f32(float32_t __p0) {
50036 uint64_t __ret;
50037 __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vcvtas_u64_f32(__p0));
50038 return __ret;
50039}
4996450040__ai __attribute__((target("neon"))) uint64_t vcvtad_u64_f64(float64_t __p0) {
4996550041 uint64_t __ret;
4996650042 __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vcvtad_u64_f64(__p0));
......@@ -49971,6 +50047,11 @@ __ai __attribute__((target("neon"))) int32_t vcvtms_s32_f32(float32_t __p0) {
4997150047 __ret = __builtin_bit_cast(int32_t, __builtin_neon_vcvtms_s32_f32(__p0));
4997250048 return __ret;
4997350049}
50050__ai __attribute__((target("neon"))) int32_t vcvtmd_s32_f64(float64_t __p0) {
50051 int32_t __ret;
50052 __ret = __builtin_bit_cast(int32_t, __builtin_neon_vcvtmd_s32_f64(__p0));
50053 return __ret;
50054}
4997450055#ifdef __LITTLE_ENDIAN__
4997550056__ai __attribute__((target("neon"))) int64x2_t vcvtmq_s64_f64(float64x2_t __p0) {
4997650057 int64x2_t __ret;
......@@ -49992,6 +50073,11 @@ __ai __attribute__((target("neon"))) int64x1_t vcvtm_s64_f64(float64x1_t __p0) {
4999250073 __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vcvtm_s64_v(__builtin_bit_cast(int8x8_t, __p0), 3));
4999350074 return __ret;
4999450075}
50076__ai __attribute__((target("neon"))) int64_t vcvtms_s64_f32(float32_t __p0) {
50077 int64_t __ret;
50078 __ret = __builtin_bit_cast(int64_t, __builtin_neon_vcvtms_s64_f32(__p0));
50079 return __ret;
50080}
4999550081__ai __attribute__((target("neon"))) int64_t vcvtmd_s64_f64(float64_t __p0) {
4999650082 int64_t __ret;
4999750083 __ret = __builtin_bit_cast(int64_t, __builtin_neon_vcvtmd_s64_f64(__p0));
......@@ -50002,6 +50088,11 @@ __ai __attribute__((target("neon"))) uint32_t vcvtms_u32_f32(float32_t __p0) {
5000250088 __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vcvtms_u32_f32(__p0));
5000350089 return __ret;
5000450090}
50091__ai __attribute__((target("neon"))) uint32_t vcvtmd_u32_f64(float64_t __p0) {
50092 uint32_t __ret;
50093 __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vcvtmd_u32_f64(__p0));
50094 return __ret;
50095}
5000550096#ifdef __LITTLE_ENDIAN__
5000650097__ai __attribute__((target("neon"))) uint64x2_t vcvtmq_u64_f64(float64x2_t __p0) {
5000750098 uint64x2_t __ret;
......@@ -50023,6 +50114,11 @@ __ai __attribute__((target("neon"))) uint64x1_t vcvtm_u64_f64(float64x1_t __p0)
5002350114 __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vcvtm_u64_v(__builtin_bit_cast(int8x8_t, __p0), 19));
5002450115 return __ret;
5002550116}
50117__ai __attribute__((target("neon"))) uint64_t vcvtms_u64_f32(float32_t __p0) {
50118 uint64_t __ret;
50119 __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vcvtms_u64_f32(__p0));
50120 return __ret;
50121}
5002650122__ai __attribute__((target("neon"))) uint64_t vcvtmd_u64_f64(float64_t __p0) {
5002750123 uint64_t __ret;
5002850124 __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vcvtmd_u64_f64(__p0));
......@@ -50033,6 +50129,11 @@ __ai __attribute__((target("neon"))) int32_t vcvtns_s32_f32(float32_t __p0) {
5003350129 __ret = __builtin_bit_cast(int32_t, __builtin_neon_vcvtns_s32_f32(__p0));
5003450130 return __ret;
5003550131}
50132__ai __attribute__((target("neon"))) int32_t vcvtnd_s32_f64(float64_t __p0) {
50133 int32_t __ret;
50134 __ret = __builtin_bit_cast(int32_t, __builtin_neon_vcvtnd_s32_f64(__p0));
50135 return __ret;
50136}
5003650137#ifdef __LITTLE_ENDIAN__
5003750138__ai __attribute__((target("neon"))) int64x2_t vcvtnq_s64_f64(float64x2_t __p0) {
5003850139 int64x2_t __ret;
......@@ -50054,6 +50155,11 @@ __ai __attribute__((target("neon"))) int64x1_t vcvtn_s64_f64(float64x1_t __p0) {
5005450155 __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vcvtn_s64_v(__builtin_bit_cast(int8x8_t, __p0), 3));
5005550156 return __ret;
5005650157}
50158__ai __attribute__((target("neon"))) int64_t vcvtns_s64_f32(float32_t __p0) {
50159 int64_t __ret;
50160 __ret = __builtin_bit_cast(int64_t, __builtin_neon_vcvtns_s64_f32(__p0));
50161 return __ret;
50162}
5005750163__ai __attribute__((target("neon"))) int64_t vcvtnd_s64_f64(float64_t __p0) {
5005850164 int64_t __ret;
5005950165 __ret = __builtin_bit_cast(int64_t, __builtin_neon_vcvtnd_s64_f64(__p0));
......@@ -50064,6 +50170,11 @@ __ai __attribute__((target("neon"))) uint32_t vcvtns_u32_f32(float32_t __p0) {
5006450170 __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vcvtns_u32_f32(__p0));
5006550171 return __ret;
5006650172}
50173__ai __attribute__((target("neon"))) uint32_t vcvtnd_u32_f64(float64_t __p0) {
50174 uint32_t __ret;
50175 __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vcvtnd_u32_f64(__p0));
50176 return __ret;
50177}
5006750178#ifdef __LITTLE_ENDIAN__
5006850179__ai __attribute__((target("neon"))) uint64x2_t vcvtnq_u64_f64(float64x2_t __p0) {
5006950180 uint64x2_t __ret;
......@@ -50085,6 +50196,11 @@ __ai __attribute__((target("neon"))) uint64x1_t vcvtn_u64_f64(float64x1_t __p0)
5008550196 __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vcvtn_u64_v(__builtin_bit_cast(int8x8_t, __p0), 19));
5008650197 return __ret;
5008750198}
50199__ai __attribute__((target("neon"))) uint64_t vcvtns_u64_f32(float32_t __p0) {
50200 uint64_t __ret;
50201 __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vcvtns_u64_f32(__p0));
50202 return __ret;
50203}
5008850204__ai __attribute__((target("neon"))) uint64_t vcvtnd_u64_f64(float64_t __p0) {
5008950205 uint64_t __ret;
5009050206 __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vcvtnd_u64_f64(__p0));
......@@ -50095,6 +50211,11 @@ __ai __attribute__((target("neon"))) int32_t vcvtps_s32_f32(float32_t __p0) {
5009550211 __ret = __builtin_bit_cast(int32_t, __builtin_neon_vcvtps_s32_f32(__p0));
5009650212 return __ret;
5009750213}
50214__ai __attribute__((target("neon"))) int32_t vcvtpd_s32_f64(float64_t __p0) {
50215 int32_t __ret;
50216 __ret = __builtin_bit_cast(int32_t, __builtin_neon_vcvtpd_s32_f64(__p0));
50217 return __ret;
50218}
5009850219#ifdef __LITTLE_ENDIAN__
5009950220__ai __attribute__((target("neon"))) int64x2_t vcvtpq_s64_f64(float64x2_t __p0) {
5010050221 int64x2_t __ret;
......@@ -50116,6 +50237,11 @@ __ai __attribute__((target("neon"))) int64x1_t vcvtp_s64_f64(float64x1_t __p0) {
5011650237 __ret = __builtin_bit_cast(int64x1_t, __builtin_neon_vcvtp_s64_v(__builtin_bit_cast(int8x8_t, __p0), 3));
5011750238 return __ret;
5011850239}
50240__ai __attribute__((target("neon"))) int64_t vcvtps_s64_f32(float32_t __p0) {
50241 int64_t __ret;
50242 __ret = __builtin_bit_cast(int64_t, __builtin_neon_vcvtps_s64_f32(__p0));
50243 return __ret;
50244}
5011950245__ai __attribute__((target("neon"))) int64_t vcvtpd_s64_f64(float64_t __p0) {
5012050246 int64_t __ret;
5012150247 __ret = __builtin_bit_cast(int64_t, __builtin_neon_vcvtpd_s64_f64(__p0));
......@@ -50126,6 +50252,11 @@ __ai __attribute__((target("neon"))) uint32_t vcvtps_u32_f32(float32_t __p0) {
5012650252 __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vcvtps_u32_f32(__p0));
5012750253 return __ret;
5012850254}
50255__ai __attribute__((target("neon"))) uint32_t vcvtpd_u32_f64(float64_t __p0) {
50256 uint32_t __ret;
50257 __ret = __builtin_bit_cast(uint32_t, __builtin_neon_vcvtpd_u32_f64(__p0));
50258 return __ret;
50259}
5012950260#ifdef __LITTLE_ENDIAN__
5013050261__ai __attribute__((target("neon"))) uint64x2_t vcvtpq_u64_f64(float64x2_t __p0) {
5013150262 uint64x2_t __ret;
......@@ -50147,6 +50278,11 @@ __ai __attribute__((target("neon"))) uint64x1_t vcvtp_u64_f64(float64x1_t __p0)
5014750278 __ret = __builtin_bit_cast(uint64x1_t, __builtin_neon_vcvtp_u64_v(__builtin_bit_cast(int8x8_t, __p0), 19));
5014850279 return __ret;
5014950280}
50281__ai __attribute__((target("neon"))) uint64_t vcvtps_u64_f32(float32_t __p0) {
50282 uint64_t __ret;
50283 __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vcvtps_u64_f32(__p0));
50284 return __ret;
50285}
5015050286__ai __attribute__((target("neon"))) uint64_t vcvtpd_u64_f64(float64_t __p0) {
5015150287 uint64_t __ret;
5015250288 __ret = __builtin_bit_cast(uint64_t, __builtin_neon_vcvtpd_u64_f64(__p0));
......@@ -50255,7 +50391,7 @@ __ai __attribute__((target("neon"))) float32x2_t vdiv_f32(float32x2_t __p0, floa
5025550391#define vdupb_lane_p8(__p0, __p1) __extension__ ({ \
5025650392 poly8_t __ret; \
5025750393 poly8x8_t __s0 = __p0; \
50258 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vdupb_lane_i8(__s0, __p1)); \
50394 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vdupb_lane_i8(__builtin_bit_cast(int8x8_t, __s0), __p1)); \
5025950395 __ret; \
5026050396})
5026150397#else
......@@ -50263,7 +50399,7 @@ __ai __attribute__((target("neon"))) float32x2_t vdiv_f32(float32x2_t __p0, floa
5026350399 poly8_t __ret; \
5026450400 poly8x8_t __s0 = __p0; \
5026550401 poly8x8_t __rev0; __rev0 = __builtin_shufflevector(__s0, __s0, __lane_reverse_64_8); \
50266 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vdupb_lane_i8(__rev0, __p1)); \
50402 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vdupb_lane_i8(__builtin_bit_cast(int8x8_t, __rev0), __p1)); \
5026750403 __ret; \
5026850404})
5026950405#endif
......@@ -50272,7 +50408,7 @@ __ai __attribute__((target("neon"))) float32x2_t vdiv_f32(float32x2_t __p0, floa
5027250408#define vduph_lane_p16(__p0, __p1) __extension__ ({ \
5027350409 poly16_t __ret; \
5027450410 poly16x4_t __s0 = __p0; \
50275 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vduph_lane_i16(__s0, __p1)); \
50411 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vduph_lane_i16(__builtin_bit_cast(int16x4_t, __s0), __p1)); \
5027650412 __ret; \
5027750413})
5027850414#else
......@@ -50280,7 +50416,7 @@ __ai __attribute__((target("neon"))) float32x2_t vdiv_f32(float32x2_t __p0, floa
5028050416 poly16_t __ret; \
5028150417 poly16x4_t __s0 = __p0; \
5028250418 poly16x4_t __rev0; __rev0 = __builtin_shufflevector(__s0, __s0, __lane_reverse_64_16); \
50283 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vduph_lane_i16(__rev0, __p1)); \
50419 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vduph_lane_i16(__builtin_bit_cast(int16x4_t, __rev0), __p1)); \
5028450420 __ret; \
5028550421})
5028650422#endif
......@@ -50506,7 +50642,7 @@ __ai __attribute__((target("neon"))) float32x2_t vdiv_f32(float32x2_t __p0, floa
5050650642#define vdupb_laneq_p8(__p0, __p1) __extension__ ({ \
5050750643 poly8_t __ret; \
5050850644 poly8x16_t __s0 = __p0; \
50509 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vdupb_laneq_i8(__s0, __p1)); \
50645 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vdupb_laneq_i8(__builtin_bit_cast(int8x16_t, __s0), __p1)); \
5051050646 __ret; \
5051150647})
5051250648#else
......@@ -50514,7 +50650,7 @@ __ai __attribute__((target("neon"))) float32x2_t vdiv_f32(float32x2_t __p0, floa
5051450650 poly8_t __ret; \
5051550651 poly8x16_t __s0 = __p0; \
5051650652 poly8x16_t __rev0; __rev0 = __builtin_shufflevector(__s0, __s0, __lane_reverse_128_8); \
50517 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vdupb_laneq_i8(__rev0, __p1)); \
50653 __ret = __builtin_bit_cast(poly8_t, __builtin_neon_vdupb_laneq_i8(__builtin_bit_cast(int8x16_t, __rev0), __p1)); \
5051850654 __ret; \
5051950655})
5052050656#endif
......@@ -50523,7 +50659,7 @@ __ai __attribute__((target("neon"))) float32x2_t vdiv_f32(float32x2_t __p0, floa
5052350659#define vduph_laneq_p16(__p0, __p1) __extension__ ({ \
5052450660 poly16_t __ret; \
5052550661 poly16x8_t __s0 = __p0; \
50526 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vduph_laneq_i16(__s0, __p1)); \
50662 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vduph_laneq_i16(__builtin_bit_cast(int16x8_t, __s0), __p1)); \
5052750663 __ret; \
5052850664})
5052950665#else
......@@ -50531,7 +50667,7 @@ __ai __attribute__((target("neon"))) float32x2_t vdiv_f32(float32x2_t __p0, floa
5053150667 poly16_t __ret; \
5053250668 poly16x8_t __s0 = __p0; \
5053350669 poly16x8_t __rev0; __rev0 = __builtin_shufflevector(__s0, __s0, __lane_reverse_128_16); \
50534 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vduph_laneq_i16(__rev0, __p1)); \
50670 __ret = __builtin_bit_cast(poly16_t, __builtin_neon_vduph_laneq_i16(__builtin_bit_cast(int16x8_t, __rev0), __p1)); \
5053550671 __ret; \
5053650672})
5053750673#endif
......@@ -52105,14 +52241,14 @@ __ai __attribute__((target("neon"))) float64x1_t vget_high_f64(float64x2_t __p0)
5210552241#define vget_lane_p64(__p0, __p1) __extension__ ({ \
5210652242 poly64_t __ret; \
5210752243 poly64x1_t __s0 = __p0; \
52108 __ret = __builtin_bit_cast(poly64_t, __builtin_neon_vget_lane_i64(__s0, __p1)); \
52244 __ret = __builtin_bit_cast(poly64_t, __builtin_neon_vget_lane_i64(__builtin_bit_cast(int64x1_t, __s0), __p1)); \
5210952245 __ret; \
5211052246})
5211152247#ifdef __LITTLE_ENDIAN__
5211252248#define vgetq_lane_p64(__p0, __p1) __extension__ ({ \
5211352249 poly64_t __ret; \
5211452250 poly64x2_t __s0 = __p0; \
52115 __ret = __builtin_bit_cast(poly64_t, __builtin_neon_vgetq_lane_i64(__s0, __p1)); \
52251 __ret = __builtin_bit_cast(poly64_t, __builtin_neon_vgetq_lane_i64(__builtin_bit_cast(int64x2_t, __s0), __p1)); \
5211652252 __ret; \
5211752253})
5211852254#else
......@@ -52120,13 +52256,13 @@ __ai __attribute__((target("neon"))) float64x1_t vget_high_f64(float64x2_t __p0)
5212052256 poly64_t __ret; \
5212152257 poly64x2_t __s0 = __p0; \
5212252258 poly64x2_t __rev0; __rev0 = __builtin_shufflevector(__s0, __s0, __lane_reverse_128_64); \
52123 __ret = __builtin_bit_cast(poly64_t, __builtin_neon_vgetq_lane_i64(__rev0, __p1)); \
52259 __ret = __builtin_bit_cast(poly64_t, __builtin_neon_vgetq_lane_i64(__builtin_bit_cast(int64x2_t, __rev0), __p1)); \
5212452260 __ret; \
5212552261})
5212652262#define __noswap_vgetq_lane_p64(__p0, __p1) __extension__ ({ \
5212752263 poly64_t __ret; \
5212852264 poly64x2_t __s0 = __p0; \
52129 __ret = __builtin_bit_cast(poly64_t, __builtin_neon_vgetq_lane_i64(__s0, __p1)); \
52265 __ret = __builtin_bit_cast(poly64_t, __builtin_neon_vgetq_lane_i64(__builtin_bit_cast(int64x2_t, __s0), __p1)); \
5213052266 __ret; \
5213152267})
5213252268#endif
......@@ -59743,20 +59879,20 @@ __ai __attribute__((target("neon"))) int16_t vqrshlh_s16(int16_t __p0, int16_t _
5974359879})
5974459880#ifdef __LITTLE_ENDIAN__
5974559881#define vqrshrun_high_n_s32(__p0_716, __p1_716, __p2_716) __extension__ ({ \
59746 int16x8_t __ret_716; \
59747 int16x4_t __s0_716 = __p0_716; \
59882 uint16x8_t __ret_716; \
59883 uint16x4_t __s0_716 = __p0_716; \
5974859884 int32x4_t __s1_716 = __p1_716; \
59749 __ret_716 = __builtin_bit_cast(int16x8_t, vcombine_s16(__builtin_bit_cast(int16x4_t, __s0_716), __builtin_bit_cast(int16x4_t, vqrshrun_n_s32(__s1_716, __p2_716)))); \
59885 __ret_716 = __builtin_bit_cast(uint16x8_t, vcombine_u16(__builtin_bit_cast(uint16x4_t, __s0_716), __builtin_bit_cast(uint16x4_t, vqrshrun_n_s32(__s1_716, __p2_716)))); \
5975059886 __ret_716; \
5975159887})
5975259888#else
5975359889#define vqrshrun_high_n_s32(__p0_717, __p1_717, __p2_717) __extension__ ({ \
59754 int16x8_t __ret_717; \
59755 int16x4_t __s0_717 = __p0_717; \
59890 uint16x8_t __ret_717; \
59891 uint16x4_t __s0_717 = __p0_717; \
5975659892 int32x4_t __s1_717 = __p1_717; \
59757 int16x4_t __rev0_717; __rev0_717 = __builtin_shufflevector(__s0_717, __s0_717, __lane_reverse_64_16); \
59893 uint16x4_t __rev0_717; __rev0_717 = __builtin_shufflevector(__s0_717, __s0_717, __lane_reverse_64_16); \
5975859894 int32x4_t __rev1_717; __rev1_717 = __builtin_shufflevector(__s1_717, __s1_717, __lane_reverse_128_32); \
59759 __ret_717 = __builtin_bit_cast(int16x8_t, __noswap_vcombine_s16(__builtin_bit_cast(int16x4_t, __rev0_717), __builtin_bit_cast(int16x4_t, __noswap_vqrshrun_n_s32(__rev1_717, __p2_717)))); \
59895 __ret_717 = __builtin_bit_cast(uint16x8_t, __noswap_vcombine_u16(__builtin_bit_cast(uint16x4_t, __rev0_717), __builtin_bit_cast(uint16x4_t, __noswap_vqrshrun_n_s32(__rev1_717, __p2_717)))); \
5976059896 __ret_717 = __builtin_shufflevector(__ret_717, __ret_717, __lane_reverse_128_16); \
5976159897 __ret_717; \
5976259898})
......@@ -59764,20 +59900,20 @@ __ai __attribute__((target("neon"))) int16_t vqrshlh_s16(int16_t __p0, int16_t _
5976459900
5976559901#ifdef __LITTLE_ENDIAN__
5976659902#define vqrshrun_high_n_s64(__p0_718, __p1_718, __p2_718) __extension__ ({ \
59767 int32x4_t __ret_718; \
59768 int32x2_t __s0_718 = __p0_718; \
59903 uint32x4_t __ret_718; \
59904 uint32x2_t __s0_718 = __p0_718; \
5976959905 int64x2_t __s1_718 = __p1_718; \
59770 __ret_718 = __builtin_bit_cast(int32x4_t, vcombine_s32(__builtin_bit_cast(int32x2_t, __s0_718), __builtin_bit_cast(int32x2_t, vqrshrun_n_s64(__s1_718, __p2_718)))); \
59906 __ret_718 = __builtin_bit_cast(uint32x4_t, vcombine_u32(__builtin_bit_cast(uint32x2_t, __s0_718), __builtin_bit_cast(uint32x2_t, vqrshrun_n_s64(__s1_718, __p2_718)))); \
5977159907 __ret_718; \
5977259908})
5977359909#else
5977459910#define vqrshrun_high_n_s64(__p0_719, __p1_719, __p2_719) __extension__ ({ \
59775 int32x4_t __ret_719; \
59776 int32x2_t __s0_719 = __p0_719; \
59911 uint32x4_t __ret_719; \
59912 uint32x2_t __s0_719 = __p0_719; \
5977759913 int64x2_t __s1_719 = __p1_719; \
59778 int32x2_t __rev0_719; __rev0_719 = __builtin_shufflevector(__s0_719, __s0_719, __lane_reverse_64_32); \
59914 uint32x2_t __rev0_719; __rev0_719 = __builtin_shufflevector(__s0_719, __s0_719, __lane_reverse_64_32); \
5977959915 int64x2_t __rev1_719; __rev1_719 = __builtin_shufflevector(__s1_719, __s1_719, __lane_reverse_128_64); \
59780 __ret_719 = __builtin_bit_cast(int32x4_t, __noswap_vcombine_s32(__builtin_bit_cast(int32x2_t, __rev0_719), __builtin_bit_cast(int32x2_t, __noswap_vqrshrun_n_s64(__rev1_719, __p2_719)))); \
59916 __ret_719 = __builtin_bit_cast(uint32x4_t, __noswap_vcombine_u32(__builtin_bit_cast(uint32x2_t, __rev0_719), __builtin_bit_cast(uint32x2_t, __noswap_vqrshrun_n_s64(__rev1_719, __p2_719)))); \
5978159917 __ret_719 = __builtin_shufflevector(__ret_719, __ret_719, __lane_reverse_128_32); \
5978259918 __ret_719; \
5978359919})
......@@ -59785,20 +59921,20 @@ __ai __attribute__((target("neon"))) int16_t vqrshlh_s16(int16_t __p0, int16_t _
5978559921
5978659922#ifdef __LITTLE_ENDIAN__
5978759923#define vqrshrun_high_n_s16(__p0_720, __p1_720, __p2_720) __extension__ ({ \
59788 int8x16_t __ret_720; \
59789 int8x8_t __s0_720 = __p0_720; \
59924 uint8x16_t __ret_720; \
59925 uint8x8_t __s0_720 = __p0_720; \
5979059926 int16x8_t __s1_720 = __p1_720; \
59791 __ret_720 = __builtin_bit_cast(int8x16_t, vcombine_s8(__builtin_bit_cast(int8x8_t, __s0_720), __builtin_bit_cast(int8x8_t, vqrshrun_n_s16(__s1_720, __p2_720)))); \
59927 __ret_720 = __builtin_bit_cast(uint8x16_t, vcombine_u8(__builtin_bit_cast(uint8x8_t, __s0_720), __builtin_bit_cast(uint8x8_t, vqrshrun_n_s16(__s1_720, __p2_720)))); \
5979259928 __ret_720; \
5979359929})
5979459930#else
5979559931#define vqrshrun_high_n_s16(__p0_721, __p1_721, __p2_721) __extension__ ({ \
59796 int8x16_t __ret_721; \
59797 int8x8_t __s0_721 = __p0_721; \
59932 uint8x16_t __ret_721; \
59933 uint8x8_t __s0_721 = __p0_721; \
5979859934 int16x8_t __s1_721 = __p1_721; \
59799 int8x8_t __rev0_721; __rev0_721 = __builtin_shufflevector(__s0_721, __s0_721, __lane_reverse_64_8); \
59935 uint8x8_t __rev0_721; __rev0_721 = __builtin_shufflevector(__s0_721, __s0_721, __lane_reverse_64_8); \
5980059936 int16x8_t __rev1_721; __rev1_721 = __builtin_shufflevector(__s1_721, __s1_721, __lane_reverse_128_16); \
59801 __ret_721 = __builtin_bit_cast(int8x16_t, __noswap_vcombine_s8(__builtin_bit_cast(int8x8_t, __rev0_721), __builtin_bit_cast(int8x8_t, __noswap_vqrshrun_n_s16(__rev1_721, __p2_721)))); \
59937 __ret_721 = __builtin_bit_cast(uint8x16_t, __noswap_vcombine_u8(__builtin_bit_cast(uint8x8_t, __rev0_721), __builtin_bit_cast(uint8x8_t, __noswap_vqrshrun_n_s16(__rev1_721, __p2_721)))); \
5980259938 __ret_721 = __builtin_shufflevector(__ret_721, __ret_721, __lane_reverse_128_8); \
5980359939 __ret_721; \
5980459940})
......@@ -60098,20 +60234,20 @@ __ai __attribute__((target("neon"))) int16_t vqshlh_s16(int16_t __p0, int16_t __
6009860234})
6009960235#ifdef __LITTLE_ENDIAN__
6010060236#define vqshrun_high_n_s32(__p0_734, __p1_734, __p2_734) __extension__ ({ \
60101 int16x8_t __ret_734; \
60102 int16x4_t __s0_734 = __p0_734; \
60237 uint16x8_t __ret_734; \
60238 uint16x4_t __s0_734 = __p0_734; \
6010360239 int32x4_t __s1_734 = __p1_734; \
60104 __ret_734 = __builtin_bit_cast(int16x8_t, vcombine_s16(__builtin_bit_cast(int16x4_t, __s0_734), __builtin_bit_cast(int16x4_t, vqshrun_n_s32(__s1_734, __p2_734)))); \
60240 __ret_734 = __builtin_bit_cast(uint16x8_t, vcombine_u16(__builtin_bit_cast(uint16x4_t, __s0_734), __builtin_bit_cast(uint16x4_t, vqshrun_n_s32(__s1_734, __p2_734)))); \
6010560241 __ret_734; \
6010660242})
6010760243#else
6010860244#define vqshrun_high_n_s32(__p0_735, __p1_735, __p2_735) __extension__ ({ \
60109 int16x8_t __ret_735; \
60110 int16x4_t __s0_735 = __p0_735; \
60245 uint16x8_t __ret_735; \
60246 uint16x4_t __s0_735 = __p0_735; \
6011160247 int32x4_t __s1_735 = __p1_735; \
60112 int16x4_t __rev0_735; __rev0_735 = __builtin_shufflevector(__s0_735, __s0_735, __lane_reverse_64_16); \
60248 uint16x4_t __rev0_735; __rev0_735 = __builtin_shufflevector(__s0_735, __s0_735, __lane_reverse_64_16); \
6011360249 int32x4_t __rev1_735; __rev1_735 = __builtin_shufflevector(__s1_735, __s1_735, __lane_reverse_128_32); \
60114 __ret_735 = __builtin_bit_cast(int16x8_t, __noswap_vcombine_s16(__builtin_bit_cast(int16x4_t, __rev0_735), __builtin_bit_cast(int16x4_t, __noswap_vqshrun_n_s32(__rev1_735, __p2_735)))); \
60250 __ret_735 = __builtin_bit_cast(uint16x8_t, __noswap_vcombine_u16(__builtin_bit_cast(uint16x4_t, __rev0_735), __builtin_bit_cast(uint16x4_t, __noswap_vqshrun_n_s32(__rev1_735, __p2_735)))); \
6011560251 __ret_735 = __builtin_shufflevector(__ret_735, __ret_735, __lane_reverse_128_16); \
6011660252 __ret_735; \
6011760253})
......@@ -60119,20 +60255,20 @@ __ai __attribute__((target("neon"))) int16_t vqshlh_s16(int16_t __p0, int16_t __
6011960255
6012060256#ifdef __LITTLE_ENDIAN__
6012160257#define vqshrun_high_n_s64(__p0_736, __p1_736, __p2_736) __extension__ ({ \
60122 int32x4_t __ret_736; \
60123 int32x2_t __s0_736 = __p0_736; \
60258 uint32x4_t __ret_736; \
60259 uint32x2_t __s0_736 = __p0_736; \
6012460260 int64x2_t __s1_736 = __p1_736; \
60125 __ret_736 = __builtin_bit_cast(int32x4_t, vcombine_s32(__builtin_bit_cast(int32x2_t, __s0_736), __builtin_bit_cast(int32x2_t, vqshrun_n_s64(__s1_736, __p2_736)))); \
60261 __ret_736 = __builtin_bit_cast(uint32x4_t, vcombine_u32(__builtin_bit_cast(uint32x2_t, __s0_736), __builtin_bit_cast(uint32x2_t, vqshrun_n_s64(__s1_736, __p2_736)))); \
6012660262 __ret_736; \
6012760263})
6012860264#else
6012960265#define vqshrun_high_n_s64(__p0_737, __p1_737, __p2_737) __extension__ ({ \
60130 int32x4_t __ret_737; \
60131 int32x2_t __s0_737 = __p0_737; \
60266 uint32x4_t __ret_737; \
60267 uint32x2_t __s0_737 = __p0_737; \
6013260268 int64x2_t __s1_737 = __p1_737; \
60133 int32x2_t __rev0_737; __rev0_737 = __builtin_shufflevector(__s0_737, __s0_737, __lane_reverse_64_32); \
60269 uint32x2_t __rev0_737; __rev0_737 = __builtin_shufflevector(__s0_737, __s0_737, __lane_reverse_64_32); \
6013460270 int64x2_t __rev1_737; __rev1_737 = __builtin_shufflevector(__s1_737, __s1_737, __lane_reverse_128_64); \
60135 __ret_737 = __builtin_bit_cast(int32x4_t, __noswap_vcombine_s32(__builtin_bit_cast(int32x2_t, __rev0_737), __builtin_bit_cast(int32x2_t, __noswap_vqshrun_n_s64(__rev1_737, __p2_737)))); \
60271 __ret_737 = __builtin_bit_cast(uint32x4_t, __noswap_vcombine_u32(__builtin_bit_cast(uint32x2_t, __rev0_737), __builtin_bit_cast(uint32x2_t, __noswap_vqshrun_n_s64(__rev1_737, __p2_737)))); \
6013660272 __ret_737 = __builtin_shufflevector(__ret_737, __ret_737, __lane_reverse_128_32); \
6013760273 __ret_737; \
6013860274})
......@@ -60140,20 +60276,20 @@ __ai __attribute__((target("neon"))) int16_t vqshlh_s16(int16_t __p0, int16_t __
6014060276
6014160277#ifdef __LITTLE_ENDIAN__
6014260278#define vqshrun_high_n_s16(__p0_738, __p1_738, __p2_738) __extension__ ({ \
60143 int8x16_t __ret_738; \
60144 int8x8_t __s0_738 = __p0_738; \
60279 uint8x16_t __ret_738; \
60280 uint8x8_t __s0_738 = __p0_738; \
6014560281 int16x8_t __s1_738 = __p1_738; \
60146 __ret_738 = __builtin_bit_cast(int8x16_t, vcombine_s8(__builtin_bit_cast(int8x8_t, __s0_738), __builtin_bit_cast(int8x8_t, vqshrun_n_s16(__s1_738, __p2_738)))); \
60282 __ret_738 = __builtin_bit_cast(uint8x16_t, vcombine_u8(__builtin_bit_cast(uint8x8_t, __s0_738), __builtin_bit_cast(uint8x8_t, vqshrun_n_s16(__s1_738, __p2_738)))); \
6014760283 __ret_738; \
6014860284})
6014960285#else
6015060286#define vqshrun_high_n_s16(__p0_739, __p1_739, __p2_739) __extension__ ({ \
60151 int8x16_t __ret_739; \
60152 int8x8_t __s0_739 = __p0_739; \
60287 uint8x16_t __ret_739; \
60288 uint8x8_t __s0_739 = __p0_739; \
6015360289 int16x8_t __s1_739 = __p1_739; \
60154 int8x8_t __rev0_739; __rev0_739 = __builtin_shufflevector(__s0_739, __s0_739, __lane_reverse_64_8); \
60290 uint8x8_t __rev0_739; __rev0_739 = __builtin_shufflevector(__s0_739, __s0_739, __lane_reverse_64_8); \
6015560291 int16x8_t __rev1_739; __rev1_739 = __builtin_shufflevector(__s1_739, __s1_739, __lane_reverse_128_16); \
60156 __ret_739 = __builtin_bit_cast(int8x16_t, __noswap_vcombine_s8(__builtin_bit_cast(int8x8_t, __rev0_739), __builtin_bit_cast(int8x8_t, __noswap_vqshrun_n_s16(__rev1_739, __p2_739)))); \
60292 __ret_739 = __builtin_bit_cast(uint8x16_t, __noswap_vcombine_u8(__builtin_bit_cast(uint8x8_t, __rev0_739), __builtin_bit_cast(uint8x8_t, __noswap_vqshrun_n_s16(__rev1_739, __p2_739)))); \
6015760293 __ret_739 = __builtin_shufflevector(__ret_739, __ret_739, __lane_reverse_128_8); \
6015860294 __ret_739; \
6015960295})
......@@ -64345,7 +64481,7 @@ __ai __attribute__((target("neon"))) int8x16_t vrsubhn_high_s16(int8x8_t __p0, i
6434564481 poly64x1_t __ret; \
6434664482 poly64_t __s0 = __p0; \
6434764483 poly64x1_t __s1 = __p1; \
64348 __ret = __builtin_bit_cast(poly64x1_t, __builtin_neon_vset_lane_i64(__s0, __s1, __p2)); \
64484 __ret = __builtin_bit_cast(poly64x1_t, __builtin_neon_vset_lane_i64(__s0, __builtin_bit_cast(int64x1_t, __s1), __p2)); \
6434964485 __ret; \
6435064486})
6435164487#ifdef __LITTLE_ENDIAN__
......@@ -64353,7 +64489,7 @@ __ai __attribute__((target("neon"))) int8x16_t vrsubhn_high_s16(int8x8_t __p0, i
6435364489 poly64x2_t __ret; \
6435464490 poly64_t __s0 = __p0; \
6435564491 poly64x2_t __s1 = __p1; \
64356 __ret = __builtin_bit_cast(poly64x2_t, __builtin_neon_vsetq_lane_i64(__s0, __s1, __p2)); \
64492 __ret = __builtin_bit_cast(poly64x2_t, __builtin_neon_vsetq_lane_i64(__s0, __builtin_bit_cast(int64x2_t, __s1), __p2)); \
6435764493 __ret; \
6435864494})
6435964495#else
......@@ -64362,7 +64498,7 @@ __ai __attribute__((target("neon"))) int8x16_t vrsubhn_high_s16(int8x8_t __p0, i
6436264498 poly64_t __s0 = __p0; \
6436364499 poly64x2_t __s1 = __p1; \
6436464500 poly64x2_t __rev1; __rev1 = __builtin_shufflevector(__s1, __s1, __lane_reverse_128_64); \
64365 __ret = __builtin_bit_cast(poly64x2_t, __builtin_neon_vsetq_lane_i64(__s0, __rev1, __p2)); \
64501 __ret = __builtin_bit_cast(poly64x2_t, __builtin_neon_vsetq_lane_i64(__s0, __builtin_bit_cast(int64x2_t, __rev1), __p2)); \
6436664502 __ret = __builtin_shufflevector(__ret, __ret, __lane_reverse_128_64); \
6436764503 __ret; \
6436864504})
......@@ -64370,7 +64506,7 @@ __ai __attribute__((target("neon"))) int8x16_t vrsubhn_high_s16(int8x8_t __p0, i
6437064506 poly64x2_t __ret; \
6437164507 poly64_t __s0 = __p0; \
6437264508 poly64x2_t __s1 = __p1; \
64373 __ret = __builtin_bit_cast(poly64x2_t, __builtin_neon_vsetq_lane_i64(__s0, __s1, __p2)); \
64509 __ret = __builtin_bit_cast(poly64x2_t, __builtin_neon_vsetq_lane_i64(__s0, __builtin_bit_cast(int64x2_t, __s1), __p2)); \
6437464510 __ret; \
6437564511})
6437664512#endif
lib/include/arm_sme.h+8-8
......@@ -796,8 +796,6 @@ __ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svdot_za16_mf8_vg1x2
796796void svdot_za16_mf8_vg1x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8x2_t, fpm_t);
797797__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svdot_za16_mf8_vg1x4_fpm)))
798798void svdot_za16_mf8_vg1x4_fpm(uint32_t, svmfloat8x4_t, svmfloat8x4_t, fpm_t);
799__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_single_za16_mf8_vg2x1_fpm)))
800void svmla_single_za16_mf8_vg2x1_fpm(uint32_t, svmfloat8_t, svmfloat8_t, fpm_t);
801799__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_single_za16_mf8_vg2x2_fpm)))
802800void svmla_single_za16_mf8_vg2x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8_t, fpm_t);
803801__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_single_za16_mf8_vg2x4_fpm)))
......@@ -808,6 +806,8 @@ __ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_lane_za16_mf8_
808806void svmla_lane_za16_mf8_vg2x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8_t, uint64_t, fpm_t);
809807__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_lane_za16_mf8_vg2x4_fpm)))
810808void svmla_lane_za16_mf8_vg2x4_fpm(uint32_t, svmfloat8x4_t, svmfloat8_t, uint64_t, fpm_t);
809__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_za16_mf8_vg2x1_fpm)))
810void svmla_za16_mf8_vg2x1_fpm(uint32_t, svmfloat8_t, svmfloat8_t, fpm_t);
811811__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_za16_mf8_vg2x2_fpm)))
812812void svmla_za16_mf8_vg2x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8x2_t, fpm_t);
813813__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_za16_mf8_vg2x4_fpm)))
......@@ -828,8 +828,6 @@ __aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svdot_za16_mf8_vg1x
828828void svdot_za16_vg1x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8x2_t, fpm_t);
829829__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svdot_za16_mf8_vg1x4_fpm)))
830830void svdot_za16_vg1x4_fpm(uint32_t, svmfloat8x4_t, svmfloat8x4_t, fpm_t);
831__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_single_za16_mf8_vg2x1_fpm)))
832void svmla_za16_vg2x1_fpm(uint32_t, svmfloat8_t, svmfloat8_t, fpm_t);
833831__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_single_za16_mf8_vg2x2_fpm)))
834832void svmla_za16_vg2x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8_t, fpm_t);
835833__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_single_za16_mf8_vg2x4_fpm)))
......@@ -840,6 +838,8 @@ __aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_lane_za16_mf8
840838void svmla_lane_za16_vg2x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8_t, uint64_t, fpm_t);
841839__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_lane_za16_mf8_vg2x4_fpm)))
842840void svmla_lane_za16_vg2x4_fpm(uint32_t, svmfloat8x4_t, svmfloat8_t, uint64_t, fpm_t);
841__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_za16_mf8_vg2x1_fpm)))
842void svmla_za16_vg2x1_fpm(uint32_t, svmfloat8_t, svmfloat8_t, fpm_t);
843843__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_za16_mf8_vg2x2_fpm)))
844844void svmla_za16_vg2x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8x2_t, fpm_t);
845845__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_za16_mf8_vg2x4_fpm)))
......@@ -860,8 +860,6 @@ __ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svdot_za32_mf8_vg1x2
860860void svdot_za32_mf8_vg1x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8x2_t, fpm_t);
861861__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svdot_za32_mf8_vg1x4_fpm)))
862862void svdot_za32_mf8_vg1x4_fpm(uint32_t, svmfloat8x4_t, svmfloat8x4_t, fpm_t);
863__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_single_za32_mf8_vg4x1_fpm)))
864void svmla_single_za32_mf8_vg4x1_fpm(uint32_t, svmfloat8_t, svmfloat8_t, fpm_t);
865863__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_single_za32_mf8_vg4x2_fpm)))
866864void svmla_single_za32_mf8_vg4x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8_t, fpm_t);
867865__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_single_za32_mf8_vg4x4_fpm)))
......@@ -872,6 +870,8 @@ __ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_lane_za32_mf8_
872870void svmla_lane_za32_mf8_vg4x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8_t, uint64_t, fpm_t);
873871__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_lane_za32_mf8_vg4x4_fpm)))
874872void svmla_lane_za32_mf8_vg4x4_fpm(uint32_t, svmfloat8x4_t, svmfloat8_t, uint64_t, fpm_t);
873__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_za32_mf8_vg4x1_fpm)))
874void svmla_za32_mf8_vg4x1_fpm(uint32_t, svmfloat8_t, svmfloat8_t, fpm_t);
875875__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_za32_mf8_vg4x2_fpm)))
876876void svmla_za32_mf8_vg4x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8x2_t, fpm_t);
877877__ai __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_za32_mf8_vg4x4_fpm)))
......@@ -894,8 +894,6 @@ __aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svdot_za32_mf8_vg1x
894894void svdot_za32_vg1x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8x2_t, fpm_t);
895895__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svdot_za32_mf8_vg1x4_fpm)))
896896void svdot_za32_vg1x4_fpm(uint32_t, svmfloat8x4_t, svmfloat8x4_t, fpm_t);
897__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_single_za32_mf8_vg4x1_fpm)))
898void svmla_za32_vg4x1_fpm(uint32_t, svmfloat8_t, svmfloat8_t, fpm_t);
899897__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_single_za32_mf8_vg4x2_fpm)))
900898void svmla_za32_vg4x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8_t, fpm_t);
901899__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_single_za32_mf8_vg4x4_fpm)))
......@@ -906,6 +904,8 @@ __aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_lane_za32_mf8
906904void svmla_lane_za32_vg4x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8_t, uint64_t, fpm_t);
907905__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_lane_za32_mf8_vg4x4_fpm)))
908906void svmla_lane_za32_vg4x4_fpm(uint32_t, svmfloat8x4_t, svmfloat8_t, uint64_t, fpm_t);
907__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_za32_mf8_vg4x1_fpm)))
908void svmla_za32_vg4x1_fpm(uint32_t, svmfloat8_t, svmfloat8_t, fpm_t);
909909__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_za32_mf8_vg4x2_fpm)))
910910void svmla_za32_vg4x2_fpm(uint32_t, svmfloat8x2_t, svmfloat8x2_t, fpm_t);
911911__aio __attribute__((__clang_arm_builtin_alias(__builtin_sme_svmla_za32_mf8_vg4x4_fpm)))
lib/include/arm_sve.h+4162-3782
......@@ -4617,6 +4617,86 @@ __aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_x2)))
46174617svbfloat16x2_t svminnm(svbfloat16x2_t, svbfloat16x2_t);
46184618__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_x4)))
46194619svbfloat16x4_t svminnm(svbfloat16x4_t, svbfloat16x4_t);
4620__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_bf16_x2)))
4621svbfloat16x2_t svmul_single_bf16_x2(svbfloat16x2_t, svbfloat16_t);
4622__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_bf16_x4)))
4623svbfloat16x4_t svmul_single_bf16_x4(svbfloat16x4_t, svbfloat16_t);
4624__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_x2)))
4625svbfloat16x2_t svmul_bf16_x2(svbfloat16x2_t, svbfloat16x2_t);
4626__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_x4)))
4627svbfloat16x4_t svmul_bf16_x4(svbfloat16x4_t, svbfloat16x4_t);
4628__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_single_bf16_x2)))
4629svbfloat16x2_t svscale_single_bf16_x2(svbfloat16x2_t, svint16_t);
4630__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_single_bf16_x4)))
4631svbfloat16x4_t svscale_single_bf16_x4(svbfloat16x4_t, svint16_t);
4632__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_bf16_x2)))
4633svbfloat16x2_t svscale_bf16_x2(svbfloat16x2_t, svint16x2_t);
4634__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_bf16_x4)))
4635svbfloat16x4_t svscale_bf16_x4(svbfloat16x4_t, svint16x4_t);
4636__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_bf16_x2)))
4637svbfloat16x2_t svmul(svbfloat16x2_t, svbfloat16_t);
4638__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_bf16_x4)))
4639svbfloat16x4_t svmul(svbfloat16x4_t, svbfloat16_t);
4640__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_x2)))
4641svbfloat16x2_t svmul(svbfloat16x2_t, svbfloat16x2_t);
4642__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_x4)))
4643svbfloat16x4_t svmul(svbfloat16x4_t, svbfloat16x4_t);
4644__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_single_bf16_x2)))
4645svbfloat16x2_t svscale(svbfloat16x2_t, svint16_t);
4646__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_single_bf16_x4)))
4647svbfloat16x4_t svscale(svbfloat16x4_t, svint16_t);
4648__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_bf16_x2)))
4649svbfloat16x2_t svscale(svbfloat16x2_t, svint16x2_t);
4650__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_bf16_x4)))
4651svbfloat16x4_t svscale(svbfloat16x4_t, svint16x4_t);
4652__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_f64_x2)))
4653svfloat64x2_t svmul_single_f64_x2(svfloat64x2_t, svfloat64_t);
4654__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_f32_x2)))
4655svfloat32x2_t svmul_single_f32_x2(svfloat32x2_t, svfloat32_t);
4656__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_f16_x2)))
4657svfloat16x2_t svmul_single_f16_x2(svfloat16x2_t, svfloat16_t);
4658__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_f64_x4)))
4659svfloat64x4_t svmul_single_f64_x4(svfloat64x4_t, svfloat64_t);
4660__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_f32_x4)))
4661svfloat32x4_t svmul_single_f32_x4(svfloat32x4_t, svfloat32_t);
4662__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_f16_x4)))
4663svfloat16x4_t svmul_single_f16_x4(svfloat16x4_t, svfloat16_t);
4664__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_f64_x2)))
4665svfloat64x2_t svmul_f64_x2(svfloat64x2_t, svfloat64x2_t);
4666__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_f32_x2)))
4667svfloat32x2_t svmul_f32_x2(svfloat32x2_t, svfloat32x2_t);
4668__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_f16_x2)))
4669svfloat16x2_t svmul_f16_x2(svfloat16x2_t, svfloat16x2_t);
4670__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_f64_x4)))
4671svfloat64x4_t svmul_f64_x4(svfloat64x4_t, svfloat64x4_t);
4672__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_f32_x4)))
4673svfloat32x4_t svmul_f32_x4(svfloat32x4_t, svfloat32x4_t);
4674__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_f16_x4)))
4675svfloat16x4_t svmul_f16_x4(svfloat16x4_t, svfloat16x4_t);
4676__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_f64_x2)))
4677svfloat64x2_t svmul(svfloat64x2_t, svfloat64_t);
4678__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_f32_x2)))
4679svfloat32x2_t svmul(svfloat32x2_t, svfloat32_t);
4680__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_f16_x2)))
4681svfloat16x2_t svmul(svfloat16x2_t, svfloat16_t);
4682__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_f64_x4)))
4683svfloat64x4_t svmul(svfloat64x4_t, svfloat64_t);
4684__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_f32_x4)))
4685svfloat32x4_t svmul(svfloat32x4_t, svfloat32_t);
4686__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_single_f16_x4)))
4687svfloat16x4_t svmul(svfloat16x4_t, svfloat16_t);
4688__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_f64_x2)))
4689svfloat64x2_t svmul(svfloat64x2_t, svfloat64x2_t);
4690__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_f32_x2)))
4691svfloat32x2_t svmul(svfloat32x2_t, svfloat32x2_t);
4692__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_f16_x2)))
4693svfloat16x2_t svmul(svfloat16x2_t, svfloat16x2_t);
4694__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_f64_x4)))
4695svfloat64x4_t svmul(svfloat64x4_t, svfloat64x4_t);
4696__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_f32_x4)))
4697svfloat32x4_t svmul(svfloat32x4_t, svfloat32x4_t);
4698__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_f16_x4)))
4699svfloat16x4_t svmul(svfloat16x4_t, svfloat16x4_t);
46204700__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadda_f64)))
46214701float64_t svadda_f64(svbool_t, float64_t, svfloat64_t);
46224702__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadda_f32)))
......@@ -4655,18 +4735,6 @@ __ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadrw_u32base_s32in
46554735svuint32_t svadrw_u32base_s32index(svuint32_t, svint32_t);
46564736__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadrw_u64base_s64index)))
46574737svuint64_t svadrw_u64base_s64index(svuint64_t, svint64_t);
4658__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_u32)))
4659svuint32_t svcompact_u32(svbool_t, svuint32_t);
4660__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_u64)))
4661svuint64_t svcompact_u64(svbool_t, svuint64_t);
4662__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_f64)))
4663svfloat64_t svcompact_f64(svbool_t, svfloat64_t);
4664__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_f32)))
4665svfloat32_t svcompact_f32(svbool_t, svfloat32_t);
4666__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_s32)))
4667svint32_t svcompact_s32(svbool_t, svint32_t);
4668__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_s64)))
4669svint64_t svcompact_s64(svbool_t, svint64_t);
46704738__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_gather_u32base_index_u32)))
46714739svuint32_t svld1_gather_u32base_index_u32(svbool_t, svuint32_t, int64_t);
46724740__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_gather_u64base_index_u64)))
......@@ -5923,18 +5991,6 @@ __aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadrw_u32base_s32i
59235991svuint32_t svadrw_index(svuint32_t, svint32_t);
59245992__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadrw_u64base_s64index)))
59255993svuint64_t svadrw_index(svuint64_t, svint64_t);
5926__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_u32)))
5927svuint32_t svcompact(svbool_t, svuint32_t);
5928__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_u64)))
5929svuint64_t svcompact(svbool_t, svuint64_t);
5930__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_f64)))
5931svfloat64_t svcompact(svbool_t, svfloat64_t);
5932__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_f32)))
5933svfloat32_t svcompact(svbool_t, svfloat32_t);
5934__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_s32)))
5935svint32_t svcompact(svbool_t, svint32_t);
5936__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_s64)))
5937svint64_t svcompact(svbool_t, svint64_t);
59385994__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_gather_u32base_index_u32)))
59395995svuint32_t svld1_gather_index_u32(svbool_t, svuint32_t, int64_t);
59405996__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_gather_u64base_index_u64)))
......@@ -8777,3764 +8833,222 @@ __aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzipq2_mf8)))
87778833svmfloat8_t svzipq2(svmfloat8_t, svmfloat8_t);
87788834__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzipq2_s16)))
87798835svint16_t svzipq2(svint16_t, svint16_t);
8780__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmmla_f32)))
8781svfloat32_t svbfmmla_f32(svfloat32_t, svbfloat16_t, svbfloat16_t);
8782__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmmla_f32)))
8783svfloat32_t svbfmmla(svfloat32_t, svbfloat16_t, svbfloat16_t);
8784__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfdot_n_f32)))
8785svfloat32_t svbfdot_n_f32(svfloat32_t, svbfloat16_t, bfloat16_t);
8786__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfdot_f32)))
8787svfloat32_t svbfdot_f32(svfloat32_t, svbfloat16_t, svbfloat16_t);
8788__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfdot_lane_f32)))
8789svfloat32_t svbfdot_lane_f32(svfloat32_t, svbfloat16_t, svbfloat16_t, uint64_t);
8790__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalb_n_f32)))
8791svfloat32_t svbfmlalb_n_f32(svfloat32_t, svbfloat16_t, bfloat16_t);
8792__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalb_f32)))
8793svfloat32_t svbfmlalb_f32(svfloat32_t, svbfloat16_t, svbfloat16_t);
8794__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalb_lane_f32)))
8795svfloat32_t svbfmlalb_lane_f32(svfloat32_t, svbfloat16_t, svbfloat16_t, uint64_t);
8796__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalt_n_f32)))
8797svfloat32_t svbfmlalt_n_f32(svfloat32_t, svbfloat16_t, bfloat16_t);
8798__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalt_f32)))
8799svfloat32_t svbfmlalt_f32(svfloat32_t, svbfloat16_t, svbfloat16_t);
8800__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalt_lane_f32)))
8801svfloat32_t svbfmlalt_lane_f32(svfloat32_t, svbfloat16_t, svbfloat16_t, uint64_t);
8802__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt_bf16_f32_m)))
8803svbfloat16_t svcvt_bf16_f32_m(svbfloat16_t, svbool_t, svfloat32_t);
8804__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt_bf16_f32_x)))
8805svbfloat16_t svcvt_bf16_f32_x(svbool_t, svfloat32_t);
8806__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt_bf16_f32_z)))
8807svbfloat16_t svcvt_bf16_f32_z(svbool_t, svfloat32_t);
8808__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_bf16_f32_m)))
8809svbfloat16_t svcvtnt_bf16_f32_m(svbfloat16_t, svbool_t, svfloat32_t);
8810__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfdot_n_f32)))
8811svfloat32_t svbfdot(svfloat32_t, svbfloat16_t, bfloat16_t);
8812__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfdot_f32)))
8813svfloat32_t svbfdot(svfloat32_t, svbfloat16_t, svbfloat16_t);
8814__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfdot_lane_f32)))
8815svfloat32_t svbfdot_lane(svfloat32_t, svbfloat16_t, svbfloat16_t, uint64_t);
8816__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalb_n_f32)))
8817svfloat32_t svbfmlalb(svfloat32_t, svbfloat16_t, bfloat16_t);
8818__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalb_f32)))
8819svfloat32_t svbfmlalb(svfloat32_t, svbfloat16_t, svbfloat16_t);
8820__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalb_lane_f32)))
8821svfloat32_t svbfmlalb_lane(svfloat32_t, svbfloat16_t, svbfloat16_t, uint64_t);
8822__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalt_n_f32)))
8823svfloat32_t svbfmlalt(svfloat32_t, svbfloat16_t, bfloat16_t);
8824__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalt_f32)))
8825svfloat32_t svbfmlalt(svfloat32_t, svbfloat16_t, svbfloat16_t);
8826__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalt_lane_f32)))
8827svfloat32_t svbfmlalt_lane(svfloat32_t, svbfloat16_t, svbfloat16_t, uint64_t);
8828__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt_bf16_f32_m)))
8829svbfloat16_t svcvt_bf16_m(svbfloat16_t, svbool_t, svfloat32_t);
8830__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt_bf16_f32_x)))
8831svbfloat16_t svcvt_bf16_x(svbool_t, svfloat32_t);
8832__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt_bf16_f32_z)))
8833svbfloat16_t svcvt_bf16_z(svbool_t, svfloat32_t);
8834__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_bf16_f32_m)))
8835svbfloat16_t svcvtnt_bf16_m(svbfloat16_t, svbool_t, svfloat32_t);
8836__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f32)))
8837svfloat32_t svmmla_f32(svfloat32_t, svfloat32_t, svfloat32_t);
8838__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f32)))
8839svfloat32_t svmmla(svfloat32_t, svfloat32_t, svfloat32_t);
8840__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u8)))
8841svuint8_t svld1ro_u8(svbool_t, uint8_t const *);
8842__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u32)))
8843svuint32_t svld1ro_u32(svbool_t, uint32_t const *);
8844__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u64)))
8845svuint64_t svld1ro_u64(svbool_t, uint64_t const *);
8846__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u16)))
8847svuint16_t svld1ro_u16(svbool_t, uint16_t const *);
8848__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_bf16)))
8849svbfloat16_t svld1ro_bf16(svbool_t, bfloat16_t const *);
8850__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s8)))
8851svint8_t svld1ro_s8(svbool_t, int8_t const *);
8852__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_f64)))
8853svfloat64_t svld1ro_f64(svbool_t, float64_t const *);
8854__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_f32)))
8855svfloat32_t svld1ro_f32(svbool_t, float32_t const *);
8856__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_f16)))
8857svfloat16_t svld1ro_f16(svbool_t, float16_t const *);
8858__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s32)))
8859svint32_t svld1ro_s32(svbool_t, int32_t const *);
8860__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s64)))
8861svint64_t svld1ro_s64(svbool_t, int64_t const *);
8862__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_mf8)))
8863svmfloat8_t svld1ro_mf8(svbool_t, mfloat8_t const *);
8864__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s16)))
8865svint16_t svld1ro_s16(svbool_t, int16_t const *);
8866__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f64)))
8867svfloat64_t svmmla_f64(svfloat64_t, svfloat64_t, svfloat64_t);
8868__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u8)))
8869svuint8_t svtrn1q_u8(svuint8_t, svuint8_t);
8870__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u32)))
8871svuint32_t svtrn1q_u32(svuint32_t, svuint32_t);
8872__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u64)))
8873svuint64_t svtrn1q_u64(svuint64_t, svuint64_t);
8874__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u16)))
8875svuint16_t svtrn1q_u16(svuint16_t, svuint16_t);
8876__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_bf16)))
8877svbfloat16_t svtrn1q_bf16(svbfloat16_t, svbfloat16_t);
8878__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s8)))
8879svint8_t svtrn1q_s8(svint8_t, svint8_t);
8880__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_f64)))
8881svfloat64_t svtrn1q_f64(svfloat64_t, svfloat64_t);
8882__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_f32)))
8883svfloat32_t svtrn1q_f32(svfloat32_t, svfloat32_t);
8884__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_f16)))
8885svfloat16_t svtrn1q_f16(svfloat16_t, svfloat16_t);
8886__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s32)))
8887svint32_t svtrn1q_s32(svint32_t, svint32_t);
8888__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s64)))
8889svint64_t svtrn1q_s64(svint64_t, svint64_t);
8890__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s16)))
8891svint16_t svtrn1q_s16(svint16_t, svint16_t);
8892__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u8)))
8893svuint8_t svtrn2q_u8(svuint8_t, svuint8_t);
8894__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u32)))
8895svuint32_t svtrn2q_u32(svuint32_t, svuint32_t);
8896__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u64)))
8897svuint64_t svtrn2q_u64(svuint64_t, svuint64_t);
8898__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u16)))
8899svuint16_t svtrn2q_u16(svuint16_t, svuint16_t);
8900__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_bf16)))
8901svbfloat16_t svtrn2q_bf16(svbfloat16_t, svbfloat16_t);
8902__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s8)))
8903svint8_t svtrn2q_s8(svint8_t, svint8_t);
8904__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_f64)))
8905svfloat64_t svtrn2q_f64(svfloat64_t, svfloat64_t);
8906__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_f32)))
8907svfloat32_t svtrn2q_f32(svfloat32_t, svfloat32_t);
8908__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_f16)))
8909svfloat16_t svtrn2q_f16(svfloat16_t, svfloat16_t);
8910__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s32)))
8911svint32_t svtrn2q_s32(svint32_t, svint32_t);
8912__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s64)))
8913svint64_t svtrn2q_s64(svint64_t, svint64_t);
8914__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s16)))
8915svint16_t svtrn2q_s16(svint16_t, svint16_t);
8916__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u8)))
8917svuint8_t svuzp1q_u8(svuint8_t, svuint8_t);
8918__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u32)))
8919svuint32_t svuzp1q_u32(svuint32_t, svuint32_t);
8920__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u64)))
8921svuint64_t svuzp1q_u64(svuint64_t, svuint64_t);
8922__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u16)))
8923svuint16_t svuzp1q_u16(svuint16_t, svuint16_t);
8924__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_bf16)))
8925svbfloat16_t svuzp1q_bf16(svbfloat16_t, svbfloat16_t);
8926__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s8)))
8927svint8_t svuzp1q_s8(svint8_t, svint8_t);
8928__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_f64)))
8929svfloat64_t svuzp1q_f64(svfloat64_t, svfloat64_t);
8930__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_f32)))
8931svfloat32_t svuzp1q_f32(svfloat32_t, svfloat32_t);
8932__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_f16)))
8933svfloat16_t svuzp1q_f16(svfloat16_t, svfloat16_t);
8934__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s32)))
8935svint32_t svuzp1q_s32(svint32_t, svint32_t);
8936__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s64)))
8937svint64_t svuzp1q_s64(svint64_t, svint64_t);
8938__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s16)))
8939svint16_t svuzp1q_s16(svint16_t, svint16_t);
8940__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u8)))
8941svuint8_t svuzp2q_u8(svuint8_t, svuint8_t);
8942__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u32)))
8943svuint32_t svuzp2q_u32(svuint32_t, svuint32_t);
8944__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u64)))
8945svuint64_t svuzp2q_u64(svuint64_t, svuint64_t);
8946__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u16)))
8947svuint16_t svuzp2q_u16(svuint16_t, svuint16_t);
8948__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_bf16)))
8949svbfloat16_t svuzp2q_bf16(svbfloat16_t, svbfloat16_t);
8950__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s8)))
8951svint8_t svuzp2q_s8(svint8_t, svint8_t);
8952__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_f64)))
8953svfloat64_t svuzp2q_f64(svfloat64_t, svfloat64_t);
8954__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_f32)))
8955svfloat32_t svuzp2q_f32(svfloat32_t, svfloat32_t);
8956__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_f16)))
8957svfloat16_t svuzp2q_f16(svfloat16_t, svfloat16_t);
8958__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s32)))
8959svint32_t svuzp2q_s32(svint32_t, svint32_t);
8960__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s64)))
8961svint64_t svuzp2q_s64(svint64_t, svint64_t);
8962__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s16)))
8963svint16_t svuzp2q_s16(svint16_t, svint16_t);
8964__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u8)))
8965svuint8_t svzip1q_u8(svuint8_t, svuint8_t);
8966__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u32)))
8967svuint32_t svzip1q_u32(svuint32_t, svuint32_t);
8968__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u64)))
8969svuint64_t svzip1q_u64(svuint64_t, svuint64_t);
8970__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u16)))
8971svuint16_t svzip1q_u16(svuint16_t, svuint16_t);
8972__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_bf16)))
8973svbfloat16_t svzip1q_bf16(svbfloat16_t, svbfloat16_t);
8974__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s8)))
8975svint8_t svzip1q_s8(svint8_t, svint8_t);
8976__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_f64)))
8977svfloat64_t svzip1q_f64(svfloat64_t, svfloat64_t);
8978__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_f32)))
8979svfloat32_t svzip1q_f32(svfloat32_t, svfloat32_t);
8980__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_f16)))
8981svfloat16_t svzip1q_f16(svfloat16_t, svfloat16_t);
8982__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s32)))
8983svint32_t svzip1q_s32(svint32_t, svint32_t);
8984__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s64)))
8985svint64_t svzip1q_s64(svint64_t, svint64_t);
8986__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s16)))
8987svint16_t svzip1q_s16(svint16_t, svint16_t);
8988__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u8)))
8989svuint8_t svzip2q_u8(svuint8_t, svuint8_t);
8990__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u32)))
8991svuint32_t svzip2q_u32(svuint32_t, svuint32_t);
8992__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u64)))
8993svuint64_t svzip2q_u64(svuint64_t, svuint64_t);
8994__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u16)))
8995svuint16_t svzip2q_u16(svuint16_t, svuint16_t);
8996__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_bf16)))
8997svbfloat16_t svzip2q_bf16(svbfloat16_t, svbfloat16_t);
8998__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s8)))
8999svint8_t svzip2q_s8(svint8_t, svint8_t);
9000__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_f64)))
9001svfloat64_t svzip2q_f64(svfloat64_t, svfloat64_t);
9002__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_f32)))
9003svfloat32_t svzip2q_f32(svfloat32_t, svfloat32_t);
9004__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_f16)))
9005svfloat16_t svzip2q_f16(svfloat16_t, svfloat16_t);
9006__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s32)))
9007svint32_t svzip2q_s32(svint32_t, svint32_t);
9008__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s64)))
9009svint64_t svzip2q_s64(svint64_t, svint64_t);
9010__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s16)))
9011svint16_t svzip2q_s16(svint16_t, svint16_t);
9012__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u8)))
9013svuint8_t svld1ro(svbool_t, uint8_t const *);
9014__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u32)))
9015svuint32_t svld1ro(svbool_t, uint32_t const *);
9016__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u64)))
9017svuint64_t svld1ro(svbool_t, uint64_t const *);
9018__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u16)))
9019svuint16_t svld1ro(svbool_t, uint16_t const *);
9020__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_bf16)))
9021svbfloat16_t svld1ro(svbool_t, bfloat16_t const *);
9022__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s8)))
9023svint8_t svld1ro(svbool_t, int8_t const *);
9024__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_f64)))
9025svfloat64_t svld1ro(svbool_t, float64_t const *);
9026__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_f32)))
9027svfloat32_t svld1ro(svbool_t, float32_t const *);
9028__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_f16)))
9029svfloat16_t svld1ro(svbool_t, float16_t const *);
9030__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s32)))
9031svint32_t svld1ro(svbool_t, int32_t const *);
9032__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s64)))
9033svint64_t svld1ro(svbool_t, int64_t const *);
9034__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_mf8)))
9035svmfloat8_t svld1ro(svbool_t, mfloat8_t const *);
9036__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s16)))
9037svint16_t svld1ro(svbool_t, int16_t const *);
9038__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f64)))
9039svfloat64_t svmmla(svfloat64_t, svfloat64_t, svfloat64_t);
9040__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u8)))
9041svuint8_t svtrn1q(svuint8_t, svuint8_t);
9042__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u32)))
9043svuint32_t svtrn1q(svuint32_t, svuint32_t);
9044__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u64)))
9045svuint64_t svtrn1q(svuint64_t, svuint64_t);
9046__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u16)))
9047svuint16_t svtrn1q(svuint16_t, svuint16_t);
9048__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_bf16)))
9049svbfloat16_t svtrn1q(svbfloat16_t, svbfloat16_t);
9050__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s8)))
9051svint8_t svtrn1q(svint8_t, svint8_t);
9052__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_f64)))
9053svfloat64_t svtrn1q(svfloat64_t, svfloat64_t);
9054__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_f32)))
9055svfloat32_t svtrn1q(svfloat32_t, svfloat32_t);
9056__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_f16)))
9057svfloat16_t svtrn1q(svfloat16_t, svfloat16_t);
9058__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s32)))
9059svint32_t svtrn1q(svint32_t, svint32_t);
9060__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s64)))
9061svint64_t svtrn1q(svint64_t, svint64_t);
9062__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s16)))
9063svint16_t svtrn1q(svint16_t, svint16_t);
9064__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u8)))
9065svuint8_t svtrn2q(svuint8_t, svuint8_t);
9066__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u32)))
9067svuint32_t svtrn2q(svuint32_t, svuint32_t);
9068__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u64)))
9069svuint64_t svtrn2q(svuint64_t, svuint64_t);
9070__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u16)))
9071svuint16_t svtrn2q(svuint16_t, svuint16_t);
9072__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_bf16)))
9073svbfloat16_t svtrn2q(svbfloat16_t, svbfloat16_t);
9074__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s8)))
9075svint8_t svtrn2q(svint8_t, svint8_t);
9076__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_f64)))
9077svfloat64_t svtrn2q(svfloat64_t, svfloat64_t);
9078__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_f32)))
9079svfloat32_t svtrn2q(svfloat32_t, svfloat32_t);
9080__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_f16)))
9081svfloat16_t svtrn2q(svfloat16_t, svfloat16_t);
9082__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s32)))
9083svint32_t svtrn2q(svint32_t, svint32_t);
9084__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s64)))
9085svint64_t svtrn2q(svint64_t, svint64_t);
9086__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s16)))
9087svint16_t svtrn2q(svint16_t, svint16_t);
9088__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u8)))
9089svuint8_t svuzp1q(svuint8_t, svuint8_t);
9090__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u32)))
9091svuint32_t svuzp1q(svuint32_t, svuint32_t);
9092__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u64)))
9093svuint64_t svuzp1q(svuint64_t, svuint64_t);
9094__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u16)))
9095svuint16_t svuzp1q(svuint16_t, svuint16_t);
9096__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_bf16)))
9097svbfloat16_t svuzp1q(svbfloat16_t, svbfloat16_t);
9098__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s8)))
9099svint8_t svuzp1q(svint8_t, svint8_t);
9100__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_f64)))
9101svfloat64_t svuzp1q(svfloat64_t, svfloat64_t);
9102__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_f32)))
9103svfloat32_t svuzp1q(svfloat32_t, svfloat32_t);
9104__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_f16)))
9105svfloat16_t svuzp1q(svfloat16_t, svfloat16_t);
9106__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s32)))
9107svint32_t svuzp1q(svint32_t, svint32_t);
9108__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s64)))
9109svint64_t svuzp1q(svint64_t, svint64_t);
9110__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s16)))
9111svint16_t svuzp1q(svint16_t, svint16_t);
9112__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u8)))
9113svuint8_t svuzp2q(svuint8_t, svuint8_t);
9114__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u32)))
9115svuint32_t svuzp2q(svuint32_t, svuint32_t);
9116__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u64)))
9117svuint64_t svuzp2q(svuint64_t, svuint64_t);
9118__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u16)))
9119svuint16_t svuzp2q(svuint16_t, svuint16_t);
9120__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_bf16)))
9121svbfloat16_t svuzp2q(svbfloat16_t, svbfloat16_t);
9122__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s8)))
9123svint8_t svuzp2q(svint8_t, svint8_t);
9124__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_f64)))
9125svfloat64_t svuzp2q(svfloat64_t, svfloat64_t);
9126__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_f32)))
9127svfloat32_t svuzp2q(svfloat32_t, svfloat32_t);
9128__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_f16)))
9129svfloat16_t svuzp2q(svfloat16_t, svfloat16_t);
9130__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s32)))
9131svint32_t svuzp2q(svint32_t, svint32_t);
9132__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s64)))
9133svint64_t svuzp2q(svint64_t, svint64_t);
9134__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s16)))
9135svint16_t svuzp2q(svint16_t, svint16_t);
9136__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u8)))
9137svuint8_t svzip1q(svuint8_t, svuint8_t);
9138__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u32)))
9139svuint32_t svzip1q(svuint32_t, svuint32_t);
9140__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u64)))
9141svuint64_t svzip1q(svuint64_t, svuint64_t);
9142__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u16)))
9143svuint16_t svzip1q(svuint16_t, svuint16_t);
9144__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_bf16)))
9145svbfloat16_t svzip1q(svbfloat16_t, svbfloat16_t);
9146__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s8)))
9147svint8_t svzip1q(svint8_t, svint8_t);
9148__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_f64)))
9149svfloat64_t svzip1q(svfloat64_t, svfloat64_t);
9150__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_f32)))
9151svfloat32_t svzip1q(svfloat32_t, svfloat32_t);
9152__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_f16)))
9153svfloat16_t svzip1q(svfloat16_t, svfloat16_t);
9154__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s32)))
9155svint32_t svzip1q(svint32_t, svint32_t);
9156__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s64)))
9157svint64_t svzip1q(svint64_t, svint64_t);
9158__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s16)))
9159svint16_t svzip1q(svint16_t, svint16_t);
9160__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u8)))
9161svuint8_t svzip2q(svuint8_t, svuint8_t);
9162__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u32)))
9163svuint32_t svzip2q(svuint32_t, svuint32_t);
9164__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u64)))
9165svuint64_t svzip2q(svuint64_t, svuint64_t);
9166__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u16)))
9167svuint16_t svzip2q(svuint16_t, svuint16_t);
9168__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_bf16)))
9169svbfloat16_t svzip2q(svbfloat16_t, svbfloat16_t);
9170__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s8)))
9171svint8_t svzip2q(svint8_t, svint8_t);
9172__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_f64)))
9173svfloat64_t svzip2q(svfloat64_t, svfloat64_t);
9174__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_f32)))
9175svfloat32_t svzip2q(svfloat32_t, svfloat32_t);
9176__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_f16)))
9177svfloat16_t svzip2q(svfloat16_t, svfloat16_t);
9178__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s32)))
9179svint32_t svzip2q(svint32_t, svint32_t);
9180__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s64)))
9181svint64_t svzip2q(svint64_t, svint64_t);
9182__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s16)))
9183svint16_t svzip2q(svint16_t, svint16_t);
9184__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_s32)))
9185svint32_t svmmla_s32(svint32_t, svint8_t, svint8_t);
9186__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_u32)))
9187svuint32_t svmmla_u32(svuint32_t, svuint8_t, svuint8_t);
9188__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusmmla_s32)))
9189svint32_t svusmmla_s32(svint32_t, svuint8_t, svint8_t);
9190__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_s32)))
9191svint32_t svmmla(svint32_t, svint8_t, svint8_t);
9192__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_u32)))
9193svuint32_t svmmla(svuint32_t, svuint8_t, svuint8_t);
9194__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusmmla_s32)))
9195svint32_t svusmmla(svint32_t, svuint8_t, svint8_t);
9196__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsudot_n_s32)))
9197svint32_t svsudot_n_s32(svint32_t, svint8_t, uint8_t);
9198__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsudot_s32)))
9199svint32_t svsudot_s32(svint32_t, svint8_t, svuint8_t);
9200__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsudot_lane_s32)))
9201svint32_t svsudot_lane_s32(svint32_t, svint8_t, svuint8_t, uint64_t);
9202__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusdot_n_s32)))
9203svint32_t svusdot_n_s32(svint32_t, svuint8_t, int8_t);
9204__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusdot_s32)))
9205svint32_t svusdot_s32(svint32_t, svuint8_t, svint8_t);
9206__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusdot_lane_s32)))
9207svint32_t svusdot_lane_s32(svint32_t, svuint8_t, svint8_t, uint64_t);
9208__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsudot_n_s32)))
9209svint32_t svsudot(svint32_t, svint8_t, uint8_t);
9210__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsudot_s32)))
9211svint32_t svsudot(svint32_t, svint8_t, svuint8_t);
9212__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsudot_lane_s32)))
9213svint32_t svsudot_lane(svint32_t, svint8_t, svuint8_t, uint64_t);
9214__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusdot_n_s32)))
9215svint32_t svusdot(svint32_t, svuint8_t, int8_t);
9216__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusdot_s32)))
9217svint32_t svusdot(svint32_t, svuint8_t, svint8_t);
9218__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusdot_lane_s32)))
9219svint32_t svusdot_lane(svint32_t, svuint8_t, svint8_t, uint64_t);
9220__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrax1_u64)))
9221svuint64_t svrax1_u64(svuint64_t, svuint64_t);
9222__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrax1_s64)))
9223svint64_t svrax1_s64(svint64_t, svint64_t);
9224__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrax1_u64)))
9225svuint64_t svrax1(svuint64_t, svuint64_t);
9226__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrax1_s64)))
9227svint64_t svrax1(svint64_t, svint64_t);
9228__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_u32_z)))
9229svuint32_t svhistcnt_u32_z(svbool_t, svuint32_t, svuint32_t);
9230__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_u64_z)))
9231svuint64_t svhistcnt_u64_z(svbool_t, svuint64_t, svuint64_t);
9232__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_s32_z)))
9233svuint32_t svhistcnt_s32_z(svbool_t, svint32_t, svint32_t);
9234__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_s64_z)))
9235svuint64_t svhistcnt_s64_z(svbool_t, svint64_t, svint64_t);
9236__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistseg_u8)))
9237svuint8_t svhistseg_u8(svuint8_t, svuint8_t);
9238__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistseg_s8)))
9239svuint8_t svhistseg_s8(svint8_t, svint8_t);
9240__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_index_u32)))
9241svuint32_t svldnt1_gather_u32base_index_u32(svbool_t, svuint32_t, int64_t);
9242__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_index_u64)))
9243svuint64_t svldnt1_gather_u64base_index_u64(svbool_t, svuint64_t, int64_t);
9244__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_index_f64)))
9245svfloat64_t svldnt1_gather_u64base_index_f64(svbool_t, svuint64_t, int64_t);
9246__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_index_f32)))
9247svfloat32_t svldnt1_gather_u32base_index_f32(svbool_t, svuint32_t, int64_t);
9248__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_index_s32)))
9249svint32_t svldnt1_gather_u32base_index_s32(svbool_t, svuint32_t, int64_t);
9250__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_index_s64)))
9251svint64_t svldnt1_gather_u64base_index_s64(svbool_t, svuint64_t, int64_t);
9252__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_offset_u32)))
9253svuint32_t svldnt1_gather_u32base_offset_u32(svbool_t, svuint32_t, int64_t);
9254__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_offset_u64)))
9255svuint64_t svldnt1_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
9256__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_offset_f64)))
9257svfloat64_t svldnt1_gather_u64base_offset_f64(svbool_t, svuint64_t, int64_t);
9258__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_offset_f32)))
9259svfloat32_t svldnt1_gather_u32base_offset_f32(svbool_t, svuint32_t, int64_t);
9260__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_offset_s32)))
9261svint32_t svldnt1_gather_u32base_offset_s32(svbool_t, svuint32_t, int64_t);
9262__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_offset_s64)))
9263svint64_t svldnt1_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
9264__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_u32)))
9265svuint32_t svldnt1_gather_u32base_u32(svbool_t, svuint32_t);
9266__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_u64)))
9267svuint64_t svldnt1_gather_u64base_u64(svbool_t, svuint64_t);
9268__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_f64)))
9269svfloat64_t svldnt1_gather_u64base_f64(svbool_t, svuint64_t);
9270__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_f32)))
9271svfloat32_t svldnt1_gather_u32base_f32(svbool_t, svuint32_t);
9272__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_s32)))
9273svint32_t svldnt1_gather_u32base_s32(svbool_t, svuint32_t);
9274__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_s64)))
9275svint64_t svldnt1_gather_u64base_s64(svbool_t, svuint64_t);
9276__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64index_u64)))
9277svuint64_t svldnt1_gather_s64index_u64(svbool_t, uint64_t const *, svint64_t);
9278__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64index_f64)))
9279svfloat64_t svldnt1_gather_s64index_f64(svbool_t, float64_t const *, svint64_t);
9280__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64index_s64)))
9281svint64_t svldnt1_gather_s64index_s64(svbool_t, int64_t const *, svint64_t);
9282__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64index_u64)))
9283svuint64_t svldnt1_gather_u64index_u64(svbool_t, uint64_t const *, svuint64_t);
9284__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64index_f64)))
9285svfloat64_t svldnt1_gather_u64index_f64(svbool_t, float64_t const *, svuint64_t);
9286__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64index_s64)))
9287svint64_t svldnt1_gather_u64index_s64(svbool_t, int64_t const *, svuint64_t);
9288__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32offset_u32)))
9289svuint32_t svldnt1_gather_u32offset_u32(svbool_t, uint32_t const *, svuint32_t);
9290__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32offset_f32)))
9291svfloat32_t svldnt1_gather_u32offset_f32(svbool_t, float32_t const *, svuint32_t);
9292__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32offset_s32)))
9293svint32_t svldnt1_gather_u32offset_s32(svbool_t, int32_t const *, svuint32_t);
9294__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64offset_u64)))
9295svuint64_t svldnt1_gather_s64offset_u64(svbool_t, uint64_t const *, svint64_t);
9296__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64offset_f64)))
9297svfloat64_t svldnt1_gather_s64offset_f64(svbool_t, float64_t const *, svint64_t);
9298__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64offset_s64)))
9299svint64_t svldnt1_gather_s64offset_s64(svbool_t, int64_t const *, svint64_t);
9300__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64offset_u64)))
9301svuint64_t svldnt1_gather_u64offset_u64(svbool_t, uint64_t const *, svuint64_t);
9302__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64offset_f64)))
9303svfloat64_t svldnt1_gather_u64offset_f64(svbool_t, float64_t const *, svuint64_t);
9304__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64offset_s64)))
9305svint64_t svldnt1_gather_u64offset_s64(svbool_t, int64_t const *, svuint64_t);
9306__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_offset_u32)))
9307svuint32_t svldnt1sb_gather_u32base_offset_u32(svbool_t, svuint32_t, int64_t);
9308__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_offset_u64)))
9309svuint64_t svldnt1sb_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
9310__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_offset_s32)))
9311svint32_t svldnt1sb_gather_u32base_offset_s32(svbool_t, svuint32_t, int64_t);
9312__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_offset_s64)))
9313svint64_t svldnt1sb_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
9314__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_u32)))
9315svuint32_t svldnt1sb_gather_u32base_u32(svbool_t, svuint32_t);
9316__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_u64)))
9317svuint64_t svldnt1sb_gather_u64base_u64(svbool_t, svuint64_t);
9318__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_s32)))
9319svint32_t svldnt1sb_gather_u32base_s32(svbool_t, svuint32_t);
9320__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_s64)))
9321svint64_t svldnt1sb_gather_u64base_s64(svbool_t, svuint64_t);
9322__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32offset_u32)))
9323svuint32_t svldnt1sb_gather_u32offset_u32(svbool_t, int8_t const *, svuint32_t);
9324__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32offset_s32)))
9325svint32_t svldnt1sb_gather_u32offset_s32(svbool_t, int8_t const *, svuint32_t);
9326__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_s64offset_u64)))
9327svuint64_t svldnt1sb_gather_s64offset_u64(svbool_t, int8_t const *, svint64_t);
9328__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_s64offset_s64)))
9329svint64_t svldnt1sb_gather_s64offset_s64(svbool_t, int8_t const *, svint64_t);
9330__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64offset_u64)))
9331svuint64_t svldnt1sb_gather_u64offset_u64(svbool_t, int8_t const *, svuint64_t);
9332__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64offset_s64)))
9333svint64_t svldnt1sb_gather_u64offset_s64(svbool_t, int8_t const *, svuint64_t);
9334__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_index_u32)))
9335svuint32_t svldnt1sh_gather_u32base_index_u32(svbool_t, svuint32_t, int64_t);
9336__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_index_u64)))
9337svuint64_t svldnt1sh_gather_u64base_index_u64(svbool_t, svuint64_t, int64_t);
9338__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_index_s32)))
9339svint32_t svldnt1sh_gather_u32base_index_s32(svbool_t, svuint32_t, int64_t);
9340__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_index_s64)))
9341svint64_t svldnt1sh_gather_u64base_index_s64(svbool_t, svuint64_t, int64_t);
9342__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_offset_u32)))
9343svuint32_t svldnt1sh_gather_u32base_offset_u32(svbool_t, svuint32_t, int64_t);
9344__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_offset_u64)))
9345svuint64_t svldnt1sh_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
9346__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_offset_s32)))
9347svint32_t svldnt1sh_gather_u32base_offset_s32(svbool_t, svuint32_t, int64_t);
9348__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_offset_s64)))
9349svint64_t svldnt1sh_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
9350__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_u32)))
9351svuint32_t svldnt1sh_gather_u32base_u32(svbool_t, svuint32_t);
9352__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_u64)))
9353svuint64_t svldnt1sh_gather_u64base_u64(svbool_t, svuint64_t);
9354__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_s32)))
9355svint32_t svldnt1sh_gather_u32base_s32(svbool_t, svuint32_t);
9356__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_s64)))
9357svint64_t svldnt1sh_gather_u64base_s64(svbool_t, svuint64_t);
9358__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64index_u64)))
9359svuint64_t svldnt1sh_gather_s64index_u64(svbool_t, int16_t const *, svint64_t);
9360__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64index_s64)))
9361svint64_t svldnt1sh_gather_s64index_s64(svbool_t, int16_t const *, svint64_t);
9362__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64index_u64)))
9363svuint64_t svldnt1sh_gather_u64index_u64(svbool_t, int16_t const *, svuint64_t);
9364__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64index_s64)))
9365svint64_t svldnt1sh_gather_u64index_s64(svbool_t, int16_t const *, svuint64_t);
9366__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32offset_u32)))
9367svuint32_t svldnt1sh_gather_u32offset_u32(svbool_t, int16_t const *, svuint32_t);
9368__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32offset_s32)))
9369svint32_t svldnt1sh_gather_u32offset_s32(svbool_t, int16_t const *, svuint32_t);
9370__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64offset_u64)))
9371svuint64_t svldnt1sh_gather_s64offset_u64(svbool_t, int16_t const *, svint64_t);
9372__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64offset_s64)))
9373svint64_t svldnt1sh_gather_s64offset_s64(svbool_t, int16_t const *, svint64_t);
9374__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64offset_u64)))
9375svuint64_t svldnt1sh_gather_u64offset_u64(svbool_t, int16_t const *, svuint64_t);
9376__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64offset_s64)))
9377svint64_t svldnt1sh_gather_u64offset_s64(svbool_t, int16_t const *, svuint64_t);
9378__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_index_u64)))
9379svuint64_t svldnt1sw_gather_u64base_index_u64(svbool_t, svuint64_t, int64_t);
9380__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_index_s64)))
9381svint64_t svldnt1sw_gather_u64base_index_s64(svbool_t, svuint64_t, int64_t);
9382__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_offset_u64)))
9383svuint64_t svldnt1sw_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
9384__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_offset_s64)))
9385svint64_t svldnt1sw_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
9386__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_u64)))
9387svuint64_t svldnt1sw_gather_u64base_u64(svbool_t, svuint64_t);
9388__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_s64)))
9389svint64_t svldnt1sw_gather_u64base_s64(svbool_t, svuint64_t);
9390__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64index_u64)))
9391svuint64_t svldnt1sw_gather_s64index_u64(svbool_t, int32_t const *, svint64_t);
9392__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64index_s64)))
9393svint64_t svldnt1sw_gather_s64index_s64(svbool_t, int32_t const *, svint64_t);
9394__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64index_u64)))
9395svuint64_t svldnt1sw_gather_u64index_u64(svbool_t, int32_t const *, svuint64_t);
9396__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64index_s64)))
9397svint64_t svldnt1sw_gather_u64index_s64(svbool_t, int32_t const *, svuint64_t);
9398__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64offset_u64)))
9399svuint64_t svldnt1sw_gather_s64offset_u64(svbool_t, int32_t const *, svint64_t);
9400__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64offset_s64)))
9401svint64_t svldnt1sw_gather_s64offset_s64(svbool_t, int32_t const *, svint64_t);
9402__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64offset_u64)))
9403svuint64_t svldnt1sw_gather_u64offset_u64(svbool_t, int32_t const *, svuint64_t);
9404__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64offset_s64)))
9405svint64_t svldnt1sw_gather_u64offset_s64(svbool_t, int32_t const *, svuint64_t);
9406__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_offset_u32)))
9407svuint32_t svldnt1ub_gather_u32base_offset_u32(svbool_t, svuint32_t, int64_t);
9408__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_offset_u64)))
9409svuint64_t svldnt1ub_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
9410__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_offset_s32)))
9411svint32_t svldnt1ub_gather_u32base_offset_s32(svbool_t, svuint32_t, int64_t);
9412__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_offset_s64)))
9413svint64_t svldnt1ub_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
9414__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_u32)))
9415svuint32_t svldnt1ub_gather_u32base_u32(svbool_t, svuint32_t);
9416__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_u64)))
9417svuint64_t svldnt1ub_gather_u64base_u64(svbool_t, svuint64_t);
9418__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_s32)))
9419svint32_t svldnt1ub_gather_u32base_s32(svbool_t, svuint32_t);
9420__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_s64)))
9421svint64_t svldnt1ub_gather_u64base_s64(svbool_t, svuint64_t);
9422__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32offset_u32)))
9423svuint32_t svldnt1ub_gather_u32offset_u32(svbool_t, uint8_t const *, svuint32_t);
9424__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32offset_s32)))
9425svint32_t svldnt1ub_gather_u32offset_s32(svbool_t, uint8_t const *, svuint32_t);
9426__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_s64offset_u64)))
9427svuint64_t svldnt1ub_gather_s64offset_u64(svbool_t, uint8_t const *, svint64_t);
9428__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_s64offset_s64)))
9429svint64_t svldnt1ub_gather_s64offset_s64(svbool_t, uint8_t const *, svint64_t);
9430__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64offset_u64)))
9431svuint64_t svldnt1ub_gather_u64offset_u64(svbool_t, uint8_t const *, svuint64_t);
9432__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64offset_s64)))
9433svint64_t svldnt1ub_gather_u64offset_s64(svbool_t, uint8_t const *, svuint64_t);
9434__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_index_u32)))
9435svuint32_t svldnt1uh_gather_u32base_index_u32(svbool_t, svuint32_t, int64_t);
9436__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_index_u64)))
9437svuint64_t svldnt1uh_gather_u64base_index_u64(svbool_t, svuint64_t, int64_t);
9438__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_index_s32)))
9439svint32_t svldnt1uh_gather_u32base_index_s32(svbool_t, svuint32_t, int64_t);
9440__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_index_s64)))
9441svint64_t svldnt1uh_gather_u64base_index_s64(svbool_t, svuint64_t, int64_t);
9442__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_offset_u32)))
9443svuint32_t svldnt1uh_gather_u32base_offset_u32(svbool_t, svuint32_t, int64_t);
9444__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_offset_u64)))
9445svuint64_t svldnt1uh_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
9446__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_offset_s32)))
9447svint32_t svldnt1uh_gather_u32base_offset_s32(svbool_t, svuint32_t, int64_t);
9448__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_offset_s64)))
9449svint64_t svldnt1uh_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
9450__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_u32)))
9451svuint32_t svldnt1uh_gather_u32base_u32(svbool_t, svuint32_t);
9452__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_u64)))
9453svuint64_t svldnt1uh_gather_u64base_u64(svbool_t, svuint64_t);
9454__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_s32)))
9455svint32_t svldnt1uh_gather_u32base_s32(svbool_t, svuint32_t);
9456__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_s64)))
9457svint64_t svldnt1uh_gather_u64base_s64(svbool_t, svuint64_t);
9458__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64index_u64)))
9459svuint64_t svldnt1uh_gather_s64index_u64(svbool_t, uint16_t const *, svint64_t);
9460__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64index_s64)))
9461svint64_t svldnt1uh_gather_s64index_s64(svbool_t, uint16_t const *, svint64_t);
9462__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64index_u64)))
9463svuint64_t svldnt1uh_gather_u64index_u64(svbool_t, uint16_t const *, svuint64_t);
9464__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64index_s64)))
9465svint64_t svldnt1uh_gather_u64index_s64(svbool_t, uint16_t const *, svuint64_t);
9466__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32offset_u32)))
9467svuint32_t svldnt1uh_gather_u32offset_u32(svbool_t, uint16_t const *, svuint32_t);
9468__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32offset_s32)))
9469svint32_t svldnt1uh_gather_u32offset_s32(svbool_t, uint16_t const *, svuint32_t);
9470__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64offset_u64)))
9471svuint64_t svldnt1uh_gather_s64offset_u64(svbool_t, uint16_t const *, svint64_t);
9472__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64offset_s64)))
9473svint64_t svldnt1uh_gather_s64offset_s64(svbool_t, uint16_t const *, svint64_t);
9474__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64offset_u64)))
9475svuint64_t svldnt1uh_gather_u64offset_u64(svbool_t, uint16_t const *, svuint64_t);
9476__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64offset_s64)))
9477svint64_t svldnt1uh_gather_u64offset_s64(svbool_t, uint16_t const *, svuint64_t);
9478__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_index_u64)))
9479svuint64_t svldnt1uw_gather_u64base_index_u64(svbool_t, svuint64_t, int64_t);
9480__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_index_s64)))
9481svint64_t svldnt1uw_gather_u64base_index_s64(svbool_t, svuint64_t, int64_t);
9482__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_offset_u64)))
9483svuint64_t svldnt1uw_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
9484__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_offset_s64)))
9485svint64_t svldnt1uw_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
9486__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_u64)))
9487svuint64_t svldnt1uw_gather_u64base_u64(svbool_t, svuint64_t);
9488__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_s64)))
9489svint64_t svldnt1uw_gather_u64base_s64(svbool_t, svuint64_t);
9490__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64index_u64)))
9491svuint64_t svldnt1uw_gather_s64index_u64(svbool_t, uint32_t const *, svint64_t);
9492__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64index_s64)))
9493svint64_t svldnt1uw_gather_s64index_s64(svbool_t, uint32_t const *, svint64_t);
9494__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64index_u64)))
9495svuint64_t svldnt1uw_gather_u64index_u64(svbool_t, uint32_t const *, svuint64_t);
9496__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64index_s64)))
9497svint64_t svldnt1uw_gather_u64index_s64(svbool_t, uint32_t const *, svuint64_t);
9498__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64offset_u64)))
9499svuint64_t svldnt1uw_gather_s64offset_u64(svbool_t, uint32_t const *, svint64_t);
9500__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64offset_s64)))
9501svint64_t svldnt1uw_gather_s64offset_s64(svbool_t, uint32_t const *, svint64_t);
9502__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64offset_u64)))
9503svuint64_t svldnt1uw_gather_u64offset_u64(svbool_t, uint32_t const *, svuint64_t);
9504__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64offset_s64)))
9505svint64_t svldnt1uw_gather_u64offset_s64(svbool_t, uint32_t const *, svuint64_t);
9506__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_u8)))
9507svbool_t svmatch_u8(svbool_t, svuint8_t, svuint8_t);
9508__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_u16)))
9509svbool_t svmatch_u16(svbool_t, svuint16_t, svuint16_t);
9510__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_s8)))
9511svbool_t svmatch_s8(svbool_t, svint8_t, svint8_t);
9512__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_s16)))
9513svbool_t svmatch_s16(svbool_t, svint16_t, svint16_t);
9514__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_u8)))
9515svbool_t svnmatch_u8(svbool_t, svuint8_t, svuint8_t);
9516__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_u16)))
9517svbool_t svnmatch_u16(svbool_t, svuint16_t, svuint16_t);
9518__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_s8)))
9519svbool_t svnmatch_s8(svbool_t, svint8_t, svint8_t);
9520__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_s16)))
9521svbool_t svnmatch_s16(svbool_t, svint16_t, svint16_t);
9522__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_index_u32)))
9523void svstnt1_scatter_u32base_index_u32(svbool_t, svuint32_t, int64_t, svuint32_t);
9524__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_index_u64)))
9525void svstnt1_scatter_u64base_index_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
9526__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_index_f64)))
9527void svstnt1_scatter_u64base_index_f64(svbool_t, svuint64_t, int64_t, svfloat64_t);
9528__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_index_f32)))
9529void svstnt1_scatter_u32base_index_f32(svbool_t, svuint32_t, int64_t, svfloat32_t);
9530__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_index_s32)))
9531void svstnt1_scatter_u32base_index_s32(svbool_t, svuint32_t, int64_t, svint32_t);
9532__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_index_s64)))
9533void svstnt1_scatter_u64base_index_s64(svbool_t, svuint64_t, int64_t, svint64_t);
9534__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_offset_u32)))
9535void svstnt1_scatter_u32base_offset_u32(svbool_t, svuint32_t, int64_t, svuint32_t);
9536__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_offset_u64)))
9537void svstnt1_scatter_u64base_offset_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
9538__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_offset_f64)))
9539void svstnt1_scatter_u64base_offset_f64(svbool_t, svuint64_t, int64_t, svfloat64_t);
9540__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_offset_f32)))
9541void svstnt1_scatter_u32base_offset_f32(svbool_t, svuint32_t, int64_t, svfloat32_t);
9542__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_offset_s32)))
9543void svstnt1_scatter_u32base_offset_s32(svbool_t, svuint32_t, int64_t, svint32_t);
9544__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_offset_s64)))
9545void svstnt1_scatter_u64base_offset_s64(svbool_t, svuint64_t, int64_t, svint64_t);
9546__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_u32)))
9547void svstnt1_scatter_u32base_u32(svbool_t, svuint32_t, svuint32_t);
9548__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_u64)))
9549void svstnt1_scatter_u64base_u64(svbool_t, svuint64_t, svuint64_t);
9550__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_f64)))
9551void svstnt1_scatter_u64base_f64(svbool_t, svuint64_t, svfloat64_t);
9552__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_f32)))
9553void svstnt1_scatter_u32base_f32(svbool_t, svuint32_t, svfloat32_t);
9554__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_s32)))
9555void svstnt1_scatter_u32base_s32(svbool_t, svuint32_t, svint32_t);
9556__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_s64)))
9557void svstnt1_scatter_u64base_s64(svbool_t, svuint64_t, svint64_t);
9558__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64index_u64)))
9559void svstnt1_scatter_s64index_u64(svbool_t, uint64_t *, svint64_t, svuint64_t);
9560__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64index_f64)))
9561void svstnt1_scatter_s64index_f64(svbool_t, float64_t *, svint64_t, svfloat64_t);
9562__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64index_s64)))
9563void svstnt1_scatter_s64index_s64(svbool_t, int64_t *, svint64_t, svint64_t);
9564__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64index_u64)))
9565void svstnt1_scatter_u64index_u64(svbool_t, uint64_t *, svuint64_t, svuint64_t);
9566__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64index_f64)))
9567void svstnt1_scatter_u64index_f64(svbool_t, float64_t *, svuint64_t, svfloat64_t);
9568__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64index_s64)))
9569void svstnt1_scatter_u64index_s64(svbool_t, int64_t *, svuint64_t, svint64_t);
9570__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32offset_u32)))
9571void svstnt1_scatter_u32offset_u32(svbool_t, uint32_t *, svuint32_t, svuint32_t);
9572__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32offset_f32)))
9573void svstnt1_scatter_u32offset_f32(svbool_t, float32_t *, svuint32_t, svfloat32_t);
9574__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32offset_s32)))
9575void svstnt1_scatter_u32offset_s32(svbool_t, int32_t *, svuint32_t, svint32_t);
9576__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64offset_u64)))
9577void svstnt1_scatter_s64offset_u64(svbool_t, uint64_t *, svint64_t, svuint64_t);
9578__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64offset_f64)))
9579void svstnt1_scatter_s64offset_f64(svbool_t, float64_t *, svint64_t, svfloat64_t);
9580__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64offset_s64)))
9581void svstnt1_scatter_s64offset_s64(svbool_t, int64_t *, svint64_t, svint64_t);
9582__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64offset_u64)))
9583void svstnt1_scatter_u64offset_u64(svbool_t, uint64_t *, svuint64_t, svuint64_t);
9584__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64offset_f64)))
9585void svstnt1_scatter_u64offset_f64(svbool_t, float64_t *, svuint64_t, svfloat64_t);
9586__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64offset_s64)))
9587void svstnt1_scatter_u64offset_s64(svbool_t, int64_t *, svuint64_t, svint64_t);
9588__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_offset_u32)))
9589void svstnt1b_scatter_u32base_offset_u32(svbool_t, svuint32_t, int64_t, svuint32_t);
9590__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_offset_u64)))
9591void svstnt1b_scatter_u64base_offset_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
9592__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_offset_s32)))
9593void svstnt1b_scatter_u32base_offset_s32(svbool_t, svuint32_t, int64_t, svint32_t);
9594__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_offset_s64)))
9595void svstnt1b_scatter_u64base_offset_s64(svbool_t, svuint64_t, int64_t, svint64_t);
9596__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_u32)))
9597void svstnt1b_scatter_u32base_u32(svbool_t, svuint32_t, svuint32_t);
9598__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_u64)))
9599void svstnt1b_scatter_u64base_u64(svbool_t, svuint64_t, svuint64_t);
9600__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_s32)))
9601void svstnt1b_scatter_u32base_s32(svbool_t, svuint32_t, svint32_t);
9602__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_s64)))
9603void svstnt1b_scatter_u64base_s64(svbool_t, svuint64_t, svint64_t);
9604__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32offset_s32)))
9605void svstnt1b_scatter_u32offset_s32(svbool_t, int8_t *, svuint32_t, svint32_t);
9606__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32offset_u32)))
9607void svstnt1b_scatter_u32offset_u32(svbool_t, uint8_t *, svuint32_t, svuint32_t);
9608__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_s64offset_s64)))
9609void svstnt1b_scatter_s64offset_s64(svbool_t, int8_t *, svint64_t, svint64_t);
9610__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_s64offset_u64)))
9611void svstnt1b_scatter_s64offset_u64(svbool_t, uint8_t *, svint64_t, svuint64_t);
9612__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64offset_s64)))
9613void svstnt1b_scatter_u64offset_s64(svbool_t, int8_t *, svuint64_t, svint64_t);
9614__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64offset_u64)))
9615void svstnt1b_scatter_u64offset_u64(svbool_t, uint8_t *, svuint64_t, svuint64_t);
9616__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_index_u32)))
9617void svstnt1h_scatter_u32base_index_u32(svbool_t, svuint32_t, int64_t, svuint32_t);
9618__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_index_u64)))
9619void svstnt1h_scatter_u64base_index_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
9620__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_index_s32)))
9621void svstnt1h_scatter_u32base_index_s32(svbool_t, svuint32_t, int64_t, svint32_t);
9622__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_index_s64)))
9623void svstnt1h_scatter_u64base_index_s64(svbool_t, svuint64_t, int64_t, svint64_t);
9624__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_offset_u32)))
9625void svstnt1h_scatter_u32base_offset_u32(svbool_t, svuint32_t, int64_t, svuint32_t);
9626__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_offset_u64)))
9627void svstnt1h_scatter_u64base_offset_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
9628__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_offset_s32)))
9629void svstnt1h_scatter_u32base_offset_s32(svbool_t, svuint32_t, int64_t, svint32_t);
9630__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_offset_s64)))
9631void svstnt1h_scatter_u64base_offset_s64(svbool_t, svuint64_t, int64_t, svint64_t);
9632__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_u32)))
9633void svstnt1h_scatter_u32base_u32(svbool_t, svuint32_t, svuint32_t);
9634__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_u64)))
9635void svstnt1h_scatter_u64base_u64(svbool_t, svuint64_t, svuint64_t);
9636__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_s32)))
9637void svstnt1h_scatter_u32base_s32(svbool_t, svuint32_t, svint32_t);
9638__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_s64)))
9639void svstnt1h_scatter_u64base_s64(svbool_t, svuint64_t, svint64_t);
9640__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64index_s64)))
9641void svstnt1h_scatter_s64index_s64(svbool_t, int16_t *, svint64_t, svint64_t);
9642__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64index_u64)))
9643void svstnt1h_scatter_s64index_u64(svbool_t, uint16_t *, svint64_t, svuint64_t);
9644__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64index_s64)))
9645void svstnt1h_scatter_u64index_s64(svbool_t, int16_t *, svuint64_t, svint64_t);
9646__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64index_u64)))
9647void svstnt1h_scatter_u64index_u64(svbool_t, uint16_t *, svuint64_t, svuint64_t);
9648__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32offset_s32)))
9649void svstnt1h_scatter_u32offset_s32(svbool_t, int16_t *, svuint32_t, svint32_t);
9650__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32offset_u32)))
9651void svstnt1h_scatter_u32offset_u32(svbool_t, uint16_t *, svuint32_t, svuint32_t);
9652__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64offset_s64)))
9653void svstnt1h_scatter_s64offset_s64(svbool_t, int16_t *, svint64_t, svint64_t);
9654__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64offset_u64)))
9655void svstnt1h_scatter_s64offset_u64(svbool_t, uint16_t *, svint64_t, svuint64_t);
9656__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64offset_s64)))
9657void svstnt1h_scatter_u64offset_s64(svbool_t, int16_t *, svuint64_t, svint64_t);
9658__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64offset_u64)))
9659void svstnt1h_scatter_u64offset_u64(svbool_t, uint16_t *, svuint64_t, svuint64_t);
9660__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_index_u64)))
9661void svstnt1w_scatter_u64base_index_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
9662__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_index_s64)))
9663void svstnt1w_scatter_u64base_index_s64(svbool_t, svuint64_t, int64_t, svint64_t);
9664__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_offset_u64)))
9665void svstnt1w_scatter_u64base_offset_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
9666__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_offset_s64)))
9667void svstnt1w_scatter_u64base_offset_s64(svbool_t, svuint64_t, int64_t, svint64_t);
9668__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_u64)))
9669void svstnt1w_scatter_u64base_u64(svbool_t, svuint64_t, svuint64_t);
9670__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_s64)))
9671void svstnt1w_scatter_u64base_s64(svbool_t, svuint64_t, svint64_t);
9672__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64index_s64)))
9673void svstnt1w_scatter_s64index_s64(svbool_t, int32_t *, svint64_t, svint64_t);
9674__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64index_u64)))
9675void svstnt1w_scatter_s64index_u64(svbool_t, uint32_t *, svint64_t, svuint64_t);
9676__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64index_s64)))
9677void svstnt1w_scatter_u64index_s64(svbool_t, int32_t *, svuint64_t, svint64_t);
9678__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64index_u64)))
9679void svstnt1w_scatter_u64index_u64(svbool_t, uint32_t *, svuint64_t, svuint64_t);
9680__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64offset_s64)))
9681void svstnt1w_scatter_s64offset_s64(svbool_t, int32_t *, svint64_t, svint64_t);
9682__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64offset_u64)))
9683void svstnt1w_scatter_s64offset_u64(svbool_t, uint32_t *, svint64_t, svuint64_t);
9684__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64offset_s64)))
9685void svstnt1w_scatter_u64offset_s64(svbool_t, int32_t *, svuint64_t, svint64_t);
9686__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64offset_u64)))
9687void svstnt1w_scatter_u64offset_u64(svbool_t, uint32_t *, svuint64_t, svuint64_t);
9688__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_u32_z)))
9689svuint32_t svhistcnt_z(svbool_t, svuint32_t, svuint32_t);
9690__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_u64_z)))
9691svuint64_t svhistcnt_z(svbool_t, svuint64_t, svuint64_t);
9692__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_s32_z)))
9693svuint32_t svhistcnt_z(svbool_t, svint32_t, svint32_t);
9694__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_s64_z)))
9695svuint64_t svhistcnt_z(svbool_t, svint64_t, svint64_t);
9696__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistseg_u8)))
9697svuint8_t svhistseg(svuint8_t, svuint8_t);
9698__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistseg_s8)))
9699svuint8_t svhistseg(svint8_t, svint8_t);
9700__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_index_u32)))
9701svuint32_t svldnt1_gather_index_u32(svbool_t, svuint32_t, int64_t);
9702__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_index_u64)))
9703svuint64_t svldnt1_gather_index_u64(svbool_t, svuint64_t, int64_t);
9704__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_index_f64)))
9705svfloat64_t svldnt1_gather_index_f64(svbool_t, svuint64_t, int64_t);
9706__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_index_f32)))
9707svfloat32_t svldnt1_gather_index_f32(svbool_t, svuint32_t, int64_t);
9708__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_index_s32)))
9709svint32_t svldnt1_gather_index_s32(svbool_t, svuint32_t, int64_t);
9710__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_index_s64)))
9711svint64_t svldnt1_gather_index_s64(svbool_t, svuint64_t, int64_t);
9712__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_offset_u32)))
9713svuint32_t svldnt1_gather_offset_u32(svbool_t, svuint32_t, int64_t);
9714__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_offset_u64)))
9715svuint64_t svldnt1_gather_offset_u64(svbool_t, svuint64_t, int64_t);
9716__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_offset_f64)))
9717svfloat64_t svldnt1_gather_offset_f64(svbool_t, svuint64_t, int64_t);
9718__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_offset_f32)))
9719svfloat32_t svldnt1_gather_offset_f32(svbool_t, svuint32_t, int64_t);
9720__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_offset_s32)))
9721svint32_t svldnt1_gather_offset_s32(svbool_t, svuint32_t, int64_t);
9722__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_offset_s64)))
9723svint64_t svldnt1_gather_offset_s64(svbool_t, svuint64_t, int64_t);
9724__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_u32)))
9725svuint32_t svldnt1_gather_u32(svbool_t, svuint32_t);
9726__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_u64)))
9727svuint64_t svldnt1_gather_u64(svbool_t, svuint64_t);
9728__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_f64)))
9729svfloat64_t svldnt1_gather_f64(svbool_t, svuint64_t);
9730__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_f32)))
9731svfloat32_t svldnt1_gather_f32(svbool_t, svuint32_t);
9732__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_s32)))
9733svint32_t svldnt1_gather_s32(svbool_t, svuint32_t);
9734__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_s64)))
9735svint64_t svldnt1_gather_s64(svbool_t, svuint64_t);
9736__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64index_u64)))
9737svuint64_t svldnt1_gather_index(svbool_t, uint64_t const *, svint64_t);
9738__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64index_f64)))
9739svfloat64_t svldnt1_gather_index(svbool_t, float64_t const *, svint64_t);
9740__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64index_s64)))
9741svint64_t svldnt1_gather_index(svbool_t, int64_t const *, svint64_t);
9742__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64index_u64)))
9743svuint64_t svldnt1_gather_index(svbool_t, uint64_t const *, svuint64_t);
9744__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64index_f64)))
9745svfloat64_t svldnt1_gather_index(svbool_t, float64_t const *, svuint64_t);
9746__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64index_s64)))
9747svint64_t svldnt1_gather_index(svbool_t, int64_t const *, svuint64_t);
9748__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32offset_u32)))
9749svuint32_t svldnt1_gather_offset(svbool_t, uint32_t const *, svuint32_t);
9750__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32offset_f32)))
9751svfloat32_t svldnt1_gather_offset(svbool_t, float32_t const *, svuint32_t);
9752__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32offset_s32)))
9753svint32_t svldnt1_gather_offset(svbool_t, int32_t const *, svuint32_t);
9754__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64offset_u64)))
9755svuint64_t svldnt1_gather_offset(svbool_t, uint64_t const *, svint64_t);
9756__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64offset_f64)))
9757svfloat64_t svldnt1_gather_offset(svbool_t, float64_t const *, svint64_t);
9758__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64offset_s64)))
9759svint64_t svldnt1_gather_offset(svbool_t, int64_t const *, svint64_t);
9760__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64offset_u64)))
9761svuint64_t svldnt1_gather_offset(svbool_t, uint64_t const *, svuint64_t);
9762__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64offset_f64)))
9763svfloat64_t svldnt1_gather_offset(svbool_t, float64_t const *, svuint64_t);
9764__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64offset_s64)))
9765svint64_t svldnt1_gather_offset(svbool_t, int64_t const *, svuint64_t);
9766__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_offset_u32)))
9767svuint32_t svldnt1sb_gather_offset_u32(svbool_t, svuint32_t, int64_t);
9768__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_offset_u64)))
9769svuint64_t svldnt1sb_gather_offset_u64(svbool_t, svuint64_t, int64_t);
9770__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_offset_s32)))
9771svint32_t svldnt1sb_gather_offset_s32(svbool_t, svuint32_t, int64_t);
9772__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_offset_s64)))
9773svint64_t svldnt1sb_gather_offset_s64(svbool_t, svuint64_t, int64_t);
9774__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_u32)))
9775svuint32_t svldnt1sb_gather_u32(svbool_t, svuint32_t);
9776__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_u64)))
9777svuint64_t svldnt1sb_gather_u64(svbool_t, svuint64_t);
9778__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_s32)))
9779svint32_t svldnt1sb_gather_s32(svbool_t, svuint32_t);
9780__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_s64)))
9781svint64_t svldnt1sb_gather_s64(svbool_t, svuint64_t);
9782__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32offset_u32)))
9783svuint32_t svldnt1sb_gather_offset_u32(svbool_t, int8_t const *, svuint32_t);
9784__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32offset_s32)))
9785svint32_t svldnt1sb_gather_offset_s32(svbool_t, int8_t const *, svuint32_t);
9786__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_s64offset_u64)))
9787svuint64_t svldnt1sb_gather_offset_u64(svbool_t, int8_t const *, svint64_t);
9788__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_s64offset_s64)))
9789svint64_t svldnt1sb_gather_offset_s64(svbool_t, int8_t const *, svint64_t);
9790__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64offset_u64)))
9791svuint64_t svldnt1sb_gather_offset_u64(svbool_t, int8_t const *, svuint64_t);
9792__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64offset_s64)))
9793svint64_t svldnt1sb_gather_offset_s64(svbool_t, int8_t const *, svuint64_t);
9794__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_index_u32)))
9795svuint32_t svldnt1sh_gather_index_u32(svbool_t, svuint32_t, int64_t);
9796__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_index_u64)))
9797svuint64_t svldnt1sh_gather_index_u64(svbool_t, svuint64_t, int64_t);
9798__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_index_s32)))
9799svint32_t svldnt1sh_gather_index_s32(svbool_t, svuint32_t, int64_t);
9800__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_index_s64)))
9801svint64_t svldnt1sh_gather_index_s64(svbool_t, svuint64_t, int64_t);
9802__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_offset_u32)))
9803svuint32_t svldnt1sh_gather_offset_u32(svbool_t, svuint32_t, int64_t);
9804__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_offset_u64)))
9805svuint64_t svldnt1sh_gather_offset_u64(svbool_t, svuint64_t, int64_t);
9806__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_offset_s32)))
9807svint32_t svldnt1sh_gather_offset_s32(svbool_t, svuint32_t, int64_t);
9808__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_offset_s64)))
9809svint64_t svldnt1sh_gather_offset_s64(svbool_t, svuint64_t, int64_t);
9810__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_u32)))
9811svuint32_t svldnt1sh_gather_u32(svbool_t, svuint32_t);
9812__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_u64)))
9813svuint64_t svldnt1sh_gather_u64(svbool_t, svuint64_t);
9814__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_s32)))
9815svint32_t svldnt1sh_gather_s32(svbool_t, svuint32_t);
9816__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_s64)))
9817svint64_t svldnt1sh_gather_s64(svbool_t, svuint64_t);
9818__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64index_u64)))
9819svuint64_t svldnt1sh_gather_index_u64(svbool_t, int16_t const *, svint64_t);
9820__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64index_s64)))
9821svint64_t svldnt1sh_gather_index_s64(svbool_t, int16_t const *, svint64_t);
9822__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64index_u64)))
9823svuint64_t svldnt1sh_gather_index_u64(svbool_t, int16_t const *, svuint64_t);
9824__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64index_s64)))
9825svint64_t svldnt1sh_gather_index_s64(svbool_t, int16_t const *, svuint64_t);
9826__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32offset_u32)))
9827svuint32_t svldnt1sh_gather_offset_u32(svbool_t, int16_t const *, svuint32_t);
9828__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32offset_s32)))
9829svint32_t svldnt1sh_gather_offset_s32(svbool_t, int16_t const *, svuint32_t);
9830__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64offset_u64)))
9831svuint64_t svldnt1sh_gather_offset_u64(svbool_t, int16_t const *, svint64_t);
9832__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64offset_s64)))
9833svint64_t svldnt1sh_gather_offset_s64(svbool_t, int16_t const *, svint64_t);
9834__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64offset_u64)))
9835svuint64_t svldnt1sh_gather_offset_u64(svbool_t, int16_t const *, svuint64_t);
9836__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64offset_s64)))
9837svint64_t svldnt1sh_gather_offset_s64(svbool_t, int16_t const *, svuint64_t);
9838__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_index_u64)))
9839svuint64_t svldnt1sw_gather_index_u64(svbool_t, svuint64_t, int64_t);
9840__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_index_s64)))
9841svint64_t svldnt1sw_gather_index_s64(svbool_t, svuint64_t, int64_t);
9842__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_offset_u64)))
9843svuint64_t svldnt1sw_gather_offset_u64(svbool_t, svuint64_t, int64_t);
9844__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_offset_s64)))
9845svint64_t svldnt1sw_gather_offset_s64(svbool_t, svuint64_t, int64_t);
9846__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_u64)))
9847svuint64_t svldnt1sw_gather_u64(svbool_t, svuint64_t);
9848__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_s64)))
9849svint64_t svldnt1sw_gather_s64(svbool_t, svuint64_t);
9850__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64index_u64)))
9851svuint64_t svldnt1sw_gather_index_u64(svbool_t, int32_t const *, svint64_t);
9852__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64index_s64)))
9853svint64_t svldnt1sw_gather_index_s64(svbool_t, int32_t const *, svint64_t);
9854__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64index_u64)))
9855svuint64_t svldnt1sw_gather_index_u64(svbool_t, int32_t const *, svuint64_t);
9856__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64index_s64)))
9857svint64_t svldnt1sw_gather_index_s64(svbool_t, int32_t const *, svuint64_t);
9858__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64offset_u64)))
9859svuint64_t svldnt1sw_gather_offset_u64(svbool_t, int32_t const *, svint64_t);
9860__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64offset_s64)))
9861svint64_t svldnt1sw_gather_offset_s64(svbool_t, int32_t const *, svint64_t);
9862__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64offset_u64)))
9863svuint64_t svldnt1sw_gather_offset_u64(svbool_t, int32_t const *, svuint64_t);
9864__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64offset_s64)))
9865svint64_t svldnt1sw_gather_offset_s64(svbool_t, int32_t const *, svuint64_t);
9866__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_offset_u32)))
9867svuint32_t svldnt1ub_gather_offset_u32(svbool_t, svuint32_t, int64_t);
9868__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_offset_u64)))
9869svuint64_t svldnt1ub_gather_offset_u64(svbool_t, svuint64_t, int64_t);
9870__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_offset_s32)))
9871svint32_t svldnt1ub_gather_offset_s32(svbool_t, svuint32_t, int64_t);
9872__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_offset_s64)))
9873svint64_t svldnt1ub_gather_offset_s64(svbool_t, svuint64_t, int64_t);
9874__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_u32)))
9875svuint32_t svldnt1ub_gather_u32(svbool_t, svuint32_t);
9876__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_u64)))
9877svuint64_t svldnt1ub_gather_u64(svbool_t, svuint64_t);
9878__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_s32)))
9879svint32_t svldnt1ub_gather_s32(svbool_t, svuint32_t);
9880__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_s64)))
9881svint64_t svldnt1ub_gather_s64(svbool_t, svuint64_t);
9882__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32offset_u32)))
9883svuint32_t svldnt1ub_gather_offset_u32(svbool_t, uint8_t const *, svuint32_t);
9884__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32offset_s32)))
9885svint32_t svldnt1ub_gather_offset_s32(svbool_t, uint8_t const *, svuint32_t);
9886__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_s64offset_u64)))
9887svuint64_t svldnt1ub_gather_offset_u64(svbool_t, uint8_t const *, svint64_t);
9888__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_s64offset_s64)))
9889svint64_t svldnt1ub_gather_offset_s64(svbool_t, uint8_t const *, svint64_t);
9890__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64offset_u64)))
9891svuint64_t svldnt1ub_gather_offset_u64(svbool_t, uint8_t const *, svuint64_t);
9892__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64offset_s64)))
9893svint64_t svldnt1ub_gather_offset_s64(svbool_t, uint8_t const *, svuint64_t);
9894__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_index_u32)))
9895svuint32_t svldnt1uh_gather_index_u32(svbool_t, svuint32_t, int64_t);
9896__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_index_u64)))
9897svuint64_t svldnt1uh_gather_index_u64(svbool_t, svuint64_t, int64_t);
9898__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_index_s32)))
9899svint32_t svldnt1uh_gather_index_s32(svbool_t, svuint32_t, int64_t);
9900__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_index_s64)))
9901svint64_t svldnt1uh_gather_index_s64(svbool_t, svuint64_t, int64_t);
9902__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_offset_u32)))
9903svuint32_t svldnt1uh_gather_offset_u32(svbool_t, svuint32_t, int64_t);
9904__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_offset_u64)))
9905svuint64_t svldnt1uh_gather_offset_u64(svbool_t, svuint64_t, int64_t);
9906__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_offset_s32)))
9907svint32_t svldnt1uh_gather_offset_s32(svbool_t, svuint32_t, int64_t);
9908__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_offset_s64)))
9909svint64_t svldnt1uh_gather_offset_s64(svbool_t, svuint64_t, int64_t);
9910__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_u32)))
9911svuint32_t svldnt1uh_gather_u32(svbool_t, svuint32_t);
9912__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_u64)))
9913svuint64_t svldnt1uh_gather_u64(svbool_t, svuint64_t);
9914__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_s32)))
9915svint32_t svldnt1uh_gather_s32(svbool_t, svuint32_t);
9916__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_s64)))
9917svint64_t svldnt1uh_gather_s64(svbool_t, svuint64_t);
9918__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64index_u64)))
9919svuint64_t svldnt1uh_gather_index_u64(svbool_t, uint16_t const *, svint64_t);
9920__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64index_s64)))
9921svint64_t svldnt1uh_gather_index_s64(svbool_t, uint16_t const *, svint64_t);
9922__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64index_u64)))
9923svuint64_t svldnt1uh_gather_index_u64(svbool_t, uint16_t const *, svuint64_t);
9924__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64index_s64)))
9925svint64_t svldnt1uh_gather_index_s64(svbool_t, uint16_t const *, svuint64_t);
9926__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32offset_u32)))
9927svuint32_t svldnt1uh_gather_offset_u32(svbool_t, uint16_t const *, svuint32_t);
9928__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32offset_s32)))
9929svint32_t svldnt1uh_gather_offset_s32(svbool_t, uint16_t const *, svuint32_t);
9930__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64offset_u64)))
9931svuint64_t svldnt1uh_gather_offset_u64(svbool_t, uint16_t const *, svint64_t);
9932__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64offset_s64)))
9933svint64_t svldnt1uh_gather_offset_s64(svbool_t, uint16_t const *, svint64_t);
9934__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64offset_u64)))
9935svuint64_t svldnt1uh_gather_offset_u64(svbool_t, uint16_t const *, svuint64_t);
9936__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64offset_s64)))
9937svint64_t svldnt1uh_gather_offset_s64(svbool_t, uint16_t const *, svuint64_t);
9938__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_index_u64)))
9939svuint64_t svldnt1uw_gather_index_u64(svbool_t, svuint64_t, int64_t);
9940__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_index_s64)))
9941svint64_t svldnt1uw_gather_index_s64(svbool_t, svuint64_t, int64_t);
9942__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_offset_u64)))
9943svuint64_t svldnt1uw_gather_offset_u64(svbool_t, svuint64_t, int64_t);
9944__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_offset_s64)))
9945svint64_t svldnt1uw_gather_offset_s64(svbool_t, svuint64_t, int64_t);
9946__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_u64)))
9947svuint64_t svldnt1uw_gather_u64(svbool_t, svuint64_t);
9948__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_s64)))
9949svint64_t svldnt1uw_gather_s64(svbool_t, svuint64_t);
9950__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64index_u64)))
9951svuint64_t svldnt1uw_gather_index_u64(svbool_t, uint32_t const *, svint64_t);
9952__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64index_s64)))
9953svint64_t svldnt1uw_gather_index_s64(svbool_t, uint32_t const *, svint64_t);
9954__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64index_u64)))
9955svuint64_t svldnt1uw_gather_index_u64(svbool_t, uint32_t const *, svuint64_t);
9956__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64index_s64)))
9957svint64_t svldnt1uw_gather_index_s64(svbool_t, uint32_t const *, svuint64_t);
9958__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64offset_u64)))
9959svuint64_t svldnt1uw_gather_offset_u64(svbool_t, uint32_t const *, svint64_t);
9960__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64offset_s64)))
9961svint64_t svldnt1uw_gather_offset_s64(svbool_t, uint32_t const *, svint64_t);
9962__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64offset_u64)))
9963svuint64_t svldnt1uw_gather_offset_u64(svbool_t, uint32_t const *, svuint64_t);
9964__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64offset_s64)))
9965svint64_t svldnt1uw_gather_offset_s64(svbool_t, uint32_t const *, svuint64_t);
9966__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_u8)))
9967svbool_t svmatch(svbool_t, svuint8_t, svuint8_t);
9968__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_u16)))
9969svbool_t svmatch(svbool_t, svuint16_t, svuint16_t);
9970__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_s8)))
9971svbool_t svmatch(svbool_t, svint8_t, svint8_t);
9972__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_s16)))
9973svbool_t svmatch(svbool_t, svint16_t, svint16_t);
9974__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_u8)))
9975svbool_t svnmatch(svbool_t, svuint8_t, svuint8_t);
9976__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_u16)))
9977svbool_t svnmatch(svbool_t, svuint16_t, svuint16_t);
9978__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_s8)))
9979svbool_t svnmatch(svbool_t, svint8_t, svint8_t);
9980__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_s16)))
9981svbool_t svnmatch(svbool_t, svint16_t, svint16_t);
9982__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_index_u32)))
9983void svstnt1_scatter_index(svbool_t, svuint32_t, int64_t, svuint32_t);
9984__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_index_u64)))
9985void svstnt1_scatter_index(svbool_t, svuint64_t, int64_t, svuint64_t);
9986__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_index_f64)))
9987void svstnt1_scatter_index(svbool_t, svuint64_t, int64_t, svfloat64_t);
9988__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_index_f32)))
9989void svstnt1_scatter_index(svbool_t, svuint32_t, int64_t, svfloat32_t);
9990__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_index_s32)))
9991void svstnt1_scatter_index(svbool_t, svuint32_t, int64_t, svint32_t);
9992__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_index_s64)))
9993void svstnt1_scatter_index(svbool_t, svuint64_t, int64_t, svint64_t);
9994__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_offset_u32)))
9995void svstnt1_scatter_offset(svbool_t, svuint32_t, int64_t, svuint32_t);
9996__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_offset_u64)))
9997void svstnt1_scatter_offset(svbool_t, svuint64_t, int64_t, svuint64_t);
9998__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_offset_f64)))
9999void svstnt1_scatter_offset(svbool_t, svuint64_t, int64_t, svfloat64_t);
10000__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_offset_f32)))
10001void svstnt1_scatter_offset(svbool_t, svuint32_t, int64_t, svfloat32_t);
10002__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_offset_s32)))
10003void svstnt1_scatter_offset(svbool_t, svuint32_t, int64_t, svint32_t);
10004__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_offset_s64)))
10005void svstnt1_scatter_offset(svbool_t, svuint64_t, int64_t, svint64_t);
10006__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_u32)))
10007void svstnt1_scatter(svbool_t, svuint32_t, svuint32_t);
10008__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_u64)))
10009void svstnt1_scatter(svbool_t, svuint64_t, svuint64_t);
10010__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_f64)))
10011void svstnt1_scatter(svbool_t, svuint64_t, svfloat64_t);
10012__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_f32)))
10013void svstnt1_scatter(svbool_t, svuint32_t, svfloat32_t);
10014__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_s32)))
10015void svstnt1_scatter(svbool_t, svuint32_t, svint32_t);
10016__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_s64)))
10017void svstnt1_scatter(svbool_t, svuint64_t, svint64_t);
10018__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64index_u64)))
10019void svstnt1_scatter_index(svbool_t, uint64_t *, svint64_t, svuint64_t);
10020__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64index_f64)))
10021void svstnt1_scatter_index(svbool_t, float64_t *, svint64_t, svfloat64_t);
10022__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64index_s64)))
10023void svstnt1_scatter_index(svbool_t, int64_t *, svint64_t, svint64_t);
10024__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64index_u64)))
10025void svstnt1_scatter_index(svbool_t, uint64_t *, svuint64_t, svuint64_t);
10026__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64index_f64)))
10027void svstnt1_scatter_index(svbool_t, float64_t *, svuint64_t, svfloat64_t);
10028__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64index_s64)))
10029void svstnt1_scatter_index(svbool_t, int64_t *, svuint64_t, svint64_t);
10030__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32offset_u32)))
10031void svstnt1_scatter_offset(svbool_t, uint32_t *, svuint32_t, svuint32_t);
10032__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32offset_f32)))
10033void svstnt1_scatter_offset(svbool_t, float32_t *, svuint32_t, svfloat32_t);
10034__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32offset_s32)))
10035void svstnt1_scatter_offset(svbool_t, int32_t *, svuint32_t, svint32_t);
10036__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64offset_u64)))
10037void svstnt1_scatter_offset(svbool_t, uint64_t *, svint64_t, svuint64_t);
10038__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64offset_f64)))
10039void svstnt1_scatter_offset(svbool_t, float64_t *, svint64_t, svfloat64_t);
10040__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64offset_s64)))
10041void svstnt1_scatter_offset(svbool_t, int64_t *, svint64_t, svint64_t);
10042__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64offset_u64)))
10043void svstnt1_scatter_offset(svbool_t, uint64_t *, svuint64_t, svuint64_t);
10044__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64offset_f64)))
10045void svstnt1_scatter_offset(svbool_t, float64_t *, svuint64_t, svfloat64_t);
10046__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64offset_s64)))
10047void svstnt1_scatter_offset(svbool_t, int64_t *, svuint64_t, svint64_t);
10048__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_offset_u32)))
10049void svstnt1b_scatter_offset(svbool_t, svuint32_t, int64_t, svuint32_t);
10050__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_offset_u64)))
10051void svstnt1b_scatter_offset(svbool_t, svuint64_t, int64_t, svuint64_t);
10052__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_offset_s32)))
10053void svstnt1b_scatter_offset(svbool_t, svuint32_t, int64_t, svint32_t);
10054__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_offset_s64)))
10055void svstnt1b_scatter_offset(svbool_t, svuint64_t, int64_t, svint64_t);
10056__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_u32)))
10057void svstnt1b_scatter(svbool_t, svuint32_t, svuint32_t);
10058__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_u64)))
10059void svstnt1b_scatter(svbool_t, svuint64_t, svuint64_t);
10060__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_s32)))
10061void svstnt1b_scatter(svbool_t, svuint32_t, svint32_t);
10062__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_s64)))
10063void svstnt1b_scatter(svbool_t, svuint64_t, svint64_t);
10064__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32offset_s32)))
10065void svstnt1b_scatter_offset(svbool_t, int8_t *, svuint32_t, svint32_t);
10066__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32offset_u32)))
10067void svstnt1b_scatter_offset(svbool_t, uint8_t *, svuint32_t, svuint32_t);
10068__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_s64offset_s64)))
10069void svstnt1b_scatter_offset(svbool_t, int8_t *, svint64_t, svint64_t);
10070__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_s64offset_u64)))
10071void svstnt1b_scatter_offset(svbool_t, uint8_t *, svint64_t, svuint64_t);
10072__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64offset_s64)))
10073void svstnt1b_scatter_offset(svbool_t, int8_t *, svuint64_t, svint64_t);
10074__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64offset_u64)))
10075void svstnt1b_scatter_offset(svbool_t, uint8_t *, svuint64_t, svuint64_t);
10076__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_index_u32)))
10077void svstnt1h_scatter_index(svbool_t, svuint32_t, int64_t, svuint32_t);
10078__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_index_u64)))
10079void svstnt1h_scatter_index(svbool_t, svuint64_t, int64_t, svuint64_t);
10080__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_index_s32)))
10081void svstnt1h_scatter_index(svbool_t, svuint32_t, int64_t, svint32_t);
10082__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_index_s64)))
10083void svstnt1h_scatter_index(svbool_t, svuint64_t, int64_t, svint64_t);
10084__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_offset_u32)))
10085void svstnt1h_scatter_offset(svbool_t, svuint32_t, int64_t, svuint32_t);
10086__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_offset_u64)))
10087void svstnt1h_scatter_offset(svbool_t, svuint64_t, int64_t, svuint64_t);
10088__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_offset_s32)))
10089void svstnt1h_scatter_offset(svbool_t, svuint32_t, int64_t, svint32_t);
10090__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_offset_s64)))
10091void svstnt1h_scatter_offset(svbool_t, svuint64_t, int64_t, svint64_t);
10092__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_u32)))
10093void svstnt1h_scatter(svbool_t, svuint32_t, svuint32_t);
10094__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_u64)))
10095void svstnt1h_scatter(svbool_t, svuint64_t, svuint64_t);
10096__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_s32)))
10097void svstnt1h_scatter(svbool_t, svuint32_t, svint32_t);
10098__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_s64)))
10099void svstnt1h_scatter(svbool_t, svuint64_t, svint64_t);
10100__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64index_s64)))
10101void svstnt1h_scatter_index(svbool_t, int16_t *, svint64_t, svint64_t);
10102__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64index_u64)))
10103void svstnt1h_scatter_index(svbool_t, uint16_t *, svint64_t, svuint64_t);
10104__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64index_s64)))
10105void svstnt1h_scatter_index(svbool_t, int16_t *, svuint64_t, svint64_t);
10106__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64index_u64)))
10107void svstnt1h_scatter_index(svbool_t, uint16_t *, svuint64_t, svuint64_t);
10108__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32offset_s32)))
10109void svstnt1h_scatter_offset(svbool_t, int16_t *, svuint32_t, svint32_t);
10110__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32offset_u32)))
10111void svstnt1h_scatter_offset(svbool_t, uint16_t *, svuint32_t, svuint32_t);
10112__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64offset_s64)))
10113void svstnt1h_scatter_offset(svbool_t, int16_t *, svint64_t, svint64_t);
10114__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64offset_u64)))
10115void svstnt1h_scatter_offset(svbool_t, uint16_t *, svint64_t, svuint64_t);
10116__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64offset_s64)))
10117void svstnt1h_scatter_offset(svbool_t, int16_t *, svuint64_t, svint64_t);
10118__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64offset_u64)))
10119void svstnt1h_scatter_offset(svbool_t, uint16_t *, svuint64_t, svuint64_t);
10120__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_index_u64)))
10121void svstnt1w_scatter_index(svbool_t, svuint64_t, int64_t, svuint64_t);
10122__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_index_s64)))
10123void svstnt1w_scatter_index(svbool_t, svuint64_t, int64_t, svint64_t);
10124__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_offset_u64)))
10125void svstnt1w_scatter_offset(svbool_t, svuint64_t, int64_t, svuint64_t);
10126__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_offset_s64)))
10127void svstnt1w_scatter_offset(svbool_t, svuint64_t, int64_t, svint64_t);
10128__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_u64)))
10129void svstnt1w_scatter(svbool_t, svuint64_t, svuint64_t);
10130__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_s64)))
10131void svstnt1w_scatter(svbool_t, svuint64_t, svint64_t);
10132__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64index_s64)))
10133void svstnt1w_scatter_index(svbool_t, int32_t *, svint64_t, svint64_t);
10134__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64index_u64)))
10135void svstnt1w_scatter_index(svbool_t, uint32_t *, svint64_t, svuint64_t);
10136__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64index_s64)))
10137void svstnt1w_scatter_index(svbool_t, int32_t *, svuint64_t, svint64_t);
10138__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64index_u64)))
10139void svstnt1w_scatter_index(svbool_t, uint32_t *, svuint64_t, svuint64_t);
10140__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64offset_s64)))
10141void svstnt1w_scatter_offset(svbool_t, int32_t *, svint64_t, svint64_t);
10142__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64offset_u64)))
10143void svstnt1w_scatter_offset(svbool_t, uint32_t *, svint64_t, svuint64_t);
10144__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64offset_s64)))
10145void svstnt1w_scatter_offset(svbool_t, int32_t *, svuint64_t, svint64_t);
10146__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64offset_u64)))
10147void svstnt1w_scatter_offset(svbool_t, uint32_t *, svuint64_t, svuint64_t);
10148__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f64_m)))
10149svfloat64_t svamax_n_f64_m(svbool_t, svfloat64_t, float64_t);
10150__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f32_m)))
10151svfloat32_t svamax_n_f32_m(svbool_t, svfloat32_t, float32_t);
10152__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f16_m)))
10153svfloat16_t svamax_n_f16_m(svbool_t, svfloat16_t, float16_t);
10154__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f64_x)))
10155svfloat64_t svamax_n_f64_x(svbool_t, svfloat64_t, float64_t);
10156__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f32_x)))
10157svfloat32_t svamax_n_f32_x(svbool_t, svfloat32_t, float32_t);
10158__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f16_x)))
10159svfloat16_t svamax_n_f16_x(svbool_t, svfloat16_t, float16_t);
10160__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f64_z)))
10161svfloat64_t svamax_n_f64_z(svbool_t, svfloat64_t, float64_t);
10162__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f32_z)))
10163svfloat32_t svamax_n_f32_z(svbool_t, svfloat32_t, float32_t);
10164__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f16_z)))
10165svfloat16_t svamax_n_f16_z(svbool_t, svfloat16_t, float16_t);
10166__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f64_m)))
10167svfloat64_t svamax_f64_m(svbool_t, svfloat64_t, svfloat64_t);
10168__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f32_m)))
10169svfloat32_t svamax_f32_m(svbool_t, svfloat32_t, svfloat32_t);
10170__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f16_m)))
10171svfloat16_t svamax_f16_m(svbool_t, svfloat16_t, svfloat16_t);
10172__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f64_x)))
10173svfloat64_t svamax_f64_x(svbool_t, svfloat64_t, svfloat64_t);
10174__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f32_x)))
10175svfloat32_t svamax_f32_x(svbool_t, svfloat32_t, svfloat32_t);
10176__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f16_x)))
10177svfloat16_t svamax_f16_x(svbool_t, svfloat16_t, svfloat16_t);
10178__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f64_z)))
10179svfloat64_t svamax_f64_z(svbool_t, svfloat64_t, svfloat64_t);
10180__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f32_z)))
10181svfloat32_t svamax_f32_z(svbool_t, svfloat32_t, svfloat32_t);
10182__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f16_z)))
10183svfloat16_t svamax_f16_z(svbool_t, svfloat16_t, svfloat16_t);
10184__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f64_m)))
10185svfloat64_t svamin_n_f64_m(svbool_t, svfloat64_t, float64_t);
10186__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f32_m)))
10187svfloat32_t svamin_n_f32_m(svbool_t, svfloat32_t, float32_t);
10188__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f16_m)))
10189svfloat16_t svamin_n_f16_m(svbool_t, svfloat16_t, float16_t);
10190__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f64_x)))
10191svfloat64_t svamin_n_f64_x(svbool_t, svfloat64_t, float64_t);
10192__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f32_x)))
10193svfloat32_t svamin_n_f32_x(svbool_t, svfloat32_t, float32_t);
10194__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f16_x)))
10195svfloat16_t svamin_n_f16_x(svbool_t, svfloat16_t, float16_t);
10196__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f64_z)))
10197svfloat64_t svamin_n_f64_z(svbool_t, svfloat64_t, float64_t);
10198__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f32_z)))
10199svfloat32_t svamin_n_f32_z(svbool_t, svfloat32_t, float32_t);
10200__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f16_z)))
10201svfloat16_t svamin_n_f16_z(svbool_t, svfloat16_t, float16_t);
10202__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f64_m)))
10203svfloat64_t svamin_f64_m(svbool_t, svfloat64_t, svfloat64_t);
10204__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f32_m)))
10205svfloat32_t svamin_f32_m(svbool_t, svfloat32_t, svfloat32_t);
10206__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f16_m)))
10207svfloat16_t svamin_f16_m(svbool_t, svfloat16_t, svfloat16_t);
10208__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f64_x)))
10209svfloat64_t svamin_f64_x(svbool_t, svfloat64_t, svfloat64_t);
10210__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f32_x)))
10211svfloat32_t svamin_f32_x(svbool_t, svfloat32_t, svfloat32_t);
10212__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f16_x)))
10213svfloat16_t svamin_f16_x(svbool_t, svfloat16_t, svfloat16_t);
10214__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f64_z)))
10215svfloat64_t svamin_f64_z(svbool_t, svfloat64_t, svfloat64_t);
10216__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f32_z)))
10217svfloat32_t svamin_f32_z(svbool_t, svfloat32_t, svfloat32_t);
10218__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f16_z)))
10219svfloat16_t svamin_f16_z(svbool_t, svfloat16_t, svfloat16_t);
10220__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f64_m)))
10221svfloat64_t svamax_m(svbool_t, svfloat64_t, float64_t);
10222__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f32_m)))
10223svfloat32_t svamax_m(svbool_t, svfloat32_t, float32_t);
10224__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f16_m)))
10225svfloat16_t svamax_m(svbool_t, svfloat16_t, float16_t);
10226__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f64_x)))
10227svfloat64_t svamax_x(svbool_t, svfloat64_t, float64_t);
10228__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f32_x)))
10229svfloat32_t svamax_x(svbool_t, svfloat32_t, float32_t);
10230__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f16_x)))
10231svfloat16_t svamax_x(svbool_t, svfloat16_t, float16_t);
10232__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f64_z)))
10233svfloat64_t svamax_z(svbool_t, svfloat64_t, float64_t);
10234__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f32_z)))
10235svfloat32_t svamax_z(svbool_t, svfloat32_t, float32_t);
10236__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f16_z)))
10237svfloat16_t svamax_z(svbool_t, svfloat16_t, float16_t);
10238__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f64_m)))
10239svfloat64_t svamax_m(svbool_t, svfloat64_t, svfloat64_t);
10240__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f32_m)))
10241svfloat32_t svamax_m(svbool_t, svfloat32_t, svfloat32_t);
10242__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f16_m)))
10243svfloat16_t svamax_m(svbool_t, svfloat16_t, svfloat16_t);
10244__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f64_x)))
10245svfloat64_t svamax_x(svbool_t, svfloat64_t, svfloat64_t);
10246__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f32_x)))
10247svfloat32_t svamax_x(svbool_t, svfloat32_t, svfloat32_t);
10248__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f16_x)))
10249svfloat16_t svamax_x(svbool_t, svfloat16_t, svfloat16_t);
10250__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f64_z)))
10251svfloat64_t svamax_z(svbool_t, svfloat64_t, svfloat64_t);
10252__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f32_z)))
10253svfloat32_t svamax_z(svbool_t, svfloat32_t, svfloat32_t);
10254__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f16_z)))
10255svfloat16_t svamax_z(svbool_t, svfloat16_t, svfloat16_t);
10256__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f64_m)))
10257svfloat64_t svamin_m(svbool_t, svfloat64_t, float64_t);
10258__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f32_m)))
10259svfloat32_t svamin_m(svbool_t, svfloat32_t, float32_t);
10260__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f16_m)))
10261svfloat16_t svamin_m(svbool_t, svfloat16_t, float16_t);
10262__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f64_x)))
10263svfloat64_t svamin_x(svbool_t, svfloat64_t, float64_t);
10264__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f32_x)))
10265svfloat32_t svamin_x(svbool_t, svfloat32_t, float32_t);
10266__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f16_x)))
10267svfloat16_t svamin_x(svbool_t, svfloat16_t, float16_t);
10268__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f64_z)))
10269svfloat64_t svamin_z(svbool_t, svfloat64_t, float64_t);
10270__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f32_z)))
10271svfloat32_t svamin_z(svbool_t, svfloat32_t, float32_t);
10272__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f16_z)))
10273svfloat16_t svamin_z(svbool_t, svfloat16_t, float16_t);
10274__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f64_m)))
10275svfloat64_t svamin_m(svbool_t, svfloat64_t, svfloat64_t);
10276__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f32_m)))
10277svfloat32_t svamin_m(svbool_t, svfloat32_t, svfloat32_t);
10278__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f16_m)))
10279svfloat16_t svamin_m(svbool_t, svfloat16_t, svfloat16_t);
10280__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f64_x)))
10281svfloat64_t svamin_x(svbool_t, svfloat64_t, svfloat64_t);
10282__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f32_x)))
10283svfloat32_t svamin_x(svbool_t, svfloat32_t, svfloat32_t);
10284__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f16_x)))
10285svfloat16_t svamin_x(svbool_t, svfloat16_t, svfloat16_t);
10286__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f64_z)))
10287svfloat64_t svamin_z(svbool_t, svfloat64_t, svfloat64_t);
10288__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f32_z)))
10289svfloat32_t svamin_z(svbool_t, svfloat32_t, svfloat32_t);
10290__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f16_z)))
10291svfloat16_t svamin_z(svbool_t, svfloat16_t, svfloat16_t);
10292__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_f16_mf8_fpm)))
10293svfloat16_t svdot_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
10294__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_n_f16_mf8_fpm)))
10295svfloat16_t svdot_n_f16_mf8_fpm(svfloat16_t, svmfloat8_t, mfloat8_t, fpm_t);
10296__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_lane_f16_mf8_fpm)))
10297svfloat16_t svdot_lane_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10298__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_f16_mf8_fpm)))
10299svfloat16_t svdot_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
10300__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_n_f16_mf8_fpm)))
10301svfloat16_t svdot_fpm(svfloat16_t, svmfloat8_t, mfloat8_t, fpm_t);
10302__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_lane_f16_mf8_fpm)))
10303svfloat16_t svdot_lane_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10304__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_f32_mf8_fpm)))
10305svfloat32_t svdot_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
10306__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_n_f32_mf8_fpm)))
10307svfloat32_t svdot_n_f32_mf8_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
10308__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_lane_f32_mf8_fpm)))
10309svfloat32_t svdot_lane_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10310__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_f32_mf8_fpm)))
10311svfloat32_t svdot_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
10312__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_n_f32_mf8_fpm)))
10313svfloat32_t svdot_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
10314__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_lane_f32_mf8_fpm)))
10315svfloat32_t svdot_lane_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10316__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalb_f16_mf8_fpm)))
10317svfloat16_t svmlalb_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
10318__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalb_n_f16_mf8_fpm)))
10319svfloat16_t svmlalb_n_f16_mf8_fpm(svfloat16_t, svmfloat8_t, mfloat8_t, fpm_t);
10320__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalb_lane_f16_mf8_fpm)))
10321svfloat16_t svmlalb_lane_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10322__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbb_f32_mf8_fpm)))
10323svfloat32_t svmlallbb_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
10324__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbb_n_f32_mf8_fpm)))
10325svfloat32_t svmlallbb_n_f32_mf8_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
10326__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbb_lane_f32_mf8_fpm)))
10327svfloat32_t svmlallbb_lane_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10328__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbt_f32_mf8_fpm)))
10329svfloat32_t svmlallbt_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
10330__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbt_n_f32_mf8_fpm)))
10331svfloat32_t svmlallbt_n_f32_mf8_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
10332__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbt_lane_f32_mf8_fpm)))
10333svfloat32_t svmlallbt_lane_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10334__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltb_f32_mf8_fpm)))
10335svfloat32_t svmlalltb_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
10336__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltb_n_f32_mf8_fpm)))
10337svfloat32_t svmlalltb_n_f32_mf8_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
10338__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltb_lane_f32_mf8_fpm)))
10339svfloat32_t svmlalltb_lane_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10340__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltt_f32_mf8_fpm)))
10341svfloat32_t svmlalltt_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
10342__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltt_n_f32_mf8_fpm)))
10343svfloat32_t svmlalltt_n_f32_mf8_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
10344__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltt_lane_f32_mf8_fpm)))
10345svfloat32_t svmlalltt_lane_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10346__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalt_f16_mf8_fpm)))
10347svfloat16_t svmlalt_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
10348__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalt_n_f16_mf8_fpm)))
10349svfloat16_t svmlalt_n_f16_mf8_fpm(svfloat16_t, svmfloat8_t, mfloat8_t, fpm_t);
10350__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalt_lane_f16_mf8_fpm)))
10351svfloat16_t svmlalt_lane_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10352__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalb_f16_mf8_fpm)))
10353svfloat16_t svmlalb_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
10354__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalb_n_f16_mf8_fpm)))
10355svfloat16_t svmlalb_fpm(svfloat16_t, svmfloat8_t, mfloat8_t, fpm_t);
10356__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalb_lane_f16_mf8_fpm)))
10357svfloat16_t svmlalb_lane_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10358__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbb_f32_mf8_fpm)))
10359svfloat32_t svmlallbb_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
10360__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbb_n_f32_mf8_fpm)))
10361svfloat32_t svmlallbb_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
10362__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbb_lane_f32_mf8_fpm)))
10363svfloat32_t svmlallbb_lane_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10364__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbt_f32_mf8_fpm)))
10365svfloat32_t svmlallbt_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
10366__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbt_n_f32_mf8_fpm)))
10367svfloat32_t svmlallbt_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
10368__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbt_lane_f32_mf8_fpm)))
10369svfloat32_t svmlallbt_lane_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10370__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltb_f32_mf8_fpm)))
10371svfloat32_t svmlalltb_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
10372__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltb_n_f32_mf8_fpm)))
10373svfloat32_t svmlalltb_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
10374__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltb_lane_f32_mf8_fpm)))
10375svfloat32_t svmlalltb_lane_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10376__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltt_f32_mf8_fpm)))
10377svfloat32_t svmlalltt_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
10378__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltt_n_f32_mf8_fpm)))
10379svfloat32_t svmlalltt_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
10380__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltt_lane_f32_mf8_fpm)))
10381svfloat32_t svmlalltt_lane_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10382__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalt_f16_mf8_fpm)))
10383svfloat16_t svmlalt_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
10384__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalt_n_f16_mf8_fpm)))
10385svfloat16_t svmlalt_fpm(svfloat16_t, svmfloat8_t, mfloat8_t, fpm_t);
10386__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalt_lane_f16_mf8_fpm)))
10387svfloat16_t svmlalt_lane_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
10388__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt1_bf16_mf8_fpm)))
10389svbfloat16_t svcvt1_bf16_mf8_fpm(svmfloat8_t, fpm_t);
10390__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt1_f16_mf8_fpm)))
10391svfloat16_t svcvt1_f16_mf8_fpm(svmfloat8_t, fpm_t);
10392__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt2_bf16_mf8_fpm)))
10393svbfloat16_t svcvt2_bf16_mf8_fpm(svmfloat8_t, fpm_t);
10394__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt2_f16_mf8_fpm)))
10395svfloat16_t svcvt2_f16_mf8_fpm(svmfloat8_t, fpm_t);
10396__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt1_bf16_mf8_fpm)))
10397svbfloat16_t svcvtlt1_bf16_mf8_fpm(svmfloat8_t, fpm_t);
10398__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt1_f16_mf8_fpm)))
10399svfloat16_t svcvtlt1_f16_mf8_fpm(svmfloat8_t, fpm_t);
10400__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt2_bf16_mf8_fpm)))
10401svbfloat16_t svcvtlt2_bf16_mf8_fpm(svmfloat8_t, fpm_t);
10402__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt2_f16_mf8_fpm)))
10403svfloat16_t svcvtlt2_f16_mf8_fpm(svmfloat8_t, fpm_t);
10404__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtn_mf8_bf16_x2_fpm)))
10405svmfloat8_t svcvtn_mf8_bf16_x2_fpm(svbfloat16x2_t, fpm_t);
10406__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtn_mf8_f16_x2_fpm)))
10407svmfloat8_t svcvtn_mf8_f16_x2_fpm(svfloat16x2_t, fpm_t);
10408__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnb_mf8_f32_x2_fpm)))
10409svmfloat8_t svcvtnb_mf8_f32_x2_fpm(svfloat32x2_t, fpm_t);
10410__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_mf8_f32_x2_fpm)))
10411svmfloat8_t svcvtnt_mf8_f32_x2_fpm(svmfloat8_t, svfloat32x2_t, fpm_t);
10412__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt1_bf16_mf8_fpm)))
10413svbfloat16_t svcvt1_bf16_fpm(svmfloat8_t, fpm_t);
10414__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt1_f16_mf8_fpm)))
10415svfloat16_t svcvt1_f16_fpm(svmfloat8_t, fpm_t);
10416__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt2_bf16_mf8_fpm)))
10417svbfloat16_t svcvt2_bf16_fpm(svmfloat8_t, fpm_t);
10418__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt2_f16_mf8_fpm)))
10419svfloat16_t svcvt2_f16_fpm(svmfloat8_t, fpm_t);
10420__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt1_bf16_mf8_fpm)))
10421svbfloat16_t svcvtlt1_bf16_fpm(svmfloat8_t, fpm_t);
10422__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt1_f16_mf8_fpm)))
10423svfloat16_t svcvtlt1_f16_fpm(svmfloat8_t, fpm_t);
10424__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt2_bf16_mf8_fpm)))
10425svbfloat16_t svcvtlt2_bf16_fpm(svmfloat8_t, fpm_t);
10426__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt2_f16_mf8_fpm)))
10427svfloat16_t svcvtlt2_f16_fpm(svmfloat8_t, fpm_t);
10428__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtn_mf8_bf16_x2_fpm)))
10429svmfloat8_t svcvtn_mf8_fpm(svbfloat16x2_t, fpm_t);
10430__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtn_mf8_f16_x2_fpm)))
10431svmfloat8_t svcvtn_mf8_fpm(svfloat16x2_t, fpm_t);
10432__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnb_mf8_f32_x2_fpm)))
10433svmfloat8_t svcvtnb_mf8_fpm(svfloat32x2_t, fpm_t);
10434__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_mf8_f32_x2_fpm)))
10435svmfloat8_t svcvtnt_mf8_fpm(svmfloat8_t, svfloat32x2_t, fpm_t);
10436__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_u8)))
10437svuint8_t svluti2_lane_u8(svuint8_t, svuint8_t, uint64_t);
10438__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_s8)))
10439svint8_t svluti2_lane_s8(svint8_t, svuint8_t, uint64_t);
10440__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_u16)))
10441svuint16_t svluti2_lane_u16(svuint16_t, svuint8_t, uint64_t);
10442__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_bf16)))
10443svbfloat16_t svluti2_lane_bf16(svbfloat16_t, svuint8_t, uint64_t);
10444__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_f16)))
10445svfloat16_t svluti2_lane_f16(svfloat16_t, svuint8_t, uint64_t);
10446__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_s16)))
10447svint16_t svluti2_lane_s16(svint16_t, svuint8_t, uint64_t);
10448__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_u8)))
10449svuint8_t svluti4_lane_u8(svuint8_t, svuint8_t, uint64_t);
10450__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_s8)))
10451svint8_t svluti4_lane_s8(svint8_t, svuint8_t, uint64_t);
10452__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_u16)))
10453svuint16_t svluti4_lane_u16(svuint16_t, svuint8_t, uint64_t);
10454__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_bf16)))
10455svbfloat16_t svluti4_lane_bf16(svbfloat16_t, svuint8_t, uint64_t);
10456__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_f16)))
10457svfloat16_t svluti4_lane_f16(svfloat16_t, svuint8_t, uint64_t);
10458__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_s16)))
10459svint16_t svluti4_lane_s16(svint16_t, svuint8_t, uint64_t);
10460__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_u16_x2)))
10461svuint16_t svluti4_lane_u16_x2(svuint16x2_t, svuint8_t, uint64_t);
10462__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_bf16_x2)))
10463svbfloat16_t svluti4_lane_bf16_x2(svbfloat16x2_t, svuint8_t, uint64_t);
10464__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_f16_x2)))
10465svfloat16_t svluti4_lane_f16_x2(svfloat16x2_t, svuint8_t, uint64_t);
10466__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_s16_x2)))
10467svint16_t svluti4_lane_s16_x2(svint16x2_t, svuint8_t, uint64_t);
10468__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_u8)))
10469svuint8_t svluti2_lane(svuint8_t, svuint8_t, uint64_t);
10470__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_s8)))
10471svint8_t svluti2_lane(svint8_t, svuint8_t, uint64_t);
10472__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_u16)))
10473svuint16_t svluti2_lane(svuint16_t, svuint8_t, uint64_t);
10474__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_bf16)))
10475svbfloat16_t svluti2_lane(svbfloat16_t, svuint8_t, uint64_t);
10476__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_f16)))
10477svfloat16_t svluti2_lane(svfloat16_t, svuint8_t, uint64_t);
10478__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_s16)))
10479svint16_t svluti2_lane(svint16_t, svuint8_t, uint64_t);
10480__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_u8)))
10481svuint8_t svluti4_lane(svuint8_t, svuint8_t, uint64_t);
10482__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_s8)))
10483svint8_t svluti4_lane(svint8_t, svuint8_t, uint64_t);
10484__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_u16)))
10485svuint16_t svluti4_lane(svuint16_t, svuint8_t, uint64_t);
10486__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_bf16)))
10487svbfloat16_t svluti4_lane(svbfloat16_t, svuint8_t, uint64_t);
10488__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_f16)))
10489svfloat16_t svluti4_lane(svfloat16_t, svuint8_t, uint64_t);
10490__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_s16)))
10491svint16_t svluti4_lane(svint16_t, svuint8_t, uint64_t);
10492__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_u16_x2)))
10493svuint16_t svluti4_lane(svuint16x2_t, svuint8_t, uint64_t);
10494__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_bf16_x2)))
10495svbfloat16_t svluti4_lane(svbfloat16x2_t, svuint8_t, uint64_t);
10496__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_f16_x2)))
10497svfloat16_t svluti4_lane(svfloat16x2_t, svuint8_t, uint64_t);
10498__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_s16_x2)))
10499svint16_t svluti4_lane(svint16x2_t, svuint8_t, uint64_t);
10500__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesd_u8)))
10501svuint8_t svaesd_u8(svuint8_t, svuint8_t);
10502__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaese_u8)))
10503svuint8_t svaese_u8(svuint8_t, svuint8_t);
10504__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesimc_u8)))
10505svuint8_t svaesimc_u8(svuint8_t);
10506__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesmc_u8)))
10507svuint8_t svaesmc_u8(svuint8_t);
10508__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullb_pair_n_u64)))
10509svuint64_t svpmullb_pair_n_u64(svuint64_t, uint64_t);
10510__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullb_pair_u64)))
10511svuint64_t svpmullb_pair_u64(svuint64_t, svuint64_t);
10512__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullt_pair_n_u64)))
10513svuint64_t svpmullt_pair_n_u64(svuint64_t, uint64_t);
10514__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullt_pair_u64)))
10515svuint64_t svpmullt_pair_u64(svuint64_t, svuint64_t);
10516__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesd_u8)))
10517svuint8_t svaesd(svuint8_t, svuint8_t);
10518__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaese_u8)))
10519svuint8_t svaese(svuint8_t, svuint8_t);
10520__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesimc_u8)))
10521svuint8_t svaesimc(svuint8_t);
10522__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesmc_u8)))
10523svuint8_t svaesmc(svuint8_t);
10524__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullb_pair_n_u64)))
10525svuint64_t svpmullb_pair(svuint64_t, uint64_t);
10526__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullb_pair_u64)))
10527svuint64_t svpmullb_pair(svuint64_t, svuint64_t);
10528__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullt_pair_n_u64)))
10529svuint64_t svpmullt_pair(svuint64_t, uint64_t);
10530__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullt_pair_u64)))
10531svuint64_t svpmullt_pair(svuint64_t, svuint64_t);
10532__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_n_bf16_m)))
10533svbfloat16_t svadd_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
10534__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_n_bf16_x)))
10535svbfloat16_t svadd_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
10536__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_n_bf16_z)))
10537svbfloat16_t svadd_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
10538__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_bf16_m)))
10539svbfloat16_t svadd_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
10540__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_bf16_x)))
10541svbfloat16_t svadd_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
10542__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_bf16_z)))
10543svbfloat16_t svadd_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
10544__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svclamp_bf16)))
10545svbfloat16_t svclamp_bf16(svbfloat16_t, svbfloat16_t, svbfloat16_t);
10546__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_n_bf16_m)))
10547svbfloat16_t svmax_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
10548__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_n_bf16_x)))
10549svbfloat16_t svmax_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
10550__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_n_bf16_z)))
10551svbfloat16_t svmax_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
10552__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_bf16_m)))
10553svbfloat16_t svmax_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
10554__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_bf16_x)))
10555svbfloat16_t svmax_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
10556__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_bf16_z)))
10557svbfloat16_t svmax_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
10558__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_n_bf16_m)))
10559svbfloat16_t svmaxnm_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
10560__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_n_bf16_x)))
10561svbfloat16_t svmaxnm_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
10562__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_n_bf16_z)))
10563svbfloat16_t svmaxnm_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
10564__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_bf16_m)))
10565svbfloat16_t svmaxnm_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
10566__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_bf16_x)))
10567svbfloat16_t svmaxnm_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
10568__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_bf16_z)))
10569svbfloat16_t svmaxnm_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
10570__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_n_bf16_m)))
10571svbfloat16_t svmin_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
10572__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_n_bf16_x)))
10573svbfloat16_t svmin_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
10574__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_n_bf16_z)))
10575svbfloat16_t svmin_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
10576__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_bf16_m)))
10577svbfloat16_t svmin_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
10578__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_bf16_x)))
10579svbfloat16_t svmin_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
10580__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_bf16_z)))
10581svbfloat16_t svmin_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
10582__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_n_bf16_m)))
10583svbfloat16_t svminnm_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
10584__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_n_bf16_x)))
10585svbfloat16_t svminnm_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
10586__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_n_bf16_z)))
10587svbfloat16_t svminnm_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
10588__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_m)))
10589svbfloat16_t svminnm_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
10590__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_x)))
10591svbfloat16_t svminnm_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
10592__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_z)))
10593svbfloat16_t svminnm_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
10594__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_n_bf16_m)))
10595svbfloat16_t svmla_n_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
10596__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_n_bf16_x)))
10597svbfloat16_t svmla_n_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
10598__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_n_bf16_z)))
10599svbfloat16_t svmla_n_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
10600__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_bf16_m)))
10601svbfloat16_t svmla_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
10602__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_bf16_x)))
10603svbfloat16_t svmla_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
10604__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_bf16_z)))
10605svbfloat16_t svmla_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
10606__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_lane_bf16)))
10607svbfloat16_t svmla_lane_bf16(svbfloat16_t, svbfloat16_t, svbfloat16_t, uint64_t);
10608__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_n_bf16_m)))
10609svbfloat16_t svmls_n_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
10610__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_n_bf16_x)))
10611svbfloat16_t svmls_n_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
10612__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_n_bf16_z)))
10613svbfloat16_t svmls_n_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
10614__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_bf16_m)))
10615svbfloat16_t svmls_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
10616__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_bf16_x)))
10617svbfloat16_t svmls_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
10618__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_bf16_z)))
10619svbfloat16_t svmls_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
10620__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_lane_bf16)))
10621svbfloat16_t svmls_lane_bf16(svbfloat16_t, svbfloat16_t, svbfloat16_t, uint64_t);
10622__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_n_bf16_m)))
10623svbfloat16_t svmul_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
10624__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_n_bf16_x)))
10625svbfloat16_t svmul_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
10626__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_n_bf16_z)))
10627svbfloat16_t svmul_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
10628__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_m)))
10629svbfloat16_t svmul_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
10630__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_x)))
10631svbfloat16_t svmul_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
10632__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_z)))
10633svbfloat16_t svmul_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
10634__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_lane_bf16)))
10635svbfloat16_t svmul_lane_bf16(svbfloat16_t, svbfloat16_t, uint64_t);
10636__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_n_bf16_m)))
10637svbfloat16_t svsub_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
10638__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_n_bf16_x)))
10639svbfloat16_t svsub_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
10640__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_n_bf16_z)))
10641svbfloat16_t svsub_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
10642__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_bf16_m)))
10643svbfloat16_t svsub_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
10644__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_bf16_x)))
10645svbfloat16_t svsub_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
10646__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_bf16_z)))
10647svbfloat16_t svsub_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
10648__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_n_bf16_m)))
10649svbfloat16_t svadd_m(svbool_t, svbfloat16_t, bfloat16_t);
10650__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_n_bf16_x)))
10651svbfloat16_t svadd_x(svbool_t, svbfloat16_t, bfloat16_t);
10652__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_n_bf16_z)))
10653svbfloat16_t svadd_z(svbool_t, svbfloat16_t, bfloat16_t);
10654__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_bf16_m)))
10655svbfloat16_t svadd_m(svbool_t, svbfloat16_t, svbfloat16_t);
10656__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_bf16_x)))
10657svbfloat16_t svadd_x(svbool_t, svbfloat16_t, svbfloat16_t);
10658__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_bf16_z)))
10659svbfloat16_t svadd_z(svbool_t, svbfloat16_t, svbfloat16_t);
10660__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svclamp_bf16)))
10661svbfloat16_t svclamp(svbfloat16_t, svbfloat16_t, svbfloat16_t);
10662__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_n_bf16_m)))
10663svbfloat16_t svmax_m(svbool_t, svbfloat16_t, bfloat16_t);
10664__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_n_bf16_x)))
10665svbfloat16_t svmax_x(svbool_t, svbfloat16_t, bfloat16_t);
10666__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_n_bf16_z)))
10667svbfloat16_t svmax_z(svbool_t, svbfloat16_t, bfloat16_t);
10668__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_bf16_m)))
10669svbfloat16_t svmax_m(svbool_t, svbfloat16_t, svbfloat16_t);
10670__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_bf16_x)))
10671svbfloat16_t svmax_x(svbool_t, svbfloat16_t, svbfloat16_t);
10672__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_bf16_z)))
10673svbfloat16_t svmax_z(svbool_t, svbfloat16_t, svbfloat16_t);
10674__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_n_bf16_m)))
10675svbfloat16_t svmaxnm_m(svbool_t, svbfloat16_t, bfloat16_t);
10676__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_n_bf16_x)))
10677svbfloat16_t svmaxnm_x(svbool_t, svbfloat16_t, bfloat16_t);
10678__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_n_bf16_z)))
10679svbfloat16_t svmaxnm_z(svbool_t, svbfloat16_t, bfloat16_t);
10680__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_bf16_m)))
10681svbfloat16_t svmaxnm_m(svbool_t, svbfloat16_t, svbfloat16_t);
10682__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_bf16_x)))
10683svbfloat16_t svmaxnm_x(svbool_t, svbfloat16_t, svbfloat16_t);
10684__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_bf16_z)))
10685svbfloat16_t svmaxnm_z(svbool_t, svbfloat16_t, svbfloat16_t);
10686__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_n_bf16_m)))
10687svbfloat16_t svmin_m(svbool_t, svbfloat16_t, bfloat16_t);
10688__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_n_bf16_x)))
10689svbfloat16_t svmin_x(svbool_t, svbfloat16_t, bfloat16_t);
10690__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_n_bf16_z)))
10691svbfloat16_t svmin_z(svbool_t, svbfloat16_t, bfloat16_t);
10692__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_bf16_m)))
10693svbfloat16_t svmin_m(svbool_t, svbfloat16_t, svbfloat16_t);
10694__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_bf16_x)))
10695svbfloat16_t svmin_x(svbool_t, svbfloat16_t, svbfloat16_t);
10696__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_bf16_z)))
10697svbfloat16_t svmin_z(svbool_t, svbfloat16_t, svbfloat16_t);
10698__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_n_bf16_m)))
10699svbfloat16_t svminnm_m(svbool_t, svbfloat16_t, bfloat16_t);
10700__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_n_bf16_x)))
10701svbfloat16_t svminnm_x(svbool_t, svbfloat16_t, bfloat16_t);
10702__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_n_bf16_z)))
10703svbfloat16_t svminnm_z(svbool_t, svbfloat16_t, bfloat16_t);
10704__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_m)))
10705svbfloat16_t svminnm_m(svbool_t, svbfloat16_t, svbfloat16_t);
10706__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_x)))
10707svbfloat16_t svminnm_x(svbool_t, svbfloat16_t, svbfloat16_t);
10708__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_z)))
10709svbfloat16_t svminnm_z(svbool_t, svbfloat16_t, svbfloat16_t);
10710__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_n_bf16_m)))
10711svbfloat16_t svmla_m(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
10712__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_n_bf16_x)))
10713svbfloat16_t svmla_x(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
10714__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_n_bf16_z)))
10715svbfloat16_t svmla_z(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
10716__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_bf16_m)))
10717svbfloat16_t svmla_m(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
10718__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_bf16_x)))
10719svbfloat16_t svmla_x(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
10720__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_bf16_z)))
10721svbfloat16_t svmla_z(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
10722__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_lane_bf16)))
10723svbfloat16_t svmla_lane(svbfloat16_t, svbfloat16_t, svbfloat16_t, uint64_t);
10724__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_n_bf16_m)))
10725svbfloat16_t svmls_m(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
10726__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_n_bf16_x)))
10727svbfloat16_t svmls_x(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
10728__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_n_bf16_z)))
10729svbfloat16_t svmls_z(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
10730__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_bf16_m)))
10731svbfloat16_t svmls_m(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
10732__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_bf16_x)))
10733svbfloat16_t svmls_x(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
10734__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_bf16_z)))
10735svbfloat16_t svmls_z(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
10736__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_lane_bf16)))
10737svbfloat16_t svmls_lane(svbfloat16_t, svbfloat16_t, svbfloat16_t, uint64_t);
10738__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_n_bf16_m)))
10739svbfloat16_t svmul_m(svbool_t, svbfloat16_t, bfloat16_t);
10740__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_n_bf16_x)))
10741svbfloat16_t svmul_x(svbool_t, svbfloat16_t, bfloat16_t);
10742__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_n_bf16_z)))
10743svbfloat16_t svmul_z(svbool_t, svbfloat16_t, bfloat16_t);
10744__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_m)))
10745svbfloat16_t svmul_m(svbool_t, svbfloat16_t, svbfloat16_t);
10746__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_x)))
10747svbfloat16_t svmul_x(svbool_t, svbfloat16_t, svbfloat16_t);
10748__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_z)))
10749svbfloat16_t svmul_z(svbool_t, svbfloat16_t, svbfloat16_t);
10750__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_lane_bf16)))
10751svbfloat16_t svmul_lane(svbfloat16_t, svbfloat16_t, uint64_t);
10752__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_n_bf16_m)))
10753svbfloat16_t svsub_m(svbool_t, svbfloat16_t, bfloat16_t);
10754__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_n_bf16_x)))
10755svbfloat16_t svsub_x(svbool_t, svbfloat16_t, bfloat16_t);
10756__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_n_bf16_z)))
10757svbfloat16_t svsub_z(svbool_t, svbfloat16_t, bfloat16_t);
10758__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_bf16_m)))
10759svbfloat16_t svsub_m(svbool_t, svbfloat16_t, svbfloat16_t);
10760__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_bf16_x)))
10761svbfloat16_t svsub_x(svbool_t, svbfloat16_t, svbfloat16_t);
10762__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_bf16_z)))
10763svbfloat16_t svsub_z(svbool_t, svbfloat16_t, svbfloat16_t);
10764__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u8)))
10765svuint8_t svbdep_n_u8(svuint8_t, uint8_t);
10766__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u32)))
10767svuint32_t svbdep_n_u32(svuint32_t, uint32_t);
10768__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u64)))
10769svuint64_t svbdep_n_u64(svuint64_t, uint64_t);
10770__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u16)))
10771svuint16_t svbdep_n_u16(svuint16_t, uint16_t);
10772__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u8)))
10773svuint8_t svbdep_u8(svuint8_t, svuint8_t);
10774__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u32)))
10775svuint32_t svbdep_u32(svuint32_t, svuint32_t);
10776__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u64)))
10777svuint64_t svbdep_u64(svuint64_t, svuint64_t);
10778__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u16)))
10779svuint16_t svbdep_u16(svuint16_t, svuint16_t);
10780__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u8)))
10781svuint8_t svbext_n_u8(svuint8_t, uint8_t);
10782__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u32)))
10783svuint32_t svbext_n_u32(svuint32_t, uint32_t);
10784__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u64)))
10785svuint64_t svbext_n_u64(svuint64_t, uint64_t);
10786__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u16)))
10787svuint16_t svbext_n_u16(svuint16_t, uint16_t);
10788__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u8)))
10789svuint8_t svbext_u8(svuint8_t, svuint8_t);
10790__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u32)))
10791svuint32_t svbext_u32(svuint32_t, svuint32_t);
10792__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u64)))
10793svuint64_t svbext_u64(svuint64_t, svuint64_t);
10794__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u16)))
10795svuint16_t svbext_u16(svuint16_t, svuint16_t);
10796__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u8)))
10797svuint8_t svbgrp_n_u8(svuint8_t, uint8_t);
10798__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u32)))
10799svuint32_t svbgrp_n_u32(svuint32_t, uint32_t);
10800__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u64)))
10801svuint64_t svbgrp_n_u64(svuint64_t, uint64_t);
10802__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u16)))
10803svuint16_t svbgrp_n_u16(svuint16_t, uint16_t);
10804__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u8)))
10805svuint8_t svbgrp_u8(svuint8_t, svuint8_t);
10806__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u32)))
10807svuint32_t svbgrp_u32(svuint32_t, svuint32_t);
10808__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u64)))
10809svuint64_t svbgrp_u64(svuint64_t, svuint64_t);
10810__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u16)))
10811svuint16_t svbgrp_u16(svuint16_t, svuint16_t);
10812__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u8)))
10813svuint8_t svbdep(svuint8_t, uint8_t);
10814__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u32)))
10815svuint32_t svbdep(svuint32_t, uint32_t);
10816__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u64)))
10817svuint64_t svbdep(svuint64_t, uint64_t);
10818__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u16)))
10819svuint16_t svbdep(svuint16_t, uint16_t);
10820__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u8)))
10821svuint8_t svbdep(svuint8_t, svuint8_t);
10822__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u32)))
10823svuint32_t svbdep(svuint32_t, svuint32_t);
10824__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u64)))
10825svuint64_t svbdep(svuint64_t, svuint64_t);
10826__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u16)))
10827svuint16_t svbdep(svuint16_t, svuint16_t);
10828__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u8)))
10829svuint8_t svbext(svuint8_t, uint8_t);
10830__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u32)))
10831svuint32_t svbext(svuint32_t, uint32_t);
10832__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u64)))
10833svuint64_t svbext(svuint64_t, uint64_t);
10834__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u16)))
10835svuint16_t svbext(svuint16_t, uint16_t);
10836__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u8)))
10837svuint8_t svbext(svuint8_t, svuint8_t);
10838__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u32)))
10839svuint32_t svbext(svuint32_t, svuint32_t);
10840__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u64)))
10841svuint64_t svbext(svuint64_t, svuint64_t);
10842__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u16)))
10843svuint16_t svbext(svuint16_t, svuint16_t);
10844__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u8)))
10845svuint8_t svbgrp(svuint8_t, uint8_t);
10846__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u32)))
10847svuint32_t svbgrp(svuint32_t, uint32_t);
10848__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u64)))
10849svuint64_t svbgrp(svuint64_t, uint64_t);
10850__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u16)))
10851svuint16_t svbgrp(svuint16_t, uint16_t);
10852__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u8)))
10853svuint8_t svbgrp(svuint8_t, svuint8_t);
10854__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u32)))
10855svuint32_t svbgrp(svuint32_t, svuint32_t);
10856__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u64)))
10857svuint64_t svbgrp(svuint64_t, svuint64_t);
10858__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u16)))
10859svuint16_t svbgrp(svuint16_t, svuint16_t);
10860__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsm4e_u32)))
10861svuint32_t svsm4e_u32(svuint32_t, svuint32_t);
10862__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsm4ekey_u32)))
10863svuint32_t svsm4ekey_u32(svuint32_t, svuint32_t);
10864__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsm4e_u32)))
10865svuint32_t svsm4e(svuint32_t, svuint32_t);
10866__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsm4ekey_u32)))
10867svuint32_t svsm4ekey(svuint32_t, svuint32_t);
10868__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_u32)))
10869svuint32_t svld1q_gather_u64base_index_u32(svbool_t, svuint64_t, int64_t);
10870__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_u64)))
10871svuint64_t svld1q_gather_u64base_index_u64(svbool_t, svuint64_t, int64_t);
10872__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_u16)))
10873svuint16_t svld1q_gather_u64base_index_u16(svbool_t, svuint64_t, int64_t);
10874__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_bf16)))
10875svbfloat16_t svld1q_gather_u64base_index_bf16(svbool_t, svuint64_t, int64_t);
10876__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_f64)))
10877svfloat64_t svld1q_gather_u64base_index_f64(svbool_t, svuint64_t, int64_t);
10878__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_f32)))
10879svfloat32_t svld1q_gather_u64base_index_f32(svbool_t, svuint64_t, int64_t);
10880__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_f16)))
10881svfloat16_t svld1q_gather_u64base_index_f16(svbool_t, svuint64_t, int64_t);
10882__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_s32)))
10883svint32_t svld1q_gather_u64base_index_s32(svbool_t, svuint64_t, int64_t);
10884__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_s64)))
10885svint64_t svld1q_gather_u64base_index_s64(svbool_t, svuint64_t, int64_t);
10886__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_s16)))
10887svint16_t svld1q_gather_u64base_index_s16(svbool_t, svuint64_t, int64_t);
10888__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u8)))
10889svuint8_t svld1q_gather_u64base_offset_u8(svbool_t, svuint64_t, int64_t);
10890__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u32)))
10891svuint32_t svld1q_gather_u64base_offset_u32(svbool_t, svuint64_t, int64_t);
10892__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u64)))
10893svuint64_t svld1q_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
10894__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u16)))
10895svuint16_t svld1q_gather_u64base_offset_u16(svbool_t, svuint64_t, int64_t);
10896__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_bf16)))
10897svbfloat16_t svld1q_gather_u64base_offset_bf16(svbool_t, svuint64_t, int64_t);
10898__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s8)))
10899svint8_t svld1q_gather_u64base_offset_s8(svbool_t, svuint64_t, int64_t);
10900__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_f64)))
10901svfloat64_t svld1q_gather_u64base_offset_f64(svbool_t, svuint64_t, int64_t);
10902__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_f32)))
10903svfloat32_t svld1q_gather_u64base_offset_f32(svbool_t, svuint64_t, int64_t);
10904__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_f16)))
10905svfloat16_t svld1q_gather_u64base_offset_f16(svbool_t, svuint64_t, int64_t);
10906__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s32)))
10907svint32_t svld1q_gather_u64base_offset_s32(svbool_t, svuint64_t, int64_t);
10908__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s64)))
10909svint64_t svld1q_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
10910__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_mf8)))
10911svmfloat8_t svld1q_gather_u64base_offset_mf8(svbool_t, svuint64_t, int64_t);
10912__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s16)))
10913svint16_t svld1q_gather_u64base_offset_s16(svbool_t, svuint64_t, int64_t);
10914__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u8)))
10915svuint8_t svld1q_gather_u64base_u8(svbool_t, svuint64_t);
10916__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u32)))
10917svuint32_t svld1q_gather_u64base_u32(svbool_t, svuint64_t);
10918__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u64)))
10919svuint64_t svld1q_gather_u64base_u64(svbool_t, svuint64_t);
10920__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u16)))
10921svuint16_t svld1q_gather_u64base_u16(svbool_t, svuint64_t);
10922__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_bf16)))
10923svbfloat16_t svld1q_gather_u64base_bf16(svbool_t, svuint64_t);
10924__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s8)))
10925svint8_t svld1q_gather_u64base_s8(svbool_t, svuint64_t);
10926__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_f64)))
10927svfloat64_t svld1q_gather_u64base_f64(svbool_t, svuint64_t);
10928__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_f32)))
10929svfloat32_t svld1q_gather_u64base_f32(svbool_t, svuint64_t);
10930__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_f16)))
10931svfloat16_t svld1q_gather_u64base_f16(svbool_t, svuint64_t);
10932__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s32)))
10933svint32_t svld1q_gather_u64base_s32(svbool_t, svuint64_t);
10934__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s64)))
10935svint64_t svld1q_gather_u64base_s64(svbool_t, svuint64_t);
10936__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_mf8)))
10937svmfloat8_t svld1q_gather_u64base_mf8(svbool_t, svuint64_t);
10938__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s16)))
10939svint16_t svld1q_gather_u64base_s16(svbool_t, svuint64_t);
10940__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_u32)))
10941svuint32_t svld1q_gather_u64index_u32(svbool_t, uint32_t const *, svuint64_t);
10942__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_u64)))
10943svuint64_t svld1q_gather_u64index_u64(svbool_t, uint64_t const *, svuint64_t);
10944__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_u16)))
10945svuint16_t svld1q_gather_u64index_u16(svbool_t, uint16_t const *, svuint64_t);
10946__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_bf16)))
10947svbfloat16_t svld1q_gather_u64index_bf16(svbool_t, bfloat16_t const *, svuint64_t);
10948__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_f64)))
10949svfloat64_t svld1q_gather_u64index_f64(svbool_t, float64_t const *, svuint64_t);
10950__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_f32)))
10951svfloat32_t svld1q_gather_u64index_f32(svbool_t, float32_t const *, svuint64_t);
10952__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_f16)))
10953svfloat16_t svld1q_gather_u64index_f16(svbool_t, float16_t const *, svuint64_t);
10954__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_s32)))
10955svint32_t svld1q_gather_u64index_s32(svbool_t, int32_t const *, svuint64_t);
10956__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_s64)))
10957svint64_t svld1q_gather_u64index_s64(svbool_t, int64_t const *, svuint64_t);
10958__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_s16)))
10959svint16_t svld1q_gather_u64index_s16(svbool_t, int16_t const *, svuint64_t);
10960__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u8)))
10961svuint8_t svld1q_gather_u64offset_u8(svbool_t, uint8_t const *, svuint64_t);
10962__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u32)))
10963svuint32_t svld1q_gather_u64offset_u32(svbool_t, uint32_t const *, svuint64_t);
10964__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u64)))
10965svuint64_t svld1q_gather_u64offset_u64(svbool_t, uint64_t const *, svuint64_t);
10966__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u16)))
10967svuint16_t svld1q_gather_u64offset_u16(svbool_t, uint16_t const *, svuint64_t);
10968__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_bf16)))
10969svbfloat16_t svld1q_gather_u64offset_bf16(svbool_t, bfloat16_t const *, svuint64_t);
10970__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s8)))
10971svint8_t svld1q_gather_u64offset_s8(svbool_t, int8_t const *, svuint64_t);
10972__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_f64)))
10973svfloat64_t svld1q_gather_u64offset_f64(svbool_t, float64_t const *, svuint64_t);
10974__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_f32)))
10975svfloat32_t svld1q_gather_u64offset_f32(svbool_t, float32_t const *, svuint64_t);
10976__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_f16)))
10977svfloat16_t svld1q_gather_u64offset_f16(svbool_t, float16_t const *, svuint64_t);
10978__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s32)))
10979svint32_t svld1q_gather_u64offset_s32(svbool_t, int32_t const *, svuint64_t);
10980__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s64)))
10981svint64_t svld1q_gather_u64offset_s64(svbool_t, int64_t const *, svuint64_t);
10982__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_mf8)))
10983svmfloat8_t svld1q_gather_u64offset_mf8(svbool_t, mfloat8_t const *, svuint64_t);
10984__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s16)))
10985svint16_t svld1q_gather_u64offset_s16(svbool_t, int16_t const *, svuint64_t);
10986__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_u64)))
10987svuint64_t svld1udq_u64(svbool_t, uint64_t const *);
10988__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_f64)))
10989svfloat64_t svld1udq_f64(svbool_t, float64_t const *);
10990__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_s64)))
10991svint64_t svld1udq_s64(svbool_t, int64_t const *);
10992__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_vnum_u64)))
10993svuint64_t svld1udq_vnum_u64(svbool_t, uint64_t const *, int64_t);
10994__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_vnum_f64)))
10995svfloat64_t svld1udq_vnum_f64(svbool_t, float64_t const *, int64_t);
10996__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_vnum_s64)))
10997svint64_t svld1udq_vnum_s64(svbool_t, int64_t const *, int64_t);
10998__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_u32)))
10999svuint32_t svld1uwq_u32(svbool_t, uint32_t const *);
11000__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_f32)))
11001svfloat32_t svld1uwq_f32(svbool_t, float32_t const *);
11002__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_s32)))
11003svint32_t svld1uwq_s32(svbool_t, int32_t const *);
11004__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_vnum_u32)))
11005svuint32_t svld1uwq_vnum_u32(svbool_t, uint32_t const *, int64_t);
11006__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_vnum_f32)))
11007svfloat32_t svld1uwq_vnum_f32(svbool_t, float32_t const *, int64_t);
11008__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_vnum_s32)))
11009svint32_t svld1uwq_vnum_s32(svbool_t, int32_t const *, int64_t);
11010__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_u64)))
11011void svst1dq_u64(svbool_t, uint64_t *, svuint64_t);
11012__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_f64)))
11013void svst1dq_f64(svbool_t, float64_t *, svfloat64_t);
11014__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_s64)))
11015void svst1dq_s64(svbool_t, int64_t *, svint64_t);
11016__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_vnum_u64)))
11017void svst1dq_vnum_u64(svbool_t, uint64_t *, int64_t, svuint64_t);
11018__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_vnum_f64)))
11019void svst1dq_vnum_f64(svbool_t, float64_t *, int64_t, svfloat64_t);
11020__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_vnum_s64)))
11021void svst1dq_vnum_s64(svbool_t, int64_t *, int64_t, svint64_t);
11022__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u8)))
11023void svst1q_scatter_u64base_u8(svbool_t, svuint64_t, svuint8_t);
11024__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u32)))
11025void svst1q_scatter_u64base_u32(svbool_t, svuint64_t, svuint32_t);
11026__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u64)))
11027void svst1q_scatter_u64base_u64(svbool_t, svuint64_t, svuint64_t);
11028__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u16)))
11029void svst1q_scatter_u64base_u16(svbool_t, svuint64_t, svuint16_t);
11030__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_bf16)))
11031void svst1q_scatter_u64base_bf16(svbool_t, svuint64_t, svbfloat16_t);
11032__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s8)))
11033void svst1q_scatter_u64base_s8(svbool_t, svuint64_t, svint8_t);
11034__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_f64)))
11035void svst1q_scatter_u64base_f64(svbool_t, svuint64_t, svfloat64_t);
11036__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_f32)))
11037void svst1q_scatter_u64base_f32(svbool_t, svuint64_t, svfloat32_t);
11038__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_f16)))
11039void svst1q_scatter_u64base_f16(svbool_t, svuint64_t, svfloat16_t);
11040__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s32)))
11041void svst1q_scatter_u64base_s32(svbool_t, svuint64_t, svint32_t);
11042__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s64)))
11043void svst1q_scatter_u64base_s64(svbool_t, svuint64_t, svint64_t);
11044__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_mf8)))
11045void svst1q_scatter_u64base_mf8(svbool_t, svuint64_t, svmfloat8_t);
11046__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s16)))
11047void svst1q_scatter_u64base_s16(svbool_t, svuint64_t, svint16_t);
11048__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_u32)))
11049void svst1q_scatter_u64base_index_u32(svbool_t, svuint64_t, int64_t, svuint32_t);
11050__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_u64)))
11051void svst1q_scatter_u64base_index_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
11052__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_u16)))
11053void svst1q_scatter_u64base_index_u16(svbool_t, svuint64_t, int64_t, svuint16_t);
11054__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_bf16)))
11055void svst1q_scatter_u64base_index_bf16(svbool_t, svuint64_t, int64_t, svbfloat16_t);
11056__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_f64)))
11057void svst1q_scatter_u64base_index_f64(svbool_t, svuint64_t, int64_t, svfloat64_t);
11058__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_f32)))
11059void svst1q_scatter_u64base_index_f32(svbool_t, svuint64_t, int64_t, svfloat32_t);
11060__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_f16)))
11061void svst1q_scatter_u64base_index_f16(svbool_t, svuint64_t, int64_t, svfloat16_t);
11062__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_s32)))
11063void svst1q_scatter_u64base_index_s32(svbool_t, svuint64_t, int64_t, svint32_t);
11064__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_s64)))
11065void svst1q_scatter_u64base_index_s64(svbool_t, svuint64_t, int64_t, svint64_t);
11066__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_s16)))
11067void svst1q_scatter_u64base_index_s16(svbool_t, svuint64_t, int64_t, svint16_t);
11068__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u8)))
11069void svst1q_scatter_u64base_offset_u8(svbool_t, svuint64_t, int64_t, svuint8_t);
11070__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u32)))
11071void svst1q_scatter_u64base_offset_u32(svbool_t, svuint64_t, int64_t, svuint32_t);
11072__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u64)))
11073void svst1q_scatter_u64base_offset_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
11074__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u16)))
11075void svst1q_scatter_u64base_offset_u16(svbool_t, svuint64_t, int64_t, svuint16_t);
11076__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_bf16)))
11077void svst1q_scatter_u64base_offset_bf16(svbool_t, svuint64_t, int64_t, svbfloat16_t);
11078__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s8)))
11079void svst1q_scatter_u64base_offset_s8(svbool_t, svuint64_t, int64_t, svint8_t);
11080__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_f64)))
11081void svst1q_scatter_u64base_offset_f64(svbool_t, svuint64_t, int64_t, svfloat64_t);
11082__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_f32)))
11083void svst1q_scatter_u64base_offset_f32(svbool_t, svuint64_t, int64_t, svfloat32_t);
11084__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_f16)))
11085void svst1q_scatter_u64base_offset_f16(svbool_t, svuint64_t, int64_t, svfloat16_t);
11086__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s32)))
11087void svst1q_scatter_u64base_offset_s32(svbool_t, svuint64_t, int64_t, svint32_t);
11088__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s64)))
11089void svst1q_scatter_u64base_offset_s64(svbool_t, svuint64_t, int64_t, svint64_t);
11090__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_mf8)))
11091void svst1q_scatter_u64base_offset_mf8(svbool_t, svuint64_t, int64_t, svmfloat8_t);
11092__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s16)))
11093void svst1q_scatter_u64base_offset_s16(svbool_t, svuint64_t, int64_t, svint16_t);
11094__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_u32)))
11095void svst1q_scatter_s64index_u32(svbool_t, uint32_t *, svint64_t, svuint32_t);
11096__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_u64)))
11097void svst1q_scatter_s64index_u64(svbool_t, uint64_t *, svint64_t, svuint64_t);
11098__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_u16)))
11099void svst1q_scatter_s64index_u16(svbool_t, uint16_t *, svint64_t, svuint16_t);
11100__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_bf16)))
11101void svst1q_scatter_s64index_bf16(svbool_t, bfloat16_t *, svint64_t, svbfloat16_t);
11102__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_f64)))
11103void svst1q_scatter_s64index_f64(svbool_t, float64_t *, svint64_t, svfloat64_t);
11104__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_f32)))
11105void svst1q_scatter_s64index_f32(svbool_t, float32_t *, svint64_t, svfloat32_t);
11106__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_f16)))
11107void svst1q_scatter_s64index_f16(svbool_t, float16_t *, svint64_t, svfloat16_t);
11108__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_s32)))
11109void svst1q_scatter_s64index_s32(svbool_t, int32_t *, svint64_t, svint32_t);
11110__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_s64)))
11111void svst1q_scatter_s64index_s64(svbool_t, int64_t *, svint64_t, svint64_t);
11112__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_s16)))
11113void svst1q_scatter_s64index_s16(svbool_t, int16_t *, svint64_t, svint16_t);
11114__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_u32)))
11115void svst1q_scatter_u64index_u32(svbool_t, uint32_t *, svuint64_t, svuint32_t);
11116__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_u64)))
11117void svst1q_scatter_u64index_u64(svbool_t, uint64_t *, svuint64_t, svuint64_t);
11118__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_u16)))
11119void svst1q_scatter_u64index_u16(svbool_t, uint16_t *, svuint64_t, svuint16_t);
11120__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_bf16)))
11121void svst1q_scatter_u64index_bf16(svbool_t, bfloat16_t *, svuint64_t, svbfloat16_t);
11122__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_f64)))
11123void svst1q_scatter_u64index_f64(svbool_t, float64_t *, svuint64_t, svfloat64_t);
11124__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_f32)))
11125void svst1q_scatter_u64index_f32(svbool_t, float32_t *, svuint64_t, svfloat32_t);
11126__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_f16)))
11127void svst1q_scatter_u64index_f16(svbool_t, float16_t *, svuint64_t, svfloat16_t);
11128__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_s32)))
11129void svst1q_scatter_u64index_s32(svbool_t, int32_t *, svuint64_t, svint32_t);
11130__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_s64)))
11131void svst1q_scatter_u64index_s64(svbool_t, int64_t *, svuint64_t, svint64_t);
11132__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_s16)))
11133void svst1q_scatter_u64index_s16(svbool_t, int16_t *, svuint64_t, svint16_t);
11134__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u8)))
11135void svst1q_scatter_s64offset_u8(svbool_t, uint8_t *, svint64_t, svuint8_t);
11136__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u32)))
11137void svst1q_scatter_s64offset_u32(svbool_t, uint32_t *, svint64_t, svuint32_t);
11138__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u64)))
11139void svst1q_scatter_s64offset_u64(svbool_t, uint64_t *, svint64_t, svuint64_t);
11140__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u16)))
11141void svst1q_scatter_s64offset_u16(svbool_t, uint16_t *, svint64_t, svuint16_t);
11142__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_bf16)))
11143void svst1q_scatter_s64offset_bf16(svbool_t, bfloat16_t *, svint64_t, svbfloat16_t);
11144__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s8)))
11145void svst1q_scatter_s64offset_s8(svbool_t, int8_t *, svint64_t, svint8_t);
11146__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_f64)))
11147void svst1q_scatter_s64offset_f64(svbool_t, float64_t *, svint64_t, svfloat64_t);
11148__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_f32)))
11149void svst1q_scatter_s64offset_f32(svbool_t, float32_t *, svint64_t, svfloat32_t);
11150__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_f16)))
11151void svst1q_scatter_s64offset_f16(svbool_t, float16_t *, svint64_t, svfloat16_t);
11152__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s32)))
11153void svst1q_scatter_s64offset_s32(svbool_t, int32_t *, svint64_t, svint32_t);
11154__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s64)))
11155void svst1q_scatter_s64offset_s64(svbool_t, int64_t *, svint64_t, svint64_t);
11156__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_mf8)))
11157void svst1q_scatter_s64offset_mf8(svbool_t, mfloat8_t *, svint64_t, svmfloat8_t);
11158__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s16)))
11159void svst1q_scatter_s64offset_s16(svbool_t, int16_t *, svint64_t, svint16_t);
11160__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u8)))
11161void svst1q_scatter_u64offset_u8(svbool_t, uint8_t *, svuint64_t, svuint8_t);
11162__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u32)))
11163void svst1q_scatter_u64offset_u32(svbool_t, uint32_t *, svuint64_t, svuint32_t);
11164__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u64)))
11165void svst1q_scatter_u64offset_u64(svbool_t, uint64_t *, svuint64_t, svuint64_t);
11166__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u16)))
11167void svst1q_scatter_u64offset_u16(svbool_t, uint16_t *, svuint64_t, svuint16_t);
11168__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_bf16)))
11169void svst1q_scatter_u64offset_bf16(svbool_t, bfloat16_t *, svuint64_t, svbfloat16_t);
11170__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s8)))
11171void svst1q_scatter_u64offset_s8(svbool_t, int8_t *, svuint64_t, svint8_t);
11172__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_f64)))
11173void svst1q_scatter_u64offset_f64(svbool_t, float64_t *, svuint64_t, svfloat64_t);
11174__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_f32)))
11175void svst1q_scatter_u64offset_f32(svbool_t, float32_t *, svuint64_t, svfloat32_t);
11176__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_f16)))
11177void svst1q_scatter_u64offset_f16(svbool_t, float16_t *, svuint64_t, svfloat16_t);
11178__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s32)))
11179void svst1q_scatter_u64offset_s32(svbool_t, int32_t *, svuint64_t, svint32_t);
11180__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s64)))
11181void svst1q_scatter_u64offset_s64(svbool_t, int64_t *, svuint64_t, svint64_t);
11182__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_mf8)))
11183void svst1q_scatter_u64offset_mf8(svbool_t, mfloat8_t *, svuint64_t, svmfloat8_t);
11184__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s16)))
11185void svst1q_scatter_u64offset_s16(svbool_t, int16_t *, svuint64_t, svint16_t);
11186__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_u32)))
11187void svst1wq_u32(svbool_t, uint32_t *, svuint32_t);
11188__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_f32)))
11189void svst1wq_f32(svbool_t, float32_t *, svfloat32_t);
11190__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_s32)))
11191void svst1wq_s32(svbool_t, int32_t *, svint32_t);
11192__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_vnum_u32)))
11193void svst1wq_vnum_u32(svbool_t, uint32_t *, int64_t, svuint32_t);
11194__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_vnum_f32)))
11195void svst1wq_vnum_f32(svbool_t, float32_t *, int64_t, svfloat32_t);
11196__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_vnum_s32)))
11197void svst1wq_vnum_s32(svbool_t, int32_t *, int64_t, svint32_t);
11198__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_u32)))
11199svuint32_t svld1q_gather_index_u32(svbool_t, svuint64_t, int64_t);
11200__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_u64)))
11201svuint64_t svld1q_gather_index_u64(svbool_t, svuint64_t, int64_t);
11202__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_u16)))
11203svuint16_t svld1q_gather_index_u16(svbool_t, svuint64_t, int64_t);
11204__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_bf16)))
11205svbfloat16_t svld1q_gather_index_bf16(svbool_t, svuint64_t, int64_t);
11206__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_f64)))
11207svfloat64_t svld1q_gather_index_f64(svbool_t, svuint64_t, int64_t);
11208__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_f32)))
11209svfloat32_t svld1q_gather_index_f32(svbool_t, svuint64_t, int64_t);
11210__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_f16)))
11211svfloat16_t svld1q_gather_index_f16(svbool_t, svuint64_t, int64_t);
11212__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_s32)))
11213svint32_t svld1q_gather_index_s32(svbool_t, svuint64_t, int64_t);
11214__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_s64)))
11215svint64_t svld1q_gather_index_s64(svbool_t, svuint64_t, int64_t);
11216__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_s16)))
11217svint16_t svld1q_gather_index_s16(svbool_t, svuint64_t, int64_t);
11218__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u8)))
11219svuint8_t svld1q_gather_offset_u8(svbool_t, svuint64_t, int64_t);
11220__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u32)))
11221svuint32_t svld1q_gather_offset_u32(svbool_t, svuint64_t, int64_t);
11222__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u64)))
11223svuint64_t svld1q_gather_offset_u64(svbool_t, svuint64_t, int64_t);
11224__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u16)))
11225svuint16_t svld1q_gather_offset_u16(svbool_t, svuint64_t, int64_t);
11226__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_bf16)))
11227svbfloat16_t svld1q_gather_offset_bf16(svbool_t, svuint64_t, int64_t);
11228__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s8)))
11229svint8_t svld1q_gather_offset_s8(svbool_t, svuint64_t, int64_t);
11230__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_f64)))
11231svfloat64_t svld1q_gather_offset_f64(svbool_t, svuint64_t, int64_t);
11232__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_f32)))
11233svfloat32_t svld1q_gather_offset_f32(svbool_t, svuint64_t, int64_t);
11234__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_f16)))
11235svfloat16_t svld1q_gather_offset_f16(svbool_t, svuint64_t, int64_t);
11236__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s32)))
11237svint32_t svld1q_gather_offset_s32(svbool_t, svuint64_t, int64_t);
11238__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s64)))
11239svint64_t svld1q_gather_offset_s64(svbool_t, svuint64_t, int64_t);
11240__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_mf8)))
11241svmfloat8_t svld1q_gather_offset_mf8(svbool_t, svuint64_t, int64_t);
11242__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s16)))
11243svint16_t svld1q_gather_offset_s16(svbool_t, svuint64_t, int64_t);
11244__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u8)))
11245svuint8_t svld1q_gather_u8(svbool_t, svuint64_t);
11246__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u32)))
11247svuint32_t svld1q_gather_u32(svbool_t, svuint64_t);
11248__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u64)))
11249svuint64_t svld1q_gather_u64(svbool_t, svuint64_t);
11250__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u16)))
11251svuint16_t svld1q_gather_u16(svbool_t, svuint64_t);
11252__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_bf16)))
11253svbfloat16_t svld1q_gather_bf16(svbool_t, svuint64_t);
11254__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s8)))
11255svint8_t svld1q_gather_s8(svbool_t, svuint64_t);
11256__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_f64)))
11257svfloat64_t svld1q_gather_f64(svbool_t, svuint64_t);
11258__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_f32)))
11259svfloat32_t svld1q_gather_f32(svbool_t, svuint64_t);
11260__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_f16)))
11261svfloat16_t svld1q_gather_f16(svbool_t, svuint64_t);
11262__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s32)))
11263svint32_t svld1q_gather_s32(svbool_t, svuint64_t);
11264__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s64)))
11265svint64_t svld1q_gather_s64(svbool_t, svuint64_t);
11266__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_mf8)))
11267svmfloat8_t svld1q_gather_mf8(svbool_t, svuint64_t);
11268__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s16)))
11269svint16_t svld1q_gather_s16(svbool_t, svuint64_t);
11270__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_u32)))
11271svuint32_t svld1q_gather_index(svbool_t, uint32_t const *, svuint64_t);
11272__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_u64)))
11273svuint64_t svld1q_gather_index(svbool_t, uint64_t const *, svuint64_t);
11274__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_u16)))
11275svuint16_t svld1q_gather_index(svbool_t, uint16_t const *, svuint64_t);
11276__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_bf16)))
11277svbfloat16_t svld1q_gather_index(svbool_t, bfloat16_t const *, svuint64_t);
11278__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_f64)))
11279svfloat64_t svld1q_gather_index(svbool_t, float64_t const *, svuint64_t);
11280__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_f32)))
11281svfloat32_t svld1q_gather_index(svbool_t, float32_t const *, svuint64_t);
11282__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_f16)))
11283svfloat16_t svld1q_gather_index(svbool_t, float16_t const *, svuint64_t);
11284__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_s32)))
11285svint32_t svld1q_gather_index(svbool_t, int32_t const *, svuint64_t);
11286__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_s64)))
11287svint64_t svld1q_gather_index(svbool_t, int64_t const *, svuint64_t);
11288__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_s16)))
11289svint16_t svld1q_gather_index(svbool_t, int16_t const *, svuint64_t);
11290__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u8)))
11291svuint8_t svld1q_gather_offset(svbool_t, uint8_t const *, svuint64_t);
11292__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u32)))
11293svuint32_t svld1q_gather_offset(svbool_t, uint32_t const *, svuint64_t);
11294__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u64)))
11295svuint64_t svld1q_gather_offset(svbool_t, uint64_t const *, svuint64_t);
11296__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u16)))
11297svuint16_t svld1q_gather_offset(svbool_t, uint16_t const *, svuint64_t);
11298__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_bf16)))
11299svbfloat16_t svld1q_gather_offset(svbool_t, bfloat16_t const *, svuint64_t);
11300__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s8)))
11301svint8_t svld1q_gather_offset(svbool_t, int8_t const *, svuint64_t);
11302__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_f64)))
11303svfloat64_t svld1q_gather_offset(svbool_t, float64_t const *, svuint64_t);
11304__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_f32)))
11305svfloat32_t svld1q_gather_offset(svbool_t, float32_t const *, svuint64_t);
11306__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_f16)))
11307svfloat16_t svld1q_gather_offset(svbool_t, float16_t const *, svuint64_t);
11308__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s32)))
11309svint32_t svld1q_gather_offset(svbool_t, int32_t const *, svuint64_t);
11310__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s64)))
11311svint64_t svld1q_gather_offset(svbool_t, int64_t const *, svuint64_t);
11312__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_mf8)))
11313svmfloat8_t svld1q_gather_offset(svbool_t, mfloat8_t const *, svuint64_t);
11314__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s16)))
11315svint16_t svld1q_gather_offset(svbool_t, int16_t const *, svuint64_t);
11316__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_u64)))
11317svuint64_t svld1udq(svbool_t, uint64_t const *);
11318__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_f64)))
11319svfloat64_t svld1udq(svbool_t, float64_t const *);
11320__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_s64)))
11321svint64_t svld1udq(svbool_t, int64_t const *);
11322__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_vnum_u64)))
11323svuint64_t svld1udq_vnum(svbool_t, uint64_t const *, int64_t);
11324__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_vnum_f64)))
11325svfloat64_t svld1udq_vnum(svbool_t, float64_t const *, int64_t);
11326__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_vnum_s64)))
11327svint64_t svld1udq_vnum(svbool_t, int64_t const *, int64_t);
11328__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_u32)))
11329svuint32_t svld1uwq(svbool_t, uint32_t const *);
11330__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_f32)))
11331svfloat32_t svld1uwq(svbool_t, float32_t const *);
11332__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_s32)))
11333svint32_t svld1uwq(svbool_t, int32_t const *);
11334__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_vnum_u32)))
11335svuint32_t svld1uwq_vnum(svbool_t, uint32_t const *, int64_t);
11336__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_vnum_f32)))
11337svfloat32_t svld1uwq_vnum(svbool_t, float32_t const *, int64_t);
11338__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_vnum_s32)))
11339svint32_t svld1uwq_vnum(svbool_t, int32_t const *, int64_t);
11340__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_u64)))
11341void svst1dq(svbool_t, uint64_t *, svuint64_t);
11342__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_f64)))
11343void svst1dq(svbool_t, float64_t *, svfloat64_t);
11344__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_s64)))
11345void svst1dq(svbool_t, int64_t *, svint64_t);
11346__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_vnum_u64)))
11347void svst1dq_vnum(svbool_t, uint64_t *, int64_t, svuint64_t);
11348__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_vnum_f64)))
11349void svst1dq_vnum(svbool_t, float64_t *, int64_t, svfloat64_t);
11350__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_vnum_s64)))
11351void svst1dq_vnum(svbool_t, int64_t *, int64_t, svint64_t);
11352__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u8)))
11353void svst1q_scatter(svbool_t, svuint64_t, svuint8_t);
11354__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u32)))
11355void svst1q_scatter(svbool_t, svuint64_t, svuint32_t);
11356__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u64)))
11357void svst1q_scatter(svbool_t, svuint64_t, svuint64_t);
11358__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u16)))
11359void svst1q_scatter(svbool_t, svuint64_t, svuint16_t);
11360__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_bf16)))
11361void svst1q_scatter(svbool_t, svuint64_t, svbfloat16_t);
11362__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s8)))
11363void svst1q_scatter(svbool_t, svuint64_t, svint8_t);
11364__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_f64)))
11365void svst1q_scatter(svbool_t, svuint64_t, svfloat64_t);
11366__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_f32)))
11367void svst1q_scatter(svbool_t, svuint64_t, svfloat32_t);
11368__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_f16)))
11369void svst1q_scatter(svbool_t, svuint64_t, svfloat16_t);
11370__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s32)))
11371void svst1q_scatter(svbool_t, svuint64_t, svint32_t);
11372__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s64)))
11373void svst1q_scatter(svbool_t, svuint64_t, svint64_t);
11374__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_mf8)))
11375void svst1q_scatter(svbool_t, svuint64_t, svmfloat8_t);
11376__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s16)))
11377void svst1q_scatter(svbool_t, svuint64_t, svint16_t);
11378__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_u32)))
11379void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svuint32_t);
11380__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_u64)))
11381void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svuint64_t);
11382__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_u16)))
11383void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svuint16_t);
11384__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_bf16)))
11385void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svbfloat16_t);
11386__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_f64)))
11387void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svfloat64_t);
11388__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_f32)))
11389void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svfloat32_t);
11390__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_f16)))
11391void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svfloat16_t);
11392__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_s32)))
11393void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svint32_t);
11394__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_s64)))
11395void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svint64_t);
11396__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_s16)))
11397void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svint16_t);
11398__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u8)))
11399void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svuint8_t);
11400__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u32)))
11401void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svuint32_t);
11402__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u64)))
11403void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svuint64_t);
11404__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u16)))
11405void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svuint16_t);
11406__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_bf16)))
11407void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svbfloat16_t);
11408__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s8)))
11409void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svint8_t);
11410__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_f64)))
11411void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svfloat64_t);
11412__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_f32)))
11413void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svfloat32_t);
11414__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_f16)))
11415void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svfloat16_t);
11416__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s32)))
11417void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svint32_t);
11418__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s64)))
11419void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svint64_t);
11420__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_mf8)))
11421void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svmfloat8_t);
11422__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s16)))
11423void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svint16_t);
11424__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_u32)))
11425void svst1q_scatter_index(svbool_t, uint32_t *, svint64_t, svuint32_t);
11426__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_u64)))
11427void svst1q_scatter_index(svbool_t, uint64_t *, svint64_t, svuint64_t);
11428__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_u16)))
11429void svst1q_scatter_index(svbool_t, uint16_t *, svint64_t, svuint16_t);
11430__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_bf16)))
11431void svst1q_scatter_index(svbool_t, bfloat16_t *, svint64_t, svbfloat16_t);
11432__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_f64)))
11433void svst1q_scatter_index(svbool_t, float64_t *, svint64_t, svfloat64_t);
11434__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_f32)))
11435void svst1q_scatter_index(svbool_t, float32_t *, svint64_t, svfloat32_t);
11436__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_f16)))
11437void svst1q_scatter_index(svbool_t, float16_t *, svint64_t, svfloat16_t);
11438__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_s32)))
11439void svst1q_scatter_index(svbool_t, int32_t *, svint64_t, svint32_t);
11440__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_s64)))
11441void svst1q_scatter_index(svbool_t, int64_t *, svint64_t, svint64_t);
11442__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_s16)))
11443void svst1q_scatter_index(svbool_t, int16_t *, svint64_t, svint16_t);
11444__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_u32)))
11445void svst1q_scatter_index(svbool_t, uint32_t *, svuint64_t, svuint32_t);
11446__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_u64)))
11447void svst1q_scatter_index(svbool_t, uint64_t *, svuint64_t, svuint64_t);
11448__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_u16)))
11449void svst1q_scatter_index(svbool_t, uint16_t *, svuint64_t, svuint16_t);
11450__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_bf16)))
11451void svst1q_scatter_index(svbool_t, bfloat16_t *, svuint64_t, svbfloat16_t);
11452__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_f64)))
11453void svst1q_scatter_index(svbool_t, float64_t *, svuint64_t, svfloat64_t);
11454__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_f32)))
11455void svst1q_scatter_index(svbool_t, float32_t *, svuint64_t, svfloat32_t);
11456__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_f16)))
11457void svst1q_scatter_index(svbool_t, float16_t *, svuint64_t, svfloat16_t);
11458__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_s32)))
11459void svst1q_scatter_index(svbool_t, int32_t *, svuint64_t, svint32_t);
11460__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_s64)))
11461void svst1q_scatter_index(svbool_t, int64_t *, svuint64_t, svint64_t);
11462__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_s16)))
11463void svst1q_scatter_index(svbool_t, int16_t *, svuint64_t, svint16_t);
11464__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u8)))
11465void svst1q_scatter_offset(svbool_t, uint8_t *, svint64_t, svuint8_t);
11466__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u32)))
11467void svst1q_scatter_offset(svbool_t, uint32_t *, svint64_t, svuint32_t);
11468__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u64)))
11469void svst1q_scatter_offset(svbool_t, uint64_t *, svint64_t, svuint64_t);
11470__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u16)))
11471void svst1q_scatter_offset(svbool_t, uint16_t *, svint64_t, svuint16_t);
11472__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_bf16)))
11473void svst1q_scatter_offset(svbool_t, bfloat16_t *, svint64_t, svbfloat16_t);
11474__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s8)))
11475void svst1q_scatter_offset(svbool_t, int8_t *, svint64_t, svint8_t);
11476__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_f64)))
11477void svst1q_scatter_offset(svbool_t, float64_t *, svint64_t, svfloat64_t);
11478__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_f32)))
11479void svst1q_scatter_offset(svbool_t, float32_t *, svint64_t, svfloat32_t);
11480__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_f16)))
11481void svst1q_scatter_offset(svbool_t, float16_t *, svint64_t, svfloat16_t);
11482__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s32)))
11483void svst1q_scatter_offset(svbool_t, int32_t *, svint64_t, svint32_t);
11484__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s64)))
11485void svst1q_scatter_offset(svbool_t, int64_t *, svint64_t, svint64_t);
11486__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_mf8)))
11487void svst1q_scatter_offset(svbool_t, mfloat8_t *, svint64_t, svmfloat8_t);
11488__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s16)))
11489void svst1q_scatter_offset(svbool_t, int16_t *, svint64_t, svint16_t);
11490__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u8)))
11491void svst1q_scatter_offset(svbool_t, uint8_t *, svuint64_t, svuint8_t);
11492__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u32)))
11493void svst1q_scatter_offset(svbool_t, uint32_t *, svuint64_t, svuint32_t);
11494__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u64)))
11495void svst1q_scatter_offset(svbool_t, uint64_t *, svuint64_t, svuint64_t);
11496__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u16)))
11497void svst1q_scatter_offset(svbool_t, uint16_t *, svuint64_t, svuint16_t);
11498__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_bf16)))
11499void svst1q_scatter_offset(svbool_t, bfloat16_t *, svuint64_t, svbfloat16_t);
11500__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s8)))
11501void svst1q_scatter_offset(svbool_t, int8_t *, svuint64_t, svint8_t);
11502__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_f64)))
11503void svst1q_scatter_offset(svbool_t, float64_t *, svuint64_t, svfloat64_t);
11504__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_f32)))
11505void svst1q_scatter_offset(svbool_t, float32_t *, svuint64_t, svfloat32_t);
11506__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_f16)))
11507void svst1q_scatter_offset(svbool_t, float16_t *, svuint64_t, svfloat16_t);
11508__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s32)))
11509void svst1q_scatter_offset(svbool_t, int32_t *, svuint64_t, svint32_t);
11510__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s64)))
11511void svst1q_scatter_offset(svbool_t, int64_t *, svuint64_t, svint64_t);
11512__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_mf8)))
11513void svst1q_scatter_offset(svbool_t, mfloat8_t *, svuint64_t, svmfloat8_t);
11514__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s16)))
11515void svst1q_scatter_offset(svbool_t, int16_t *, svuint64_t, svint16_t);
11516__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_u32)))
11517void svst1wq(svbool_t, uint32_t *, svuint32_t);
11518__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_f32)))
11519void svst1wq(svbool_t, float32_t *, svfloat32_t);
11520__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_s32)))
11521void svst1wq(svbool_t, int32_t *, svint32_t);
11522__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_vnum_u32)))
11523void svst1wq_vnum(svbool_t, uint32_t *, int64_t, svuint32_t);
11524__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_vnum_f32)))
11525void svst1wq_vnum(svbool_t, float32_t *, int64_t, svfloat32_t);
11526__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_vnum_s32)))
11527void svst1wq_vnum(svbool_t, int32_t *, int64_t, svint32_t);
11528__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcntp_c8)))
11529uint64_t svcntp_c8(svcount_t, uint64_t);
11530__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcntp_c32)))
11531uint64_t svcntp_c32(svcount_t, uint64_t);
11532__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcntp_c64)))
11533uint64_t svcntp_c64(svcount_t, uint64_t);
11534__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcntp_c16)))
11535uint64_t svcntp_c16(svcount_t, uint64_t);
11536__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u8_x2)))
11537svuint8x2_t svld1_u8_x2(svcount_t, uint8_t const *);
11538__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s8_x2)))
11539svint8x2_t svld1_s8_x2(svcount_t, int8_t const *);
11540__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_mf8_x2)))
11541svmfloat8x2_t svld1_mf8_x2(svcount_t, mfloat8_t const *);
11542__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u64_x2)))
11543svuint64x2_t svld1_u64_x2(svcount_t, uint64_t const *);
11544__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f64_x2)))
11545svfloat64x2_t svld1_f64_x2(svcount_t, float64_t const *);
11546__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s64_x2)))
11547svint64x2_t svld1_s64_x2(svcount_t, int64_t const *);
11548__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u16_x2)))
11549svuint16x2_t svld1_u16_x2(svcount_t, uint16_t const *);
11550__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_bf16_x2)))
11551svbfloat16x2_t svld1_bf16_x2(svcount_t, bfloat16_t const *);
11552__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f16_x2)))
11553svfloat16x2_t svld1_f16_x2(svcount_t, float16_t const *);
11554__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s16_x2)))
11555svint16x2_t svld1_s16_x2(svcount_t, int16_t const *);
11556__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u32_x2)))
11557svuint32x2_t svld1_u32_x2(svcount_t, uint32_t const *);
11558__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f32_x2)))
11559svfloat32x2_t svld1_f32_x2(svcount_t, float32_t const *);
11560__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s32_x2)))
11561svint32x2_t svld1_s32_x2(svcount_t, int32_t const *);
11562__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u8_x4)))
11563svuint8x4_t svld1_u8_x4(svcount_t, uint8_t const *);
11564__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s8_x4)))
11565svint8x4_t svld1_s8_x4(svcount_t, int8_t const *);
11566__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_mf8_x4)))
11567svmfloat8x4_t svld1_mf8_x4(svcount_t, mfloat8_t const *);
11568__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u64_x4)))
11569svuint64x4_t svld1_u64_x4(svcount_t, uint64_t const *);
11570__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f64_x4)))
11571svfloat64x4_t svld1_f64_x4(svcount_t, float64_t const *);
11572__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s64_x4)))
11573svint64x4_t svld1_s64_x4(svcount_t, int64_t const *);
11574__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u16_x4)))
11575svuint16x4_t svld1_u16_x4(svcount_t, uint16_t const *);
11576__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_bf16_x4)))
11577svbfloat16x4_t svld1_bf16_x4(svcount_t, bfloat16_t const *);
11578__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f16_x4)))
11579svfloat16x4_t svld1_f16_x4(svcount_t, float16_t const *);
11580__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s16_x4)))
11581svint16x4_t svld1_s16_x4(svcount_t, int16_t const *);
11582__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u32_x4)))
11583svuint32x4_t svld1_u32_x4(svcount_t, uint32_t const *);
11584__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f32_x4)))
11585svfloat32x4_t svld1_f32_x4(svcount_t, float32_t const *);
11586__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s32_x4)))
11587svint32x4_t svld1_s32_x4(svcount_t, int32_t const *);
11588__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u8_x2)))
11589svuint8x2_t svld1_vnum_u8_x2(svcount_t, uint8_t const *, int64_t);
11590__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s8_x2)))
11591svint8x2_t svld1_vnum_s8_x2(svcount_t, int8_t const *, int64_t);
11592__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_mf8_x2)))
11593svmfloat8x2_t svld1_vnum_mf8_x2(svcount_t, mfloat8_t const *, int64_t);
11594__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u64_x2)))
11595svuint64x2_t svld1_vnum_u64_x2(svcount_t, uint64_t const *, int64_t);
11596__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f64_x2)))
11597svfloat64x2_t svld1_vnum_f64_x2(svcount_t, float64_t const *, int64_t);
11598__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s64_x2)))
11599svint64x2_t svld1_vnum_s64_x2(svcount_t, int64_t const *, int64_t);
11600__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u16_x2)))
11601svuint16x2_t svld1_vnum_u16_x2(svcount_t, uint16_t const *, int64_t);
11602__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_bf16_x2)))
11603svbfloat16x2_t svld1_vnum_bf16_x2(svcount_t, bfloat16_t const *, int64_t);
11604__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f16_x2)))
11605svfloat16x2_t svld1_vnum_f16_x2(svcount_t, float16_t const *, int64_t);
11606__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s16_x2)))
11607svint16x2_t svld1_vnum_s16_x2(svcount_t, int16_t const *, int64_t);
11608__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u32_x2)))
11609svuint32x2_t svld1_vnum_u32_x2(svcount_t, uint32_t const *, int64_t);
11610__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f32_x2)))
11611svfloat32x2_t svld1_vnum_f32_x2(svcount_t, float32_t const *, int64_t);
11612__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s32_x2)))
11613svint32x2_t svld1_vnum_s32_x2(svcount_t, int32_t const *, int64_t);
11614__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u8_x4)))
11615svuint8x4_t svld1_vnum_u8_x4(svcount_t, uint8_t const *, int64_t);
11616__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s8_x4)))
11617svint8x4_t svld1_vnum_s8_x4(svcount_t, int8_t const *, int64_t);
11618__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_mf8_x4)))
11619svmfloat8x4_t svld1_vnum_mf8_x4(svcount_t, mfloat8_t const *, int64_t);
11620__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u64_x4)))
11621svuint64x4_t svld1_vnum_u64_x4(svcount_t, uint64_t const *, int64_t);
11622__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f64_x4)))
11623svfloat64x4_t svld1_vnum_f64_x4(svcount_t, float64_t const *, int64_t);
11624__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s64_x4)))
11625svint64x4_t svld1_vnum_s64_x4(svcount_t, int64_t const *, int64_t);
11626__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u16_x4)))
11627svuint16x4_t svld1_vnum_u16_x4(svcount_t, uint16_t const *, int64_t);
11628__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_bf16_x4)))
11629svbfloat16x4_t svld1_vnum_bf16_x4(svcount_t, bfloat16_t const *, int64_t);
11630__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f16_x4)))
11631svfloat16x4_t svld1_vnum_f16_x4(svcount_t, float16_t const *, int64_t);
11632__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s16_x4)))
11633svint16x4_t svld1_vnum_s16_x4(svcount_t, int16_t const *, int64_t);
11634__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u32_x4)))
11635svuint32x4_t svld1_vnum_u32_x4(svcount_t, uint32_t const *, int64_t);
11636__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f32_x4)))
11637svfloat32x4_t svld1_vnum_f32_x4(svcount_t, float32_t const *, int64_t);
11638__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s32_x4)))
11639svint32x4_t svld1_vnum_s32_x4(svcount_t, int32_t const *, int64_t);
11640__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u8_x2)))
11641svuint8x2_t svldnt1_u8_x2(svcount_t, uint8_t const *);
11642__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s8_x2)))
11643svint8x2_t svldnt1_s8_x2(svcount_t, int8_t const *);
11644__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_mf8_x2)))
11645svmfloat8x2_t svldnt1_mf8_x2(svcount_t, mfloat8_t const *);
11646__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u64_x2)))
11647svuint64x2_t svldnt1_u64_x2(svcount_t, uint64_t const *);
11648__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f64_x2)))
11649svfloat64x2_t svldnt1_f64_x2(svcount_t, float64_t const *);
11650__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s64_x2)))
11651svint64x2_t svldnt1_s64_x2(svcount_t, int64_t const *);
11652__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u16_x2)))
11653svuint16x2_t svldnt1_u16_x2(svcount_t, uint16_t const *);
11654__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_bf16_x2)))
11655svbfloat16x2_t svldnt1_bf16_x2(svcount_t, bfloat16_t const *);
11656__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f16_x2)))
11657svfloat16x2_t svldnt1_f16_x2(svcount_t, float16_t const *);
11658__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s16_x2)))
11659svint16x2_t svldnt1_s16_x2(svcount_t, int16_t const *);
11660__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u32_x2)))
11661svuint32x2_t svldnt1_u32_x2(svcount_t, uint32_t const *);
11662__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f32_x2)))
11663svfloat32x2_t svldnt1_f32_x2(svcount_t, float32_t const *);
11664__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s32_x2)))
11665svint32x2_t svldnt1_s32_x2(svcount_t, int32_t const *);
11666__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u8_x4)))
11667svuint8x4_t svldnt1_u8_x4(svcount_t, uint8_t const *);
11668__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s8_x4)))
11669svint8x4_t svldnt1_s8_x4(svcount_t, int8_t const *);
11670__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_mf8_x4)))
11671svmfloat8x4_t svldnt1_mf8_x4(svcount_t, mfloat8_t const *);
11672__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u64_x4)))
11673svuint64x4_t svldnt1_u64_x4(svcount_t, uint64_t const *);
11674__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f64_x4)))
11675svfloat64x4_t svldnt1_f64_x4(svcount_t, float64_t const *);
11676__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s64_x4)))
11677svint64x4_t svldnt1_s64_x4(svcount_t, int64_t const *);
11678__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u16_x4)))
11679svuint16x4_t svldnt1_u16_x4(svcount_t, uint16_t const *);
11680__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_bf16_x4)))
11681svbfloat16x4_t svldnt1_bf16_x4(svcount_t, bfloat16_t const *);
11682__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f16_x4)))
11683svfloat16x4_t svldnt1_f16_x4(svcount_t, float16_t const *);
11684__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s16_x4)))
11685svint16x4_t svldnt1_s16_x4(svcount_t, int16_t const *);
11686__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u32_x4)))
11687svuint32x4_t svldnt1_u32_x4(svcount_t, uint32_t const *);
11688__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f32_x4)))
11689svfloat32x4_t svldnt1_f32_x4(svcount_t, float32_t const *);
11690__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s32_x4)))
11691svint32x4_t svldnt1_s32_x4(svcount_t, int32_t const *);
11692__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u8_x2)))
11693svuint8x2_t svldnt1_vnum_u8_x2(svcount_t, uint8_t const *, int64_t);
11694__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s8_x2)))
11695svint8x2_t svldnt1_vnum_s8_x2(svcount_t, int8_t const *, int64_t);
11696__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_mf8_x2)))
11697svmfloat8x2_t svldnt1_vnum_mf8_x2(svcount_t, mfloat8_t const *, int64_t);
11698__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u64_x2)))
11699svuint64x2_t svldnt1_vnum_u64_x2(svcount_t, uint64_t const *, int64_t);
11700__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f64_x2)))
11701svfloat64x2_t svldnt1_vnum_f64_x2(svcount_t, float64_t const *, int64_t);
11702__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s64_x2)))
11703svint64x2_t svldnt1_vnum_s64_x2(svcount_t, int64_t const *, int64_t);
11704__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u16_x2)))
11705svuint16x2_t svldnt1_vnum_u16_x2(svcount_t, uint16_t const *, int64_t);
11706__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_bf16_x2)))
11707svbfloat16x2_t svldnt1_vnum_bf16_x2(svcount_t, bfloat16_t const *, int64_t);
11708__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f16_x2)))
11709svfloat16x2_t svldnt1_vnum_f16_x2(svcount_t, float16_t const *, int64_t);
11710__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s16_x2)))
11711svint16x2_t svldnt1_vnum_s16_x2(svcount_t, int16_t const *, int64_t);
11712__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u32_x2)))
11713svuint32x2_t svldnt1_vnum_u32_x2(svcount_t, uint32_t const *, int64_t);
11714__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f32_x2)))
11715svfloat32x2_t svldnt1_vnum_f32_x2(svcount_t, float32_t const *, int64_t);
11716__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s32_x2)))
11717svint32x2_t svldnt1_vnum_s32_x2(svcount_t, int32_t const *, int64_t);
11718__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u8_x4)))
11719svuint8x4_t svldnt1_vnum_u8_x4(svcount_t, uint8_t const *, int64_t);
11720__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s8_x4)))
11721svint8x4_t svldnt1_vnum_s8_x4(svcount_t, int8_t const *, int64_t);
11722__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_mf8_x4)))
11723svmfloat8x4_t svldnt1_vnum_mf8_x4(svcount_t, mfloat8_t const *, int64_t);
11724__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u64_x4)))
11725svuint64x4_t svldnt1_vnum_u64_x4(svcount_t, uint64_t const *, int64_t);
11726__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f64_x4)))
11727svfloat64x4_t svldnt1_vnum_f64_x4(svcount_t, float64_t const *, int64_t);
11728__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s64_x4)))
11729svint64x4_t svldnt1_vnum_s64_x4(svcount_t, int64_t const *, int64_t);
11730__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u16_x4)))
11731svuint16x4_t svldnt1_vnum_u16_x4(svcount_t, uint16_t const *, int64_t);
11732__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_bf16_x4)))
11733svbfloat16x4_t svldnt1_vnum_bf16_x4(svcount_t, bfloat16_t const *, int64_t);
11734__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f16_x4)))
11735svfloat16x4_t svldnt1_vnum_f16_x4(svcount_t, float16_t const *, int64_t);
11736__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s16_x4)))
11737svint16x4_t svldnt1_vnum_s16_x4(svcount_t, int16_t const *, int64_t);
11738__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u32_x4)))
11739svuint32x4_t svldnt1_vnum_u32_x4(svcount_t, uint32_t const *, int64_t);
11740__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f32_x4)))
11741svfloat32x4_t svldnt1_vnum_f32_x4(svcount_t, float32_t const *, int64_t);
11742__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s32_x4)))
11743svint32x4_t svldnt1_vnum_s32_x4(svcount_t, int32_t const *, int64_t);
11744__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c8)))
11745svbool_t svpext_lane_c8(svcount_t, uint64_t);
11746__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c32)))
11747svbool_t svpext_lane_c32(svcount_t, uint64_t);
11748__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c64)))
11749svbool_t svpext_lane_c64(svcount_t, uint64_t);
11750__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c16)))
11751svbool_t svpext_lane_c16(svcount_t, uint64_t);
11752__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c8_x2)))
11753svboolx2_t svpext_lane_c8_x2(svcount_t, uint64_t);
11754__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c32_x2)))
11755svboolx2_t svpext_lane_c32_x2(svcount_t, uint64_t);
11756__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c64_x2)))
11757svboolx2_t svpext_lane_c64_x2(svcount_t, uint64_t);
11758__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c16_x2)))
11759svboolx2_t svpext_lane_c16_x2(svcount_t, uint64_t);
11760__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpfalse_c)))
11761svcount_t svpfalse_c(void);
11762__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpsel_lane_c16)))
11763svcount_t svpsel_lane_c16(svcount_t, svbool_t, uint32_t);
11764__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpsel_lane_c32)))
11765svcount_t svpsel_lane_c32(svcount_t, svbool_t, uint32_t);
11766__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpsel_lane_c64)))
11767svcount_t svpsel_lane_c64(svcount_t, svbool_t, uint32_t);
11768__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpsel_lane_c8)))
11769svcount_t svpsel_lane_c8(svcount_t, svbool_t, uint32_t);
11770__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svptrue_c8)))
11771svcount_t svptrue_c8(void);
11772__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svptrue_c32)))
11773svcount_t svptrue_c32(void);
11774__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svptrue_c64)))
11775svcount_t svptrue_c64(void);
11776__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svptrue_c16)))
11777svcount_t svptrue_c16(void);
11778__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svreinterpret_b)))
11779svbool_t svreinterpret_b(svcount_t);
11780__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svreinterpret_c)))
11781svcount_t svreinterpret_c(svbool_t);
11782__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u8_x2)))
11783void svst1_u8_x2(svcount_t, uint8_t *, svuint8x2_t);
11784__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s8_x2)))
11785void svst1_s8_x2(svcount_t, int8_t *, svint8x2_t);
11786__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_mf8_x2)))
11787void svst1_mf8_x2(svcount_t, mfloat8_t *, svmfloat8x2_t);
11788__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u64_x2)))
11789void svst1_u64_x2(svcount_t, uint64_t *, svuint64x2_t);
11790__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f64_x2)))
11791void svst1_f64_x2(svcount_t, float64_t *, svfloat64x2_t);
11792__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s64_x2)))
11793void svst1_s64_x2(svcount_t, int64_t *, svint64x2_t);
11794__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u16_x2)))
11795void svst1_u16_x2(svcount_t, uint16_t *, svuint16x2_t);
11796__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_bf16_x2)))
11797void svst1_bf16_x2(svcount_t, bfloat16_t *, svbfloat16x2_t);
11798__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f16_x2)))
11799void svst1_f16_x2(svcount_t, float16_t *, svfloat16x2_t);
11800__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s16_x2)))
11801void svst1_s16_x2(svcount_t, int16_t *, svint16x2_t);
11802__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u32_x2)))
11803void svst1_u32_x2(svcount_t, uint32_t *, svuint32x2_t);
11804__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f32_x2)))
11805void svst1_f32_x2(svcount_t, float32_t *, svfloat32x2_t);
11806__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s32_x2)))
11807void svst1_s32_x2(svcount_t, int32_t *, svint32x2_t);
11808__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u8_x4)))
11809void svst1_u8_x4(svcount_t, uint8_t *, svuint8x4_t);
11810__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s8_x4)))
11811void svst1_s8_x4(svcount_t, int8_t *, svint8x4_t);
11812__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_mf8_x4)))
11813void svst1_mf8_x4(svcount_t, mfloat8_t *, svmfloat8x4_t);
11814__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u64_x4)))
11815void svst1_u64_x4(svcount_t, uint64_t *, svuint64x4_t);
11816__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f64_x4)))
11817void svst1_f64_x4(svcount_t, float64_t *, svfloat64x4_t);
11818__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s64_x4)))
11819void svst1_s64_x4(svcount_t, int64_t *, svint64x4_t);
11820__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u16_x4)))
11821void svst1_u16_x4(svcount_t, uint16_t *, svuint16x4_t);
11822__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_bf16_x4)))
11823void svst1_bf16_x4(svcount_t, bfloat16_t *, svbfloat16x4_t);
11824__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f16_x4)))
11825void svst1_f16_x4(svcount_t, float16_t *, svfloat16x4_t);
11826__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s16_x4)))
11827void svst1_s16_x4(svcount_t, int16_t *, svint16x4_t);
11828__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u32_x4)))
11829void svst1_u32_x4(svcount_t, uint32_t *, svuint32x4_t);
11830__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f32_x4)))
11831void svst1_f32_x4(svcount_t, float32_t *, svfloat32x4_t);
11832__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s32_x4)))
11833void svst1_s32_x4(svcount_t, int32_t *, svint32x4_t);
11834__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u8_x2)))
11835void svst1_vnum_u8_x2(svcount_t, uint8_t *, int64_t, svuint8x2_t);
11836__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s8_x2)))
11837void svst1_vnum_s8_x2(svcount_t, int8_t *, int64_t, svint8x2_t);
11838__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_mf8_x2)))
11839void svst1_vnum_mf8_x2(svcount_t, mfloat8_t *, int64_t, svmfloat8x2_t);
11840__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u64_x2)))
11841void svst1_vnum_u64_x2(svcount_t, uint64_t *, int64_t, svuint64x2_t);
11842__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f64_x2)))
11843void svst1_vnum_f64_x2(svcount_t, float64_t *, int64_t, svfloat64x2_t);
11844__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s64_x2)))
11845void svst1_vnum_s64_x2(svcount_t, int64_t *, int64_t, svint64x2_t);
11846__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u16_x2)))
11847void svst1_vnum_u16_x2(svcount_t, uint16_t *, int64_t, svuint16x2_t);
11848__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_bf16_x2)))
11849void svst1_vnum_bf16_x2(svcount_t, bfloat16_t *, int64_t, svbfloat16x2_t);
11850__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f16_x2)))
11851void svst1_vnum_f16_x2(svcount_t, float16_t *, int64_t, svfloat16x2_t);
11852__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s16_x2)))
11853void svst1_vnum_s16_x2(svcount_t, int16_t *, int64_t, svint16x2_t);
11854__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u32_x2)))
11855void svst1_vnum_u32_x2(svcount_t, uint32_t *, int64_t, svuint32x2_t);
11856__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f32_x2)))
11857void svst1_vnum_f32_x2(svcount_t, float32_t *, int64_t, svfloat32x2_t);
11858__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s32_x2)))
11859void svst1_vnum_s32_x2(svcount_t, int32_t *, int64_t, svint32x2_t);
11860__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u8_x4)))
11861void svst1_vnum_u8_x4(svcount_t, uint8_t *, int64_t, svuint8x4_t);
11862__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s8_x4)))
11863void svst1_vnum_s8_x4(svcount_t, int8_t *, int64_t, svint8x4_t);
11864__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_mf8_x4)))
11865void svst1_vnum_mf8_x4(svcount_t, mfloat8_t *, int64_t, svmfloat8x4_t);
11866__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u64_x4)))
11867void svst1_vnum_u64_x4(svcount_t, uint64_t *, int64_t, svuint64x4_t);
11868__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f64_x4)))
11869void svst1_vnum_f64_x4(svcount_t, float64_t *, int64_t, svfloat64x4_t);
11870__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s64_x4)))
11871void svst1_vnum_s64_x4(svcount_t, int64_t *, int64_t, svint64x4_t);
11872__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u16_x4)))
11873void svst1_vnum_u16_x4(svcount_t, uint16_t *, int64_t, svuint16x4_t);
11874__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_bf16_x4)))
11875void svst1_vnum_bf16_x4(svcount_t, bfloat16_t *, int64_t, svbfloat16x4_t);
11876__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f16_x4)))
11877void svst1_vnum_f16_x4(svcount_t, float16_t *, int64_t, svfloat16x4_t);
11878__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s16_x4)))
11879void svst1_vnum_s16_x4(svcount_t, int16_t *, int64_t, svint16x4_t);
11880__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u32_x4)))
11881void svst1_vnum_u32_x4(svcount_t, uint32_t *, int64_t, svuint32x4_t);
11882__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f32_x4)))
11883void svst1_vnum_f32_x4(svcount_t, float32_t *, int64_t, svfloat32x4_t);
11884__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s32_x4)))
11885void svst1_vnum_s32_x4(svcount_t, int32_t *, int64_t, svint32x4_t);
11886__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u8_x2)))
11887void svstnt1_u8_x2(svcount_t, uint8_t *, svuint8x2_t);
11888__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s8_x2)))
11889void svstnt1_s8_x2(svcount_t, int8_t *, svint8x2_t);
11890__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_mf8_x2)))
11891void svstnt1_mf8_x2(svcount_t, mfloat8_t *, svmfloat8x2_t);
11892__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u64_x2)))
11893void svstnt1_u64_x2(svcount_t, uint64_t *, svuint64x2_t);
11894__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f64_x2)))
11895void svstnt1_f64_x2(svcount_t, float64_t *, svfloat64x2_t);
11896__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s64_x2)))
11897void svstnt1_s64_x2(svcount_t, int64_t *, svint64x2_t);
11898__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u16_x2)))
11899void svstnt1_u16_x2(svcount_t, uint16_t *, svuint16x2_t);
11900__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_bf16_x2)))
11901void svstnt1_bf16_x2(svcount_t, bfloat16_t *, svbfloat16x2_t);
11902__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f16_x2)))
11903void svstnt1_f16_x2(svcount_t, float16_t *, svfloat16x2_t);
11904__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s16_x2)))
11905void svstnt1_s16_x2(svcount_t, int16_t *, svint16x2_t);
11906__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u32_x2)))
11907void svstnt1_u32_x2(svcount_t, uint32_t *, svuint32x2_t);
11908__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f32_x2)))
11909void svstnt1_f32_x2(svcount_t, float32_t *, svfloat32x2_t);
11910__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s32_x2)))
11911void svstnt1_s32_x2(svcount_t, int32_t *, svint32x2_t);
11912__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u8_x4)))
11913void svstnt1_u8_x4(svcount_t, uint8_t *, svuint8x4_t);
11914__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s8_x4)))
11915void svstnt1_s8_x4(svcount_t, int8_t *, svint8x4_t);
11916__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_mf8_x4)))
11917void svstnt1_mf8_x4(svcount_t, mfloat8_t *, svmfloat8x4_t);
11918__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u64_x4)))
11919void svstnt1_u64_x4(svcount_t, uint64_t *, svuint64x4_t);
11920__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f64_x4)))
11921void svstnt1_f64_x4(svcount_t, float64_t *, svfloat64x4_t);
11922__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s64_x4)))
11923void svstnt1_s64_x4(svcount_t, int64_t *, svint64x4_t);
11924__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u16_x4)))
11925void svstnt1_u16_x4(svcount_t, uint16_t *, svuint16x4_t);
11926__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_bf16_x4)))
11927void svstnt1_bf16_x4(svcount_t, bfloat16_t *, svbfloat16x4_t);
11928__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f16_x4)))
11929void svstnt1_f16_x4(svcount_t, float16_t *, svfloat16x4_t);
11930__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s16_x4)))
11931void svstnt1_s16_x4(svcount_t, int16_t *, svint16x4_t);
11932__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u32_x4)))
11933void svstnt1_u32_x4(svcount_t, uint32_t *, svuint32x4_t);
11934__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f32_x4)))
11935void svstnt1_f32_x4(svcount_t, float32_t *, svfloat32x4_t);
11936__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s32_x4)))
11937void svstnt1_s32_x4(svcount_t, int32_t *, svint32x4_t);
11938__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u8_x2)))
11939void svstnt1_vnum_u8_x2(svcount_t, uint8_t *, int64_t, svuint8x2_t);
11940__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s8_x2)))
11941void svstnt1_vnum_s8_x2(svcount_t, int8_t *, int64_t, svint8x2_t);
11942__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_mf8_x2)))
11943void svstnt1_vnum_mf8_x2(svcount_t, mfloat8_t *, int64_t, svmfloat8x2_t);
11944__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u64_x2)))
11945void svstnt1_vnum_u64_x2(svcount_t, uint64_t *, int64_t, svuint64x2_t);
11946__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f64_x2)))
11947void svstnt1_vnum_f64_x2(svcount_t, float64_t *, int64_t, svfloat64x2_t);
11948__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s64_x2)))
11949void svstnt1_vnum_s64_x2(svcount_t, int64_t *, int64_t, svint64x2_t);
11950__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u16_x2)))
11951void svstnt1_vnum_u16_x2(svcount_t, uint16_t *, int64_t, svuint16x2_t);
11952__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_bf16_x2)))
11953void svstnt1_vnum_bf16_x2(svcount_t, bfloat16_t *, int64_t, svbfloat16x2_t);
11954__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f16_x2)))
11955void svstnt1_vnum_f16_x2(svcount_t, float16_t *, int64_t, svfloat16x2_t);
11956__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s16_x2)))
11957void svstnt1_vnum_s16_x2(svcount_t, int16_t *, int64_t, svint16x2_t);
11958__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u32_x2)))
11959void svstnt1_vnum_u32_x2(svcount_t, uint32_t *, int64_t, svuint32x2_t);
11960__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f32_x2)))
11961void svstnt1_vnum_f32_x2(svcount_t, float32_t *, int64_t, svfloat32x2_t);
11962__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s32_x2)))
11963void svstnt1_vnum_s32_x2(svcount_t, int32_t *, int64_t, svint32x2_t);
11964__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u8_x4)))
11965void svstnt1_vnum_u8_x4(svcount_t, uint8_t *, int64_t, svuint8x4_t);
11966__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s8_x4)))
11967void svstnt1_vnum_s8_x4(svcount_t, int8_t *, int64_t, svint8x4_t);
11968__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_mf8_x4)))
11969void svstnt1_vnum_mf8_x4(svcount_t, mfloat8_t *, int64_t, svmfloat8x4_t);
11970__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u64_x4)))
11971void svstnt1_vnum_u64_x4(svcount_t, uint64_t *, int64_t, svuint64x4_t);
11972__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f64_x4)))
11973void svstnt1_vnum_f64_x4(svcount_t, float64_t *, int64_t, svfloat64x4_t);
11974__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s64_x4)))
11975void svstnt1_vnum_s64_x4(svcount_t, int64_t *, int64_t, svint64x4_t);
11976__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u16_x4)))
11977void svstnt1_vnum_u16_x4(svcount_t, uint16_t *, int64_t, svuint16x4_t);
11978__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_bf16_x4)))
11979void svstnt1_vnum_bf16_x4(svcount_t, bfloat16_t *, int64_t, svbfloat16x4_t);
11980__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f16_x4)))
11981void svstnt1_vnum_f16_x4(svcount_t, float16_t *, int64_t, svfloat16x4_t);
11982__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s16_x4)))
11983void svstnt1_vnum_s16_x4(svcount_t, int16_t *, int64_t, svint16x4_t);
11984__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u32_x4)))
11985void svstnt1_vnum_u32_x4(svcount_t, uint32_t *, int64_t, svuint32x4_t);
11986__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f32_x4)))
11987void svstnt1_vnum_f32_x4(svcount_t, float32_t *, int64_t, svfloat32x4_t);
11988__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s32_x4)))
11989void svstnt1_vnum_s32_x4(svcount_t, int32_t *, int64_t, svint32x4_t);
11990__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c8_s64)))
11991svcount_t svwhilege_c8_s64(int64_t, int64_t, uint64_t);
11992__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c32_s64)))
11993svcount_t svwhilege_c32_s64(int64_t, int64_t, uint64_t);
11994__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c64_s64)))
11995svcount_t svwhilege_c64_s64(int64_t, int64_t, uint64_t);
11996__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c16_s64)))
11997svcount_t svwhilege_c16_s64(int64_t, int64_t, uint64_t);
11998__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c8_u64)))
11999svcount_t svwhilege_c8_u64(uint64_t, uint64_t, uint64_t);
12000__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c32_u64)))
12001svcount_t svwhilege_c32_u64(uint64_t, uint64_t, uint64_t);
12002__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c64_u64)))
12003svcount_t svwhilege_c64_u64(uint64_t, uint64_t, uint64_t);
12004__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c16_u64)))
12005svcount_t svwhilege_c16_u64(uint64_t, uint64_t, uint64_t);
12006__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c8_s64)))
12007svcount_t svwhilegt_c8_s64(int64_t, int64_t, uint64_t);
12008__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c32_s64)))
12009svcount_t svwhilegt_c32_s64(int64_t, int64_t, uint64_t);
12010__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c64_s64)))
12011svcount_t svwhilegt_c64_s64(int64_t, int64_t, uint64_t);
12012__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c16_s64)))
12013svcount_t svwhilegt_c16_s64(int64_t, int64_t, uint64_t);
12014__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c8_u64)))
12015svcount_t svwhilegt_c8_u64(uint64_t, uint64_t, uint64_t);
12016__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c32_u64)))
12017svcount_t svwhilegt_c32_u64(uint64_t, uint64_t, uint64_t);
12018__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c64_u64)))
12019svcount_t svwhilegt_c64_u64(uint64_t, uint64_t, uint64_t);
12020__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c16_u64)))
12021svcount_t svwhilegt_c16_u64(uint64_t, uint64_t, uint64_t);
12022__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c8_s64)))
12023svcount_t svwhilele_c8_s64(int64_t, int64_t, uint64_t);
12024__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c32_s64)))
12025svcount_t svwhilele_c32_s64(int64_t, int64_t, uint64_t);
12026__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c64_s64)))
12027svcount_t svwhilele_c64_s64(int64_t, int64_t, uint64_t);
12028__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c16_s64)))
12029svcount_t svwhilele_c16_s64(int64_t, int64_t, uint64_t);
12030__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c8_u64)))
12031svcount_t svwhilele_c8_u64(uint64_t, uint64_t, uint64_t);
12032__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c32_u64)))
12033svcount_t svwhilele_c32_u64(uint64_t, uint64_t, uint64_t);
12034__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c64_u64)))
12035svcount_t svwhilele_c64_u64(uint64_t, uint64_t, uint64_t);
12036__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c16_u64)))
12037svcount_t svwhilele_c16_u64(uint64_t, uint64_t, uint64_t);
12038__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c8_u64)))
12039svcount_t svwhilelt_c8_u64(uint64_t, uint64_t, uint64_t);
12040__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c32_u64)))
12041svcount_t svwhilelt_c32_u64(uint64_t, uint64_t, uint64_t);
12042__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c64_u64)))
12043svcount_t svwhilelt_c64_u64(uint64_t, uint64_t, uint64_t);
12044__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c16_u64)))
12045svcount_t svwhilelt_c16_u64(uint64_t, uint64_t, uint64_t);
12046__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c8_s64)))
12047svcount_t svwhilelt_c8_s64(int64_t, int64_t, uint64_t);
12048__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c32_s64)))
12049svcount_t svwhilelt_c32_s64(int64_t, int64_t, uint64_t);
12050__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c64_s64)))
12051svcount_t svwhilelt_c64_s64(int64_t, int64_t, uint64_t);
12052__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c16_s64)))
12053svcount_t svwhilelt_c16_s64(int64_t, int64_t, uint64_t);
12054__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u8_x2)))
12055svuint8x2_t svld1_x2(svcount_t, uint8_t const *);
12056__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s8_x2)))
12057svint8x2_t svld1_x2(svcount_t, int8_t const *);
12058__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_mf8_x2)))
12059svmfloat8x2_t svld1_x2(svcount_t, mfloat8_t const *);
12060__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u64_x2)))
12061svuint64x2_t svld1_x2(svcount_t, uint64_t const *);
12062__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f64_x2)))
12063svfloat64x2_t svld1_x2(svcount_t, float64_t const *);
12064__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s64_x2)))
12065svint64x2_t svld1_x2(svcount_t, int64_t const *);
12066__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u16_x2)))
12067svuint16x2_t svld1_x2(svcount_t, uint16_t const *);
12068__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_bf16_x2)))
12069svbfloat16x2_t svld1_x2(svcount_t, bfloat16_t const *);
12070__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f16_x2)))
12071svfloat16x2_t svld1_x2(svcount_t, float16_t const *);
12072__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s16_x2)))
12073svint16x2_t svld1_x2(svcount_t, int16_t const *);
12074__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u32_x2)))
12075svuint32x2_t svld1_x2(svcount_t, uint32_t const *);
12076__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f32_x2)))
12077svfloat32x2_t svld1_x2(svcount_t, float32_t const *);
12078__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s32_x2)))
12079svint32x2_t svld1_x2(svcount_t, int32_t const *);
12080__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u8_x4)))
12081svuint8x4_t svld1_x4(svcount_t, uint8_t const *);
12082__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s8_x4)))
12083svint8x4_t svld1_x4(svcount_t, int8_t const *);
12084__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_mf8_x4)))
12085svmfloat8x4_t svld1_x4(svcount_t, mfloat8_t const *);
12086__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u64_x4)))
12087svuint64x4_t svld1_x4(svcount_t, uint64_t const *);
12088__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f64_x4)))
12089svfloat64x4_t svld1_x4(svcount_t, float64_t const *);
12090__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s64_x4)))
12091svint64x4_t svld1_x4(svcount_t, int64_t const *);
12092__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u16_x4)))
12093svuint16x4_t svld1_x4(svcount_t, uint16_t const *);
12094__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_bf16_x4)))
12095svbfloat16x4_t svld1_x4(svcount_t, bfloat16_t const *);
12096__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f16_x4)))
12097svfloat16x4_t svld1_x4(svcount_t, float16_t const *);
12098__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s16_x4)))
12099svint16x4_t svld1_x4(svcount_t, int16_t const *);
12100__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u32_x4)))
12101svuint32x4_t svld1_x4(svcount_t, uint32_t const *);
12102__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f32_x4)))
12103svfloat32x4_t svld1_x4(svcount_t, float32_t const *);
12104__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s32_x4)))
12105svint32x4_t svld1_x4(svcount_t, int32_t const *);
12106__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u8_x2)))
12107svuint8x2_t svld1_vnum_x2(svcount_t, uint8_t const *, int64_t);
12108__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s8_x2)))
12109svint8x2_t svld1_vnum_x2(svcount_t, int8_t const *, int64_t);
12110__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_mf8_x2)))
12111svmfloat8x2_t svld1_vnum_x2(svcount_t, mfloat8_t const *, int64_t);
12112__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u64_x2)))
12113svuint64x2_t svld1_vnum_x2(svcount_t, uint64_t const *, int64_t);
12114__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f64_x2)))
12115svfloat64x2_t svld1_vnum_x2(svcount_t, float64_t const *, int64_t);
12116__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s64_x2)))
12117svint64x2_t svld1_vnum_x2(svcount_t, int64_t const *, int64_t);
12118__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u16_x2)))
12119svuint16x2_t svld1_vnum_x2(svcount_t, uint16_t const *, int64_t);
12120__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_bf16_x2)))
12121svbfloat16x2_t svld1_vnum_x2(svcount_t, bfloat16_t const *, int64_t);
12122__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f16_x2)))
12123svfloat16x2_t svld1_vnum_x2(svcount_t, float16_t const *, int64_t);
12124__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s16_x2)))
12125svint16x2_t svld1_vnum_x2(svcount_t, int16_t const *, int64_t);
12126__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u32_x2)))
12127svuint32x2_t svld1_vnum_x2(svcount_t, uint32_t const *, int64_t);
12128__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f32_x2)))
12129svfloat32x2_t svld1_vnum_x2(svcount_t, float32_t const *, int64_t);
12130__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s32_x2)))
12131svint32x2_t svld1_vnum_x2(svcount_t, int32_t const *, int64_t);
12132__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u8_x4)))
12133svuint8x4_t svld1_vnum_x4(svcount_t, uint8_t const *, int64_t);
12134__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s8_x4)))
12135svint8x4_t svld1_vnum_x4(svcount_t, int8_t const *, int64_t);
12136__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_mf8_x4)))
12137svmfloat8x4_t svld1_vnum_x4(svcount_t, mfloat8_t const *, int64_t);
12138__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u64_x4)))
12139svuint64x4_t svld1_vnum_x4(svcount_t, uint64_t const *, int64_t);
12140__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f64_x4)))
12141svfloat64x4_t svld1_vnum_x4(svcount_t, float64_t const *, int64_t);
12142__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s64_x4)))
12143svint64x4_t svld1_vnum_x4(svcount_t, int64_t const *, int64_t);
12144__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u16_x4)))
12145svuint16x4_t svld1_vnum_x4(svcount_t, uint16_t const *, int64_t);
12146__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_bf16_x4)))
12147svbfloat16x4_t svld1_vnum_x4(svcount_t, bfloat16_t const *, int64_t);
12148__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f16_x4)))
12149svfloat16x4_t svld1_vnum_x4(svcount_t, float16_t const *, int64_t);
12150__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s16_x4)))
12151svint16x4_t svld1_vnum_x4(svcount_t, int16_t const *, int64_t);
12152__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u32_x4)))
12153svuint32x4_t svld1_vnum_x4(svcount_t, uint32_t const *, int64_t);
12154__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f32_x4)))
12155svfloat32x4_t svld1_vnum_x4(svcount_t, float32_t const *, int64_t);
12156__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s32_x4)))
12157svint32x4_t svld1_vnum_x4(svcount_t, int32_t const *, int64_t);
12158__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u8_x2)))
12159svuint8x2_t svldnt1_x2(svcount_t, uint8_t const *);
12160__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s8_x2)))
12161svint8x2_t svldnt1_x2(svcount_t, int8_t const *);
12162__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_mf8_x2)))
12163svmfloat8x2_t svldnt1_x2(svcount_t, mfloat8_t const *);
12164__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u64_x2)))
12165svuint64x2_t svldnt1_x2(svcount_t, uint64_t const *);
12166__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f64_x2)))
12167svfloat64x2_t svldnt1_x2(svcount_t, float64_t const *);
12168__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s64_x2)))
12169svint64x2_t svldnt1_x2(svcount_t, int64_t const *);
12170__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u16_x2)))
12171svuint16x2_t svldnt1_x2(svcount_t, uint16_t const *);
12172__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_bf16_x2)))
12173svbfloat16x2_t svldnt1_x2(svcount_t, bfloat16_t const *);
12174__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f16_x2)))
12175svfloat16x2_t svldnt1_x2(svcount_t, float16_t const *);
12176__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s16_x2)))
12177svint16x2_t svldnt1_x2(svcount_t, int16_t const *);
12178__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u32_x2)))
12179svuint32x2_t svldnt1_x2(svcount_t, uint32_t const *);
12180__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f32_x2)))
12181svfloat32x2_t svldnt1_x2(svcount_t, float32_t const *);
12182__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s32_x2)))
12183svint32x2_t svldnt1_x2(svcount_t, int32_t const *);
12184__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u8_x4)))
12185svuint8x4_t svldnt1_x4(svcount_t, uint8_t const *);
12186__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s8_x4)))
12187svint8x4_t svldnt1_x4(svcount_t, int8_t const *);
12188__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_mf8_x4)))
12189svmfloat8x4_t svldnt1_x4(svcount_t, mfloat8_t const *);
12190__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u64_x4)))
12191svuint64x4_t svldnt1_x4(svcount_t, uint64_t const *);
12192__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f64_x4)))
12193svfloat64x4_t svldnt1_x4(svcount_t, float64_t const *);
12194__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s64_x4)))
12195svint64x4_t svldnt1_x4(svcount_t, int64_t const *);
12196__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u16_x4)))
12197svuint16x4_t svldnt1_x4(svcount_t, uint16_t const *);
12198__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_bf16_x4)))
12199svbfloat16x4_t svldnt1_x4(svcount_t, bfloat16_t const *);
12200__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f16_x4)))
12201svfloat16x4_t svldnt1_x4(svcount_t, float16_t const *);
12202__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s16_x4)))
12203svint16x4_t svldnt1_x4(svcount_t, int16_t const *);
12204__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u32_x4)))
12205svuint32x4_t svldnt1_x4(svcount_t, uint32_t const *);
12206__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f32_x4)))
12207svfloat32x4_t svldnt1_x4(svcount_t, float32_t const *);
12208__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s32_x4)))
12209svint32x4_t svldnt1_x4(svcount_t, int32_t const *);
12210__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u8_x2)))
12211svuint8x2_t svldnt1_vnum_x2(svcount_t, uint8_t const *, int64_t);
12212__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s8_x2)))
12213svint8x2_t svldnt1_vnum_x2(svcount_t, int8_t const *, int64_t);
12214__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_mf8_x2)))
12215svmfloat8x2_t svldnt1_vnum_x2(svcount_t, mfloat8_t const *, int64_t);
12216__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u64_x2)))
12217svuint64x2_t svldnt1_vnum_x2(svcount_t, uint64_t const *, int64_t);
12218__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f64_x2)))
12219svfloat64x2_t svldnt1_vnum_x2(svcount_t, float64_t const *, int64_t);
12220__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s64_x2)))
12221svint64x2_t svldnt1_vnum_x2(svcount_t, int64_t const *, int64_t);
12222__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u16_x2)))
12223svuint16x2_t svldnt1_vnum_x2(svcount_t, uint16_t const *, int64_t);
12224__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_bf16_x2)))
12225svbfloat16x2_t svldnt1_vnum_x2(svcount_t, bfloat16_t const *, int64_t);
12226__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f16_x2)))
12227svfloat16x2_t svldnt1_vnum_x2(svcount_t, float16_t const *, int64_t);
12228__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s16_x2)))
12229svint16x2_t svldnt1_vnum_x2(svcount_t, int16_t const *, int64_t);
12230__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u32_x2)))
12231svuint32x2_t svldnt1_vnum_x2(svcount_t, uint32_t const *, int64_t);
12232__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f32_x2)))
12233svfloat32x2_t svldnt1_vnum_x2(svcount_t, float32_t const *, int64_t);
12234__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s32_x2)))
12235svint32x2_t svldnt1_vnum_x2(svcount_t, int32_t const *, int64_t);
12236__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u8_x4)))
12237svuint8x4_t svldnt1_vnum_x4(svcount_t, uint8_t const *, int64_t);
12238__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s8_x4)))
12239svint8x4_t svldnt1_vnum_x4(svcount_t, int8_t const *, int64_t);
12240__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_mf8_x4)))
12241svmfloat8x4_t svldnt1_vnum_x4(svcount_t, mfloat8_t const *, int64_t);
12242__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u64_x4)))
12243svuint64x4_t svldnt1_vnum_x4(svcount_t, uint64_t const *, int64_t);
12244__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f64_x4)))
12245svfloat64x4_t svldnt1_vnum_x4(svcount_t, float64_t const *, int64_t);
12246__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s64_x4)))
12247svint64x4_t svldnt1_vnum_x4(svcount_t, int64_t const *, int64_t);
12248__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u16_x4)))
12249svuint16x4_t svldnt1_vnum_x4(svcount_t, uint16_t const *, int64_t);
12250__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_bf16_x4)))
12251svbfloat16x4_t svldnt1_vnum_x4(svcount_t, bfloat16_t const *, int64_t);
12252__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f16_x4)))
12253svfloat16x4_t svldnt1_vnum_x4(svcount_t, float16_t const *, int64_t);
12254__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s16_x4)))
12255svint16x4_t svldnt1_vnum_x4(svcount_t, int16_t const *, int64_t);
12256__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u32_x4)))
12257svuint32x4_t svldnt1_vnum_x4(svcount_t, uint32_t const *, int64_t);
12258__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f32_x4)))
12259svfloat32x4_t svldnt1_vnum_x4(svcount_t, float32_t const *, int64_t);
12260__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s32_x4)))
12261svint32x4_t svldnt1_vnum_x4(svcount_t, int32_t const *, int64_t);
12262__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svreinterpret_b)))
12263svbool_t svreinterpret(svcount_t);
12264__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svreinterpret_c)))
12265svcount_t svreinterpret(svbool_t);
12266__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u8_x2)))
12267void svst1(svcount_t, uint8_t *, svuint8x2_t);
12268__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s8_x2)))
12269void svst1(svcount_t, int8_t *, svint8x2_t);
12270__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_mf8_x2)))
12271void svst1(svcount_t, mfloat8_t *, svmfloat8x2_t);
12272__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u64_x2)))
12273void svst1(svcount_t, uint64_t *, svuint64x2_t);
12274__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f64_x2)))
12275void svst1(svcount_t, float64_t *, svfloat64x2_t);
12276__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s64_x2)))
12277void svst1(svcount_t, int64_t *, svint64x2_t);
12278__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u16_x2)))
12279void svst1(svcount_t, uint16_t *, svuint16x2_t);
12280__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_bf16_x2)))
12281void svst1(svcount_t, bfloat16_t *, svbfloat16x2_t);
12282__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f16_x2)))
12283void svst1(svcount_t, float16_t *, svfloat16x2_t);
12284__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s16_x2)))
12285void svst1(svcount_t, int16_t *, svint16x2_t);
12286__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u32_x2)))
12287void svst1(svcount_t, uint32_t *, svuint32x2_t);
12288__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f32_x2)))
12289void svst1(svcount_t, float32_t *, svfloat32x2_t);
12290__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s32_x2)))
12291void svst1(svcount_t, int32_t *, svint32x2_t);
12292__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u8_x4)))
12293void svst1(svcount_t, uint8_t *, svuint8x4_t);
12294__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s8_x4)))
12295void svst1(svcount_t, int8_t *, svint8x4_t);
12296__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_mf8_x4)))
12297void svst1(svcount_t, mfloat8_t *, svmfloat8x4_t);
12298__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u64_x4)))
12299void svst1(svcount_t, uint64_t *, svuint64x4_t);
12300__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f64_x4)))
12301void svst1(svcount_t, float64_t *, svfloat64x4_t);
12302__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s64_x4)))
12303void svst1(svcount_t, int64_t *, svint64x4_t);
12304__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u16_x4)))
12305void svst1(svcount_t, uint16_t *, svuint16x4_t);
12306__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_bf16_x4)))
12307void svst1(svcount_t, bfloat16_t *, svbfloat16x4_t);
12308__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f16_x4)))
12309void svst1(svcount_t, float16_t *, svfloat16x4_t);
12310__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s16_x4)))
12311void svst1(svcount_t, int16_t *, svint16x4_t);
12312__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u32_x4)))
12313void svst1(svcount_t, uint32_t *, svuint32x4_t);
12314__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f32_x4)))
12315void svst1(svcount_t, float32_t *, svfloat32x4_t);
12316__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s32_x4)))
12317void svst1(svcount_t, int32_t *, svint32x4_t);
12318__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u8_x2)))
12319void svst1_vnum(svcount_t, uint8_t *, int64_t, svuint8x2_t);
12320__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s8_x2)))
12321void svst1_vnum(svcount_t, int8_t *, int64_t, svint8x2_t);
12322__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_mf8_x2)))
12323void svst1_vnum(svcount_t, mfloat8_t *, int64_t, svmfloat8x2_t);
12324__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u64_x2)))
12325void svst1_vnum(svcount_t, uint64_t *, int64_t, svuint64x2_t);
12326__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f64_x2)))
12327void svst1_vnum(svcount_t, float64_t *, int64_t, svfloat64x2_t);
12328__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s64_x2)))
12329void svst1_vnum(svcount_t, int64_t *, int64_t, svint64x2_t);
12330__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u16_x2)))
12331void svst1_vnum(svcount_t, uint16_t *, int64_t, svuint16x2_t);
12332__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_bf16_x2)))
12333void svst1_vnum(svcount_t, bfloat16_t *, int64_t, svbfloat16x2_t);
12334__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f16_x2)))
12335void svst1_vnum(svcount_t, float16_t *, int64_t, svfloat16x2_t);
12336__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s16_x2)))
12337void svst1_vnum(svcount_t, int16_t *, int64_t, svint16x2_t);
12338__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u32_x2)))
12339void svst1_vnum(svcount_t, uint32_t *, int64_t, svuint32x2_t);
12340__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f32_x2)))
12341void svst1_vnum(svcount_t, float32_t *, int64_t, svfloat32x2_t);
12342__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s32_x2)))
12343void svst1_vnum(svcount_t, int32_t *, int64_t, svint32x2_t);
12344__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u8_x4)))
12345void svst1_vnum(svcount_t, uint8_t *, int64_t, svuint8x4_t);
12346__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s8_x4)))
12347void svst1_vnum(svcount_t, int8_t *, int64_t, svint8x4_t);
12348__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_mf8_x4)))
12349void svst1_vnum(svcount_t, mfloat8_t *, int64_t, svmfloat8x4_t);
12350__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u64_x4)))
12351void svst1_vnum(svcount_t, uint64_t *, int64_t, svuint64x4_t);
12352__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f64_x4)))
12353void svst1_vnum(svcount_t, float64_t *, int64_t, svfloat64x4_t);
12354__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s64_x4)))
12355void svst1_vnum(svcount_t, int64_t *, int64_t, svint64x4_t);
12356__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u16_x4)))
12357void svst1_vnum(svcount_t, uint16_t *, int64_t, svuint16x4_t);
12358__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_bf16_x4)))
12359void svst1_vnum(svcount_t, bfloat16_t *, int64_t, svbfloat16x4_t);
12360__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f16_x4)))
12361void svst1_vnum(svcount_t, float16_t *, int64_t, svfloat16x4_t);
12362__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s16_x4)))
12363void svst1_vnum(svcount_t, int16_t *, int64_t, svint16x4_t);
12364__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u32_x4)))
12365void svst1_vnum(svcount_t, uint32_t *, int64_t, svuint32x4_t);
12366__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f32_x4)))
12367void svst1_vnum(svcount_t, float32_t *, int64_t, svfloat32x4_t);
12368__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s32_x4)))
12369void svst1_vnum(svcount_t, int32_t *, int64_t, svint32x4_t);
12370__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u8_x2)))
12371void svstnt1(svcount_t, uint8_t *, svuint8x2_t);
12372__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s8_x2)))
12373void svstnt1(svcount_t, int8_t *, svint8x2_t);
12374__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_mf8_x2)))
12375void svstnt1(svcount_t, mfloat8_t *, svmfloat8x2_t);
12376__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u64_x2)))
12377void svstnt1(svcount_t, uint64_t *, svuint64x2_t);
12378__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f64_x2)))
12379void svstnt1(svcount_t, float64_t *, svfloat64x2_t);
12380__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s64_x2)))
12381void svstnt1(svcount_t, int64_t *, svint64x2_t);
12382__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u16_x2)))
12383void svstnt1(svcount_t, uint16_t *, svuint16x2_t);
12384__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_bf16_x2)))
12385void svstnt1(svcount_t, bfloat16_t *, svbfloat16x2_t);
12386__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f16_x2)))
12387void svstnt1(svcount_t, float16_t *, svfloat16x2_t);
12388__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s16_x2)))
12389void svstnt1(svcount_t, int16_t *, svint16x2_t);
12390__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u32_x2)))
12391void svstnt1(svcount_t, uint32_t *, svuint32x2_t);
12392__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f32_x2)))
12393void svstnt1(svcount_t, float32_t *, svfloat32x2_t);
12394__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s32_x2)))
12395void svstnt1(svcount_t, int32_t *, svint32x2_t);
12396__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u8_x4)))
12397void svstnt1(svcount_t, uint8_t *, svuint8x4_t);
12398__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s8_x4)))
12399void svstnt1(svcount_t, int8_t *, svint8x4_t);
12400__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_mf8_x4)))
12401void svstnt1(svcount_t, mfloat8_t *, svmfloat8x4_t);
12402__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u64_x4)))
12403void svstnt1(svcount_t, uint64_t *, svuint64x4_t);
12404__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f64_x4)))
12405void svstnt1(svcount_t, float64_t *, svfloat64x4_t);
12406__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s64_x4)))
12407void svstnt1(svcount_t, int64_t *, svint64x4_t);
12408__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u16_x4)))
12409void svstnt1(svcount_t, uint16_t *, svuint16x4_t);
12410__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_bf16_x4)))
12411void svstnt1(svcount_t, bfloat16_t *, svbfloat16x4_t);
12412__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f16_x4)))
12413void svstnt1(svcount_t, float16_t *, svfloat16x4_t);
12414__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s16_x4)))
12415void svstnt1(svcount_t, int16_t *, svint16x4_t);
12416__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u32_x4)))
12417void svstnt1(svcount_t, uint32_t *, svuint32x4_t);
12418__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f32_x4)))
12419void svstnt1(svcount_t, float32_t *, svfloat32x4_t);
12420__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s32_x4)))
12421void svstnt1(svcount_t, int32_t *, svint32x4_t);
12422__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u8_x2)))
12423void svstnt1_vnum(svcount_t, uint8_t *, int64_t, svuint8x2_t);
12424__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s8_x2)))
12425void svstnt1_vnum(svcount_t, int8_t *, int64_t, svint8x2_t);
12426__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_mf8_x2)))
12427void svstnt1_vnum(svcount_t, mfloat8_t *, int64_t, svmfloat8x2_t);
12428__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u64_x2)))
12429void svstnt1_vnum(svcount_t, uint64_t *, int64_t, svuint64x2_t);
12430__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f64_x2)))
12431void svstnt1_vnum(svcount_t, float64_t *, int64_t, svfloat64x2_t);
12432__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s64_x2)))
12433void svstnt1_vnum(svcount_t, int64_t *, int64_t, svint64x2_t);
12434__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u16_x2)))
12435void svstnt1_vnum(svcount_t, uint16_t *, int64_t, svuint16x2_t);
12436__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_bf16_x2)))
12437void svstnt1_vnum(svcount_t, bfloat16_t *, int64_t, svbfloat16x2_t);
12438__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f16_x2)))
12439void svstnt1_vnum(svcount_t, float16_t *, int64_t, svfloat16x2_t);
12440__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s16_x2)))
12441void svstnt1_vnum(svcount_t, int16_t *, int64_t, svint16x2_t);
12442__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u32_x2)))
12443void svstnt1_vnum(svcount_t, uint32_t *, int64_t, svuint32x2_t);
12444__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f32_x2)))
12445void svstnt1_vnum(svcount_t, float32_t *, int64_t, svfloat32x2_t);
12446__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s32_x2)))
12447void svstnt1_vnum(svcount_t, int32_t *, int64_t, svint32x2_t);
12448__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u8_x4)))
12449void svstnt1_vnum(svcount_t, uint8_t *, int64_t, svuint8x4_t);
12450__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s8_x4)))
12451void svstnt1_vnum(svcount_t, int8_t *, int64_t, svint8x4_t);
12452__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_mf8_x4)))
12453void svstnt1_vnum(svcount_t, mfloat8_t *, int64_t, svmfloat8x4_t);
12454__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u64_x4)))
12455void svstnt1_vnum(svcount_t, uint64_t *, int64_t, svuint64x4_t);
12456__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f64_x4)))
12457void svstnt1_vnum(svcount_t, float64_t *, int64_t, svfloat64x4_t);
12458__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s64_x4)))
12459void svstnt1_vnum(svcount_t, int64_t *, int64_t, svint64x4_t);
12460__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u16_x4)))
12461void svstnt1_vnum(svcount_t, uint16_t *, int64_t, svuint16x4_t);
12462__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_bf16_x4)))
12463void svstnt1_vnum(svcount_t, bfloat16_t *, int64_t, svbfloat16x4_t);
12464__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f16_x4)))
12465void svstnt1_vnum(svcount_t, float16_t *, int64_t, svfloat16x4_t);
12466__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s16_x4)))
12467void svstnt1_vnum(svcount_t, int16_t *, int64_t, svint16x4_t);
12468__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u32_x4)))
12469void svstnt1_vnum(svcount_t, uint32_t *, int64_t, svuint32x4_t);
12470__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f32_x4)))
12471void svstnt1_vnum(svcount_t, float32_t *, int64_t, svfloat32x4_t);
12472__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s32_x4)))
12473void svstnt1_vnum(svcount_t, int32_t *, int64_t, svint32x4_t);
12474__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c8_s64)))
12475svcount_t svwhilege_c8(int64_t, int64_t, uint64_t);
12476__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c32_s64)))
12477svcount_t svwhilege_c32(int64_t, int64_t, uint64_t);
12478__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c64_s64)))
12479svcount_t svwhilege_c64(int64_t, int64_t, uint64_t);
12480__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c16_s64)))
12481svcount_t svwhilege_c16(int64_t, int64_t, uint64_t);
12482__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c8_u64)))
12483svcount_t svwhilege_c8(uint64_t, uint64_t, uint64_t);
12484__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c32_u64)))
12485svcount_t svwhilege_c32(uint64_t, uint64_t, uint64_t);
12486__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c64_u64)))
12487svcount_t svwhilege_c64(uint64_t, uint64_t, uint64_t);
12488__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c16_u64)))
12489svcount_t svwhilege_c16(uint64_t, uint64_t, uint64_t);
12490__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c8_s64)))
12491svcount_t svwhilegt_c8(int64_t, int64_t, uint64_t);
12492__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c32_s64)))
12493svcount_t svwhilegt_c32(int64_t, int64_t, uint64_t);
12494__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c64_s64)))
12495svcount_t svwhilegt_c64(int64_t, int64_t, uint64_t);
12496__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c16_s64)))
12497svcount_t svwhilegt_c16(int64_t, int64_t, uint64_t);
12498__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c8_u64)))
12499svcount_t svwhilegt_c8(uint64_t, uint64_t, uint64_t);
12500__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c32_u64)))
12501svcount_t svwhilegt_c32(uint64_t, uint64_t, uint64_t);
12502__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c64_u64)))
12503svcount_t svwhilegt_c64(uint64_t, uint64_t, uint64_t);
12504__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c16_u64)))
12505svcount_t svwhilegt_c16(uint64_t, uint64_t, uint64_t);
12506__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c8_s64)))
12507svcount_t svwhilele_c8(int64_t, int64_t, uint64_t);
12508__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c32_s64)))
12509svcount_t svwhilele_c32(int64_t, int64_t, uint64_t);
12510__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c64_s64)))
12511svcount_t svwhilele_c64(int64_t, int64_t, uint64_t);
12512__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c16_s64)))
12513svcount_t svwhilele_c16(int64_t, int64_t, uint64_t);
12514__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c8_u64)))
12515svcount_t svwhilele_c8(uint64_t, uint64_t, uint64_t);
12516__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c32_u64)))
12517svcount_t svwhilele_c32(uint64_t, uint64_t, uint64_t);
12518__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c64_u64)))
12519svcount_t svwhilele_c64(uint64_t, uint64_t, uint64_t);
12520__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c16_u64)))
12521svcount_t svwhilele_c16(uint64_t, uint64_t, uint64_t);
12522__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c8_u64)))
12523svcount_t svwhilelt_c8(uint64_t, uint64_t, uint64_t);
12524__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c32_u64)))
12525svcount_t svwhilelt_c32(uint64_t, uint64_t, uint64_t);
12526__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c64_u64)))
12527svcount_t svwhilelt_c64(uint64_t, uint64_t, uint64_t);
12528__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c16_u64)))
12529svcount_t svwhilelt_c16(uint64_t, uint64_t, uint64_t);
12530__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c8_s64)))
12531svcount_t svwhilelt_c8(int64_t, int64_t, uint64_t);
12532__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c32_s64)))
12533svcount_t svwhilelt_c32(int64_t, int64_t, uint64_t);
12534__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c64_s64)))
12535svcount_t svwhilelt_c64(int64_t, int64_t, uint64_t);
12536__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c16_s64)))
12537svcount_t svwhilelt_c16(int64_t, int64_t, uint64_t);
8836__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt_f32_f16_z)))
8837svfloat32_t svcvtlt_f32_f16_z(svbool_t, svfloat16_t);
8838__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt_f64_f32_z)))
8839svfloat64_t svcvtlt_f64_f32_z(svbool_t, svfloat32_t);
8840__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_bf16_f32_z)))
8841svbfloat16_t svcvtnt_bf16_f32_z(svbfloat16_t, svbool_t, svfloat32_t);
8842__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_f16_f32_z)))
8843svfloat16_t svcvtnt_f16_f32_z(svfloat16_t, svbool_t, svfloat32_t);
8844__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_f32_f64_z)))
8845svfloat32_t svcvtnt_f32_f64_z(svfloat32_t, svbool_t, svfloat64_t);
8846__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtxnt_f32_f64_z)))
8847svfloat32_t svcvtxnt_f32_f64_z(svfloat32_t, svbool_t, svfloat64_t);
8848__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svfirstp_b8)))
8849int64_t svfirstp_b8(svbool_t, svbool_t);
8850__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svfirstp_b32)))
8851int64_t svfirstp_b32(svbool_t, svbool_t);
8852__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svfirstp_b64)))
8853int64_t svfirstp_b64(svbool_t, svbool_t);
8854__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svfirstp_b16)))
8855int64_t svfirstp_b16(svbool_t, svbool_t);
8856__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svlastp_b8)))
8857int64_t svlastp_b8(svbool_t, svbool_t);
8858__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svlastp_b32)))
8859int64_t svlastp_b32(svbool_t, svbool_t);
8860__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svlastp_b64)))
8861int64_t svlastp_b64(svbool_t, svbool_t);
8862__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svlastp_b16)))
8863int64_t svlastp_b16(svbool_t, svbool_t);
8864__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32x_f64_m)))
8865svfloat64_t svrint32x_f64_m(svfloat64_t, svbool_t, svfloat64_t);
8866__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32x_f32_m)))
8867svfloat32_t svrint32x_f32_m(svfloat32_t, svbool_t, svfloat32_t);
8868__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32x_f64_x)))
8869svfloat64_t svrint32x_f64_x(svbool_t, svfloat64_t);
8870__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32x_f32_x)))
8871svfloat32_t svrint32x_f32_x(svbool_t, svfloat32_t);
8872__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32x_f64_z)))
8873svfloat64_t svrint32x_f64_z(svbool_t, svfloat64_t);
8874__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32x_f32_z)))
8875svfloat32_t svrint32x_f32_z(svbool_t, svfloat32_t);
8876__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32z_f64_m)))
8877svfloat64_t svrint32z_f64_m(svfloat64_t, svbool_t, svfloat64_t);
8878__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32z_f32_m)))
8879svfloat32_t svrint32z_f32_m(svfloat32_t, svbool_t, svfloat32_t);
8880__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32z_f64_x)))
8881svfloat64_t svrint32z_f64_x(svbool_t, svfloat64_t);
8882__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32z_f32_x)))
8883svfloat32_t svrint32z_f32_x(svbool_t, svfloat32_t);
8884__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32z_f64_z)))
8885svfloat64_t svrint32z_f64_z(svbool_t, svfloat64_t);
8886__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32z_f32_z)))
8887svfloat32_t svrint32z_f32_z(svbool_t, svfloat32_t);
8888__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64x_f64_m)))
8889svfloat64_t svrint64x_f64_m(svfloat64_t, svbool_t, svfloat64_t);
8890__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64x_f32_m)))
8891svfloat32_t svrint64x_f32_m(svfloat32_t, svbool_t, svfloat32_t);
8892__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64x_f64_x)))
8893svfloat64_t svrint64x_f64_x(svbool_t, svfloat64_t);
8894__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64x_f32_x)))
8895svfloat32_t svrint64x_f32_x(svbool_t, svfloat32_t);
8896__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64x_f64_z)))
8897svfloat64_t svrint64x_f64_z(svbool_t, svfloat64_t);
8898__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64x_f32_z)))
8899svfloat32_t svrint64x_f32_z(svbool_t, svfloat32_t);
8900__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64z_f64_m)))
8901svfloat64_t svrint64z_f64_m(svfloat64_t, svbool_t, svfloat64_t);
8902__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64z_f32_m)))
8903svfloat32_t svrint64z_f32_m(svfloat32_t, svbool_t, svfloat32_t);
8904__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64z_f64_x)))
8905svfloat64_t svrint64z_f64_x(svbool_t, svfloat64_t);
8906__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64z_f32_x)))
8907svfloat32_t svrint64z_f32_x(svbool_t, svfloat32_t);
8908__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64z_f64_z)))
8909svfloat64_t svrint64z_f64_z(svbool_t, svfloat64_t);
8910__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64z_f32_z)))
8911svfloat32_t svrint64z_f32_z(svbool_t, svfloat32_t);
8912__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt_f32_f16_z)))
8913svfloat32_t svcvtlt_f32_z(svbool_t, svfloat16_t);
8914__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt_f64_f32_z)))
8915svfloat64_t svcvtlt_f64_z(svbool_t, svfloat32_t);
8916__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_bf16_f32_z)))
8917svbfloat16_t svcvtnt_bf16_z(svbfloat16_t, svbool_t, svfloat32_t);
8918__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_f16_f32_z)))
8919svfloat16_t svcvtnt_f16_z(svfloat16_t, svbool_t, svfloat32_t);
8920__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_f32_f64_z)))
8921svfloat32_t svcvtnt_f32_z(svfloat32_t, svbool_t, svfloat64_t);
8922__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtxnt_f32_f64_z)))
8923svfloat32_t svcvtxnt_f32_z(svfloat32_t, svbool_t, svfloat64_t);
8924__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32x_f64_m)))
8925svfloat64_t svrint32x_m(svfloat64_t, svbool_t, svfloat64_t);
8926__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32x_f32_m)))
8927svfloat32_t svrint32x_m(svfloat32_t, svbool_t, svfloat32_t);
8928__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32x_f64_x)))
8929svfloat64_t svrint32x_x(svbool_t, svfloat64_t);
8930__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32x_f32_x)))
8931svfloat32_t svrint32x_x(svbool_t, svfloat32_t);
8932__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32x_f64_z)))
8933svfloat64_t svrint32x_z(svbool_t, svfloat64_t);
8934__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32x_f32_z)))
8935svfloat32_t svrint32x_z(svbool_t, svfloat32_t);
8936__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32z_f64_m)))
8937svfloat64_t svrint32z_m(svfloat64_t, svbool_t, svfloat64_t);
8938__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32z_f32_m)))
8939svfloat32_t svrint32z_m(svfloat32_t, svbool_t, svfloat32_t);
8940__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32z_f64_x)))
8941svfloat64_t svrint32z_x(svbool_t, svfloat64_t);
8942__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32z_f32_x)))
8943svfloat32_t svrint32z_x(svbool_t, svfloat32_t);
8944__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32z_f64_z)))
8945svfloat64_t svrint32z_z(svbool_t, svfloat64_t);
8946__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint32z_f32_z)))
8947svfloat32_t svrint32z_z(svbool_t, svfloat32_t);
8948__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64x_f64_m)))
8949svfloat64_t svrint64x_m(svfloat64_t, svbool_t, svfloat64_t);
8950__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64x_f32_m)))
8951svfloat32_t svrint64x_m(svfloat32_t, svbool_t, svfloat32_t);
8952__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64x_f64_x)))
8953svfloat64_t svrint64x_x(svbool_t, svfloat64_t);
8954__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64x_f32_x)))
8955svfloat32_t svrint64x_x(svbool_t, svfloat32_t);
8956__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64x_f64_z)))
8957svfloat64_t svrint64x_z(svbool_t, svfloat64_t);
8958__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64x_f32_z)))
8959svfloat32_t svrint64x_z(svbool_t, svfloat32_t);
8960__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64z_f64_m)))
8961svfloat64_t svrint64z_m(svfloat64_t, svbool_t, svfloat64_t);
8962__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64z_f32_m)))
8963svfloat32_t svrint64z_m(svfloat32_t, svbool_t, svfloat32_t);
8964__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64z_f64_x)))
8965svfloat64_t svrint64z_x(svbool_t, svfloat64_t);
8966__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64z_f32_x)))
8967svfloat32_t svrint64z_x(svbool_t, svfloat32_t);
8968__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64z_f64_z)))
8969svfloat64_t svrint64z_z(svbool_t, svfloat64_t);
8970__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrint64z_f32_z)))
8971svfloat32_t svrint64z_z(svbool_t, svfloat32_t);
8972__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_u8)))
8973svuint8_t svcompact_u8(svbool_t, svuint8_t);
8974__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_u16)))
8975svuint16_t svcompact_u16(svbool_t, svuint16_t);
8976__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_bf16)))
8977svbfloat16_t svcompact_bf16(svbool_t, svbfloat16_t);
8978__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_s8)))
8979svint8_t svcompact_s8(svbool_t, svint8_t);
8980__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_f16)))
8981svfloat16_t svcompact_f16(svbool_t, svfloat16_t);
8982__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_mf8)))
8983svmfloat8_t svcompact_mf8(svbool_t, svmfloat8_t);
8984__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_s16)))
8985svint16_t svcompact_s16(svbool_t, svint16_t);
8986__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_u8)))
8987svuint8_t svexpand_u8(svbool_t, svuint8_t);
8988__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_u32)))
8989svuint32_t svexpand_u32(svbool_t, svuint32_t);
8990__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_u64)))
8991svuint64_t svexpand_u64(svbool_t, svuint64_t);
8992__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_u16)))
8993svuint16_t svexpand_u16(svbool_t, svuint16_t);
8994__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_bf16)))
8995svbfloat16_t svexpand_bf16(svbool_t, svbfloat16_t);
8996__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_s8)))
8997svint8_t svexpand_s8(svbool_t, svint8_t);
8998__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_f64)))
8999svfloat64_t svexpand_f64(svbool_t, svfloat64_t);
9000__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_f32)))
9001svfloat32_t svexpand_f32(svbool_t, svfloat32_t);
9002__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_f16)))
9003svfloat16_t svexpand_f16(svbool_t, svfloat16_t);
9004__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_s32)))
9005svint32_t svexpand_s32(svbool_t, svint32_t);
9006__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_s64)))
9007svint64_t svexpand_s64(svbool_t, svint64_t);
9008__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_mf8)))
9009svmfloat8_t svexpand_mf8(svbool_t, svmfloat8_t);
9010__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_s16)))
9011svint16_t svexpand_s16(svbool_t, svint16_t);
9012__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_u8)))
9013svuint8_t svcompact(svbool_t, svuint8_t);
9014__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_u16)))
9015svuint16_t svcompact(svbool_t, svuint16_t);
9016__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_bf16)))
9017svbfloat16_t svcompact(svbool_t, svbfloat16_t);
9018__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_s8)))
9019svint8_t svcompact(svbool_t, svint8_t);
9020__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_f16)))
9021svfloat16_t svcompact(svbool_t, svfloat16_t);
9022__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_mf8)))
9023svmfloat8_t svcompact(svbool_t, svmfloat8_t);
9024__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_s16)))
9025svint16_t svcompact(svbool_t, svint16_t);
9026__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_u8)))
9027svuint8_t svexpand(svbool_t, svuint8_t);
9028__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_u32)))
9029svuint32_t svexpand(svbool_t, svuint32_t);
9030__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_u64)))
9031svuint64_t svexpand(svbool_t, svuint64_t);
9032__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_u16)))
9033svuint16_t svexpand(svbool_t, svuint16_t);
9034__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_bf16)))
9035svbfloat16_t svexpand(svbool_t, svbfloat16_t);
9036__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_s8)))
9037svint8_t svexpand(svbool_t, svint8_t);
9038__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_f64)))
9039svfloat64_t svexpand(svbool_t, svfloat64_t);
9040__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_f32)))
9041svfloat32_t svexpand(svbool_t, svfloat32_t);
9042__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_f16)))
9043svfloat16_t svexpand(svbool_t, svfloat16_t);
9044__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_s32)))
9045svint32_t svexpand(svbool_t, svint32_t);
9046__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_s64)))
9047svint64_t svexpand(svbool_t, svint64_t);
9048__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_mf8)))
9049svmfloat8_t svexpand(svbool_t, svmfloat8_t);
9050__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpand_s16)))
9051svint16_t svexpand(svbool_t, svint16_t);
125389052__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaba_n_s8)))
125399053svint8_t svaba_n_s8(svint8_t, svint8_t, int8_t);
125409054__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaba_n_s32)))
......@@ -19059,6 +15573,3848 @@ __aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svxar_n_s64)))
1905915573svint64_t svxar(svint64_t, svint64_t, uint64_t);
1906015574__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svxar_n_s16)))
1906115575svint16_t svxar(svint16_t, svint16_t, uint64_t);
15576__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f64_m)))
15577svfloat64_t svamax_n_f64_m(svbool_t, svfloat64_t, float64_t);
15578__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f32_m)))
15579svfloat32_t svamax_n_f32_m(svbool_t, svfloat32_t, float32_t);
15580__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f16_m)))
15581svfloat16_t svamax_n_f16_m(svbool_t, svfloat16_t, float16_t);
15582__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f64_x)))
15583svfloat64_t svamax_n_f64_x(svbool_t, svfloat64_t, float64_t);
15584__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f32_x)))
15585svfloat32_t svamax_n_f32_x(svbool_t, svfloat32_t, float32_t);
15586__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f16_x)))
15587svfloat16_t svamax_n_f16_x(svbool_t, svfloat16_t, float16_t);
15588__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f64_z)))
15589svfloat64_t svamax_n_f64_z(svbool_t, svfloat64_t, float64_t);
15590__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f32_z)))
15591svfloat32_t svamax_n_f32_z(svbool_t, svfloat32_t, float32_t);
15592__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f16_z)))
15593svfloat16_t svamax_n_f16_z(svbool_t, svfloat16_t, float16_t);
15594__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f64_m)))
15595svfloat64_t svamax_f64_m(svbool_t, svfloat64_t, svfloat64_t);
15596__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f32_m)))
15597svfloat32_t svamax_f32_m(svbool_t, svfloat32_t, svfloat32_t);
15598__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f16_m)))
15599svfloat16_t svamax_f16_m(svbool_t, svfloat16_t, svfloat16_t);
15600__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f64_x)))
15601svfloat64_t svamax_f64_x(svbool_t, svfloat64_t, svfloat64_t);
15602__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f32_x)))
15603svfloat32_t svamax_f32_x(svbool_t, svfloat32_t, svfloat32_t);
15604__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f16_x)))
15605svfloat16_t svamax_f16_x(svbool_t, svfloat16_t, svfloat16_t);
15606__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f64_z)))
15607svfloat64_t svamax_f64_z(svbool_t, svfloat64_t, svfloat64_t);
15608__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f32_z)))
15609svfloat32_t svamax_f32_z(svbool_t, svfloat32_t, svfloat32_t);
15610__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f16_z)))
15611svfloat16_t svamax_f16_z(svbool_t, svfloat16_t, svfloat16_t);
15612__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f64_m)))
15613svfloat64_t svamin_n_f64_m(svbool_t, svfloat64_t, float64_t);
15614__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f32_m)))
15615svfloat32_t svamin_n_f32_m(svbool_t, svfloat32_t, float32_t);
15616__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f16_m)))
15617svfloat16_t svamin_n_f16_m(svbool_t, svfloat16_t, float16_t);
15618__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f64_x)))
15619svfloat64_t svamin_n_f64_x(svbool_t, svfloat64_t, float64_t);
15620__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f32_x)))
15621svfloat32_t svamin_n_f32_x(svbool_t, svfloat32_t, float32_t);
15622__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f16_x)))
15623svfloat16_t svamin_n_f16_x(svbool_t, svfloat16_t, float16_t);
15624__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f64_z)))
15625svfloat64_t svamin_n_f64_z(svbool_t, svfloat64_t, float64_t);
15626__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f32_z)))
15627svfloat32_t svamin_n_f32_z(svbool_t, svfloat32_t, float32_t);
15628__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f16_z)))
15629svfloat16_t svamin_n_f16_z(svbool_t, svfloat16_t, float16_t);
15630__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f64_m)))
15631svfloat64_t svamin_f64_m(svbool_t, svfloat64_t, svfloat64_t);
15632__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f32_m)))
15633svfloat32_t svamin_f32_m(svbool_t, svfloat32_t, svfloat32_t);
15634__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f16_m)))
15635svfloat16_t svamin_f16_m(svbool_t, svfloat16_t, svfloat16_t);
15636__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f64_x)))
15637svfloat64_t svamin_f64_x(svbool_t, svfloat64_t, svfloat64_t);
15638__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f32_x)))
15639svfloat32_t svamin_f32_x(svbool_t, svfloat32_t, svfloat32_t);
15640__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f16_x)))
15641svfloat16_t svamin_f16_x(svbool_t, svfloat16_t, svfloat16_t);
15642__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f64_z)))
15643svfloat64_t svamin_f64_z(svbool_t, svfloat64_t, svfloat64_t);
15644__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f32_z)))
15645svfloat32_t svamin_f32_z(svbool_t, svfloat32_t, svfloat32_t);
15646__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f16_z)))
15647svfloat16_t svamin_f16_z(svbool_t, svfloat16_t, svfloat16_t);
15648__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f64_m)))
15649svfloat64_t svamax_m(svbool_t, svfloat64_t, float64_t);
15650__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f32_m)))
15651svfloat32_t svamax_m(svbool_t, svfloat32_t, float32_t);
15652__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f16_m)))
15653svfloat16_t svamax_m(svbool_t, svfloat16_t, float16_t);
15654__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f64_x)))
15655svfloat64_t svamax_x(svbool_t, svfloat64_t, float64_t);
15656__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f32_x)))
15657svfloat32_t svamax_x(svbool_t, svfloat32_t, float32_t);
15658__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f16_x)))
15659svfloat16_t svamax_x(svbool_t, svfloat16_t, float16_t);
15660__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f64_z)))
15661svfloat64_t svamax_z(svbool_t, svfloat64_t, float64_t);
15662__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f32_z)))
15663svfloat32_t svamax_z(svbool_t, svfloat32_t, float32_t);
15664__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_n_f16_z)))
15665svfloat16_t svamax_z(svbool_t, svfloat16_t, float16_t);
15666__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f64_m)))
15667svfloat64_t svamax_m(svbool_t, svfloat64_t, svfloat64_t);
15668__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f32_m)))
15669svfloat32_t svamax_m(svbool_t, svfloat32_t, svfloat32_t);
15670__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f16_m)))
15671svfloat16_t svamax_m(svbool_t, svfloat16_t, svfloat16_t);
15672__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f64_x)))
15673svfloat64_t svamax_x(svbool_t, svfloat64_t, svfloat64_t);
15674__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f32_x)))
15675svfloat32_t svamax_x(svbool_t, svfloat32_t, svfloat32_t);
15676__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f16_x)))
15677svfloat16_t svamax_x(svbool_t, svfloat16_t, svfloat16_t);
15678__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f64_z)))
15679svfloat64_t svamax_z(svbool_t, svfloat64_t, svfloat64_t);
15680__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f32_z)))
15681svfloat32_t svamax_z(svbool_t, svfloat32_t, svfloat32_t);
15682__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamax_f16_z)))
15683svfloat16_t svamax_z(svbool_t, svfloat16_t, svfloat16_t);
15684__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f64_m)))
15685svfloat64_t svamin_m(svbool_t, svfloat64_t, float64_t);
15686__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f32_m)))
15687svfloat32_t svamin_m(svbool_t, svfloat32_t, float32_t);
15688__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f16_m)))
15689svfloat16_t svamin_m(svbool_t, svfloat16_t, float16_t);
15690__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f64_x)))
15691svfloat64_t svamin_x(svbool_t, svfloat64_t, float64_t);
15692__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f32_x)))
15693svfloat32_t svamin_x(svbool_t, svfloat32_t, float32_t);
15694__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f16_x)))
15695svfloat16_t svamin_x(svbool_t, svfloat16_t, float16_t);
15696__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f64_z)))
15697svfloat64_t svamin_z(svbool_t, svfloat64_t, float64_t);
15698__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f32_z)))
15699svfloat32_t svamin_z(svbool_t, svfloat32_t, float32_t);
15700__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_n_f16_z)))
15701svfloat16_t svamin_z(svbool_t, svfloat16_t, float16_t);
15702__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f64_m)))
15703svfloat64_t svamin_m(svbool_t, svfloat64_t, svfloat64_t);
15704__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f32_m)))
15705svfloat32_t svamin_m(svbool_t, svfloat32_t, svfloat32_t);
15706__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f16_m)))
15707svfloat16_t svamin_m(svbool_t, svfloat16_t, svfloat16_t);
15708__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f64_x)))
15709svfloat64_t svamin_x(svbool_t, svfloat64_t, svfloat64_t);
15710__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f32_x)))
15711svfloat32_t svamin_x(svbool_t, svfloat32_t, svfloat32_t);
15712__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f16_x)))
15713svfloat16_t svamin_x(svbool_t, svfloat16_t, svfloat16_t);
15714__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f64_z)))
15715svfloat64_t svamin_z(svbool_t, svfloat64_t, svfloat64_t);
15716__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f32_z)))
15717svfloat32_t svamin_z(svbool_t, svfloat32_t, svfloat32_t);
15718__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svamin_f16_z)))
15719svfloat16_t svamin_z(svbool_t, svfloat16_t, svfloat16_t);
15720__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt1_bf16_mf8_fpm)))
15721svbfloat16_t svcvt1_bf16_mf8_fpm(svmfloat8_t, fpm_t);
15722__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt1_f16_mf8_fpm)))
15723svfloat16_t svcvt1_f16_mf8_fpm(svmfloat8_t, fpm_t);
15724__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt2_bf16_mf8_fpm)))
15725svbfloat16_t svcvt2_bf16_mf8_fpm(svmfloat8_t, fpm_t);
15726__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt2_f16_mf8_fpm)))
15727svfloat16_t svcvt2_f16_mf8_fpm(svmfloat8_t, fpm_t);
15728__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt1_bf16_mf8_fpm)))
15729svbfloat16_t svcvtlt1_bf16_mf8_fpm(svmfloat8_t, fpm_t);
15730__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt1_f16_mf8_fpm)))
15731svfloat16_t svcvtlt1_f16_mf8_fpm(svmfloat8_t, fpm_t);
15732__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt2_bf16_mf8_fpm)))
15733svbfloat16_t svcvtlt2_bf16_mf8_fpm(svmfloat8_t, fpm_t);
15734__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt2_f16_mf8_fpm)))
15735svfloat16_t svcvtlt2_f16_mf8_fpm(svmfloat8_t, fpm_t);
15736__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtn_mf8_bf16_x2_fpm)))
15737svmfloat8_t svcvtn_mf8_bf16_x2_fpm(svbfloat16x2_t, fpm_t);
15738__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtn_mf8_f16_x2_fpm)))
15739svmfloat8_t svcvtn_mf8_f16_x2_fpm(svfloat16x2_t, fpm_t);
15740__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnb_mf8_f32_x2_fpm)))
15741svmfloat8_t svcvtnb_mf8_f32_x2_fpm(svfloat32x2_t, fpm_t);
15742__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_mf8_f32_x2_fpm)))
15743svmfloat8_t svcvtnt_mf8_f32_x2_fpm(svmfloat8_t, svfloat32x2_t, fpm_t);
15744__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt1_bf16_mf8_fpm)))
15745svbfloat16_t svcvt1_bf16_fpm(svmfloat8_t, fpm_t);
15746__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt1_f16_mf8_fpm)))
15747svfloat16_t svcvt1_f16_fpm(svmfloat8_t, fpm_t);
15748__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt2_bf16_mf8_fpm)))
15749svbfloat16_t svcvt2_bf16_fpm(svmfloat8_t, fpm_t);
15750__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt2_f16_mf8_fpm)))
15751svfloat16_t svcvt2_f16_fpm(svmfloat8_t, fpm_t);
15752__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt1_bf16_mf8_fpm)))
15753svbfloat16_t svcvtlt1_bf16_fpm(svmfloat8_t, fpm_t);
15754__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt1_f16_mf8_fpm)))
15755svfloat16_t svcvtlt1_f16_fpm(svmfloat8_t, fpm_t);
15756__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt2_bf16_mf8_fpm)))
15757svbfloat16_t svcvtlt2_bf16_fpm(svmfloat8_t, fpm_t);
15758__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtlt2_f16_mf8_fpm)))
15759svfloat16_t svcvtlt2_f16_fpm(svmfloat8_t, fpm_t);
15760__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtn_mf8_bf16_x2_fpm)))
15761svmfloat8_t svcvtn_mf8_fpm(svbfloat16x2_t, fpm_t);
15762__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtn_mf8_f16_x2_fpm)))
15763svmfloat8_t svcvtn_mf8_fpm(svfloat16x2_t, fpm_t);
15764__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnb_mf8_f32_x2_fpm)))
15765svmfloat8_t svcvtnb_mf8_fpm(svfloat32x2_t, fpm_t);
15766__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_mf8_f32_x2_fpm)))
15767svmfloat8_t svcvtnt_mf8_fpm(svmfloat8_t, svfloat32x2_t, fpm_t);
15768__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_u8)))
15769svuint8_t svluti2_lane_u8(svuint8_t, svuint8_t, uint64_t);
15770__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_s8)))
15771svint8_t svluti2_lane_s8(svint8_t, svuint8_t, uint64_t);
15772__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_u16)))
15773svuint16_t svluti2_lane_u16(svuint16_t, svuint8_t, uint64_t);
15774__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_bf16)))
15775svbfloat16_t svluti2_lane_bf16(svbfloat16_t, svuint8_t, uint64_t);
15776__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_f16)))
15777svfloat16_t svluti2_lane_f16(svfloat16_t, svuint8_t, uint64_t);
15778__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_s16)))
15779svint16_t svluti2_lane_s16(svint16_t, svuint8_t, uint64_t);
15780__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_u8)))
15781svuint8_t svluti4_lane_u8(svuint8_t, svuint8_t, uint64_t);
15782__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_s8)))
15783svint8_t svluti4_lane_s8(svint8_t, svuint8_t, uint64_t);
15784__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_u16)))
15785svuint16_t svluti4_lane_u16(svuint16_t, svuint8_t, uint64_t);
15786__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_bf16)))
15787svbfloat16_t svluti4_lane_bf16(svbfloat16_t, svuint8_t, uint64_t);
15788__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_f16)))
15789svfloat16_t svluti4_lane_f16(svfloat16_t, svuint8_t, uint64_t);
15790__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_s16)))
15791svint16_t svluti4_lane_s16(svint16_t, svuint8_t, uint64_t);
15792__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_u16_x2)))
15793svuint16_t svluti4_lane_u16_x2(svuint16x2_t, svuint8_t, uint64_t);
15794__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_bf16_x2)))
15795svbfloat16_t svluti4_lane_bf16_x2(svbfloat16x2_t, svuint8_t, uint64_t);
15796__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_f16_x2)))
15797svfloat16_t svluti4_lane_f16_x2(svfloat16x2_t, svuint8_t, uint64_t);
15798__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_s16_x2)))
15799svint16_t svluti4_lane_s16_x2(svint16x2_t, svuint8_t, uint64_t);
15800__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_u8)))
15801svuint8_t svluti2_lane(svuint8_t, svuint8_t, uint64_t);
15802__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_s8)))
15803svint8_t svluti2_lane(svint8_t, svuint8_t, uint64_t);
15804__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_u16)))
15805svuint16_t svluti2_lane(svuint16_t, svuint8_t, uint64_t);
15806__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_bf16)))
15807svbfloat16_t svluti2_lane(svbfloat16_t, svuint8_t, uint64_t);
15808__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_f16)))
15809svfloat16_t svluti2_lane(svfloat16_t, svuint8_t, uint64_t);
15810__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti2_lane_s16)))
15811svint16_t svluti2_lane(svint16_t, svuint8_t, uint64_t);
15812__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_u8)))
15813svuint8_t svluti4_lane(svuint8_t, svuint8_t, uint64_t);
15814__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_s8)))
15815svint8_t svluti4_lane(svint8_t, svuint8_t, uint64_t);
15816__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_u16)))
15817svuint16_t svluti4_lane(svuint16_t, svuint8_t, uint64_t);
15818__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_bf16)))
15819svbfloat16_t svluti4_lane(svbfloat16_t, svuint8_t, uint64_t);
15820__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_f16)))
15821svfloat16_t svluti4_lane(svfloat16_t, svuint8_t, uint64_t);
15822__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_s16)))
15823svint16_t svluti4_lane(svint16_t, svuint8_t, uint64_t);
15824__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_u16_x2)))
15825svuint16_t svluti4_lane(svuint16x2_t, svuint8_t, uint64_t);
15826__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_bf16_x2)))
15827svbfloat16_t svluti4_lane(svbfloat16x2_t, svuint8_t, uint64_t);
15828__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_f16_x2)))
15829svfloat16_t svluti4_lane(svfloat16x2_t, svuint8_t, uint64_t);
15830__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svluti4_lane_s16_x2)))
15831svint16_t svluti4_lane(svint16x2_t, svuint8_t, uint64_t);
15832__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmmla_f32)))
15833svfloat32_t svbfmmla_f32(svfloat32_t, svbfloat16_t, svbfloat16_t);
15834__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmmla_f32)))
15835svfloat32_t svbfmmla(svfloat32_t, svbfloat16_t, svbfloat16_t);
15836__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfdot_n_f32)))
15837svfloat32_t svbfdot_n_f32(svfloat32_t, svbfloat16_t, bfloat16_t);
15838__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfdot_f32)))
15839svfloat32_t svbfdot_f32(svfloat32_t, svbfloat16_t, svbfloat16_t);
15840__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfdot_lane_f32)))
15841svfloat32_t svbfdot_lane_f32(svfloat32_t, svbfloat16_t, svbfloat16_t, uint64_t);
15842__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalb_n_f32)))
15843svfloat32_t svbfmlalb_n_f32(svfloat32_t, svbfloat16_t, bfloat16_t);
15844__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalb_f32)))
15845svfloat32_t svbfmlalb_f32(svfloat32_t, svbfloat16_t, svbfloat16_t);
15846__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalb_lane_f32)))
15847svfloat32_t svbfmlalb_lane_f32(svfloat32_t, svbfloat16_t, svbfloat16_t, uint64_t);
15848__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalt_n_f32)))
15849svfloat32_t svbfmlalt_n_f32(svfloat32_t, svbfloat16_t, bfloat16_t);
15850__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalt_f32)))
15851svfloat32_t svbfmlalt_f32(svfloat32_t, svbfloat16_t, svbfloat16_t);
15852__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalt_lane_f32)))
15853svfloat32_t svbfmlalt_lane_f32(svfloat32_t, svbfloat16_t, svbfloat16_t, uint64_t);
15854__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt_bf16_f32_m)))
15855svbfloat16_t svcvt_bf16_f32_m(svbfloat16_t, svbool_t, svfloat32_t);
15856__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt_bf16_f32_x)))
15857svbfloat16_t svcvt_bf16_f32_x(svbool_t, svfloat32_t);
15858__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt_bf16_f32_z)))
15859svbfloat16_t svcvt_bf16_f32_z(svbool_t, svfloat32_t);
15860__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_bf16_f32_m)))
15861svbfloat16_t svcvtnt_bf16_f32_m(svbfloat16_t, svbool_t, svfloat32_t);
15862__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfdot_n_f32)))
15863svfloat32_t svbfdot(svfloat32_t, svbfloat16_t, bfloat16_t);
15864__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfdot_f32)))
15865svfloat32_t svbfdot(svfloat32_t, svbfloat16_t, svbfloat16_t);
15866__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfdot_lane_f32)))
15867svfloat32_t svbfdot_lane(svfloat32_t, svbfloat16_t, svbfloat16_t, uint64_t);
15868__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalb_n_f32)))
15869svfloat32_t svbfmlalb(svfloat32_t, svbfloat16_t, bfloat16_t);
15870__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalb_f32)))
15871svfloat32_t svbfmlalb(svfloat32_t, svbfloat16_t, svbfloat16_t);
15872__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalb_lane_f32)))
15873svfloat32_t svbfmlalb_lane(svfloat32_t, svbfloat16_t, svbfloat16_t, uint64_t);
15874__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalt_n_f32)))
15875svfloat32_t svbfmlalt(svfloat32_t, svbfloat16_t, bfloat16_t);
15876__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalt_f32)))
15877svfloat32_t svbfmlalt(svfloat32_t, svbfloat16_t, svbfloat16_t);
15878__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbfmlalt_lane_f32)))
15879svfloat32_t svbfmlalt_lane(svfloat32_t, svbfloat16_t, svbfloat16_t, uint64_t);
15880__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt_bf16_f32_m)))
15881svbfloat16_t svcvt_bf16_m(svbfloat16_t, svbool_t, svfloat32_t);
15882__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt_bf16_f32_x)))
15883svbfloat16_t svcvt_bf16_x(svbool_t, svfloat32_t);
15884__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvt_bf16_f32_z)))
15885svbfloat16_t svcvt_bf16_z(svbool_t, svfloat32_t);
15886__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcvtnt_bf16_f32_m)))
15887svbfloat16_t svcvtnt_bf16_m(svbfloat16_t, svbool_t, svfloat32_t);
15888__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f32)))
15889svfloat32_t svmmla_f32(svfloat32_t, svfloat32_t, svfloat32_t);
15890__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f32)))
15891svfloat32_t svmmla(svfloat32_t, svfloat32_t, svfloat32_t);
15892__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u8)))
15893svuint8_t svld1ro_u8(svbool_t, uint8_t const *);
15894__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u32)))
15895svuint32_t svld1ro_u32(svbool_t, uint32_t const *);
15896__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u64)))
15897svuint64_t svld1ro_u64(svbool_t, uint64_t const *);
15898__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u16)))
15899svuint16_t svld1ro_u16(svbool_t, uint16_t const *);
15900__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_bf16)))
15901svbfloat16_t svld1ro_bf16(svbool_t, bfloat16_t const *);
15902__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s8)))
15903svint8_t svld1ro_s8(svbool_t, int8_t const *);
15904__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_f64)))
15905svfloat64_t svld1ro_f64(svbool_t, float64_t const *);
15906__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_f32)))
15907svfloat32_t svld1ro_f32(svbool_t, float32_t const *);
15908__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_f16)))
15909svfloat16_t svld1ro_f16(svbool_t, float16_t const *);
15910__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s32)))
15911svint32_t svld1ro_s32(svbool_t, int32_t const *);
15912__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s64)))
15913svint64_t svld1ro_s64(svbool_t, int64_t const *);
15914__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_mf8)))
15915svmfloat8_t svld1ro_mf8(svbool_t, mfloat8_t const *);
15916__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s16)))
15917svint16_t svld1ro_s16(svbool_t, int16_t const *);
15918__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f64)))
15919svfloat64_t svmmla_f64(svfloat64_t, svfloat64_t, svfloat64_t);
15920__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u8)))
15921svuint8_t svtrn1q_u8(svuint8_t, svuint8_t);
15922__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u32)))
15923svuint32_t svtrn1q_u32(svuint32_t, svuint32_t);
15924__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u64)))
15925svuint64_t svtrn1q_u64(svuint64_t, svuint64_t);
15926__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u16)))
15927svuint16_t svtrn1q_u16(svuint16_t, svuint16_t);
15928__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_bf16)))
15929svbfloat16_t svtrn1q_bf16(svbfloat16_t, svbfloat16_t);
15930__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s8)))
15931svint8_t svtrn1q_s8(svint8_t, svint8_t);
15932__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_f64)))
15933svfloat64_t svtrn1q_f64(svfloat64_t, svfloat64_t);
15934__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_f32)))
15935svfloat32_t svtrn1q_f32(svfloat32_t, svfloat32_t);
15936__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_f16)))
15937svfloat16_t svtrn1q_f16(svfloat16_t, svfloat16_t);
15938__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s32)))
15939svint32_t svtrn1q_s32(svint32_t, svint32_t);
15940__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s64)))
15941svint64_t svtrn1q_s64(svint64_t, svint64_t);
15942__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s16)))
15943svint16_t svtrn1q_s16(svint16_t, svint16_t);
15944__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u8)))
15945svuint8_t svtrn2q_u8(svuint8_t, svuint8_t);
15946__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u32)))
15947svuint32_t svtrn2q_u32(svuint32_t, svuint32_t);
15948__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u64)))
15949svuint64_t svtrn2q_u64(svuint64_t, svuint64_t);
15950__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u16)))
15951svuint16_t svtrn2q_u16(svuint16_t, svuint16_t);
15952__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_bf16)))
15953svbfloat16_t svtrn2q_bf16(svbfloat16_t, svbfloat16_t);
15954__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s8)))
15955svint8_t svtrn2q_s8(svint8_t, svint8_t);
15956__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_f64)))
15957svfloat64_t svtrn2q_f64(svfloat64_t, svfloat64_t);
15958__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_f32)))
15959svfloat32_t svtrn2q_f32(svfloat32_t, svfloat32_t);
15960__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_f16)))
15961svfloat16_t svtrn2q_f16(svfloat16_t, svfloat16_t);
15962__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s32)))
15963svint32_t svtrn2q_s32(svint32_t, svint32_t);
15964__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s64)))
15965svint64_t svtrn2q_s64(svint64_t, svint64_t);
15966__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s16)))
15967svint16_t svtrn2q_s16(svint16_t, svint16_t);
15968__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u8)))
15969svuint8_t svuzp1q_u8(svuint8_t, svuint8_t);
15970__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u32)))
15971svuint32_t svuzp1q_u32(svuint32_t, svuint32_t);
15972__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u64)))
15973svuint64_t svuzp1q_u64(svuint64_t, svuint64_t);
15974__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u16)))
15975svuint16_t svuzp1q_u16(svuint16_t, svuint16_t);
15976__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_bf16)))
15977svbfloat16_t svuzp1q_bf16(svbfloat16_t, svbfloat16_t);
15978__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s8)))
15979svint8_t svuzp1q_s8(svint8_t, svint8_t);
15980__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_f64)))
15981svfloat64_t svuzp1q_f64(svfloat64_t, svfloat64_t);
15982__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_f32)))
15983svfloat32_t svuzp1q_f32(svfloat32_t, svfloat32_t);
15984__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_f16)))
15985svfloat16_t svuzp1q_f16(svfloat16_t, svfloat16_t);
15986__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s32)))
15987svint32_t svuzp1q_s32(svint32_t, svint32_t);
15988__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s64)))
15989svint64_t svuzp1q_s64(svint64_t, svint64_t);
15990__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s16)))
15991svint16_t svuzp1q_s16(svint16_t, svint16_t);
15992__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u8)))
15993svuint8_t svuzp2q_u8(svuint8_t, svuint8_t);
15994__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u32)))
15995svuint32_t svuzp2q_u32(svuint32_t, svuint32_t);
15996__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u64)))
15997svuint64_t svuzp2q_u64(svuint64_t, svuint64_t);
15998__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u16)))
15999svuint16_t svuzp2q_u16(svuint16_t, svuint16_t);
16000__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_bf16)))
16001svbfloat16_t svuzp2q_bf16(svbfloat16_t, svbfloat16_t);
16002__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s8)))
16003svint8_t svuzp2q_s8(svint8_t, svint8_t);
16004__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_f64)))
16005svfloat64_t svuzp2q_f64(svfloat64_t, svfloat64_t);
16006__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_f32)))
16007svfloat32_t svuzp2q_f32(svfloat32_t, svfloat32_t);
16008__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_f16)))
16009svfloat16_t svuzp2q_f16(svfloat16_t, svfloat16_t);
16010__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s32)))
16011svint32_t svuzp2q_s32(svint32_t, svint32_t);
16012__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s64)))
16013svint64_t svuzp2q_s64(svint64_t, svint64_t);
16014__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s16)))
16015svint16_t svuzp2q_s16(svint16_t, svint16_t);
16016__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u8)))
16017svuint8_t svzip1q_u8(svuint8_t, svuint8_t);
16018__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u32)))
16019svuint32_t svzip1q_u32(svuint32_t, svuint32_t);
16020__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u64)))
16021svuint64_t svzip1q_u64(svuint64_t, svuint64_t);
16022__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u16)))
16023svuint16_t svzip1q_u16(svuint16_t, svuint16_t);
16024__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_bf16)))
16025svbfloat16_t svzip1q_bf16(svbfloat16_t, svbfloat16_t);
16026__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s8)))
16027svint8_t svzip1q_s8(svint8_t, svint8_t);
16028__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_f64)))
16029svfloat64_t svzip1q_f64(svfloat64_t, svfloat64_t);
16030__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_f32)))
16031svfloat32_t svzip1q_f32(svfloat32_t, svfloat32_t);
16032__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_f16)))
16033svfloat16_t svzip1q_f16(svfloat16_t, svfloat16_t);
16034__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s32)))
16035svint32_t svzip1q_s32(svint32_t, svint32_t);
16036__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s64)))
16037svint64_t svzip1q_s64(svint64_t, svint64_t);
16038__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s16)))
16039svint16_t svzip1q_s16(svint16_t, svint16_t);
16040__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u8)))
16041svuint8_t svzip2q_u8(svuint8_t, svuint8_t);
16042__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u32)))
16043svuint32_t svzip2q_u32(svuint32_t, svuint32_t);
16044__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u64)))
16045svuint64_t svzip2q_u64(svuint64_t, svuint64_t);
16046__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u16)))
16047svuint16_t svzip2q_u16(svuint16_t, svuint16_t);
16048__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_bf16)))
16049svbfloat16_t svzip2q_bf16(svbfloat16_t, svbfloat16_t);
16050__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s8)))
16051svint8_t svzip2q_s8(svint8_t, svint8_t);
16052__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_f64)))
16053svfloat64_t svzip2q_f64(svfloat64_t, svfloat64_t);
16054__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_f32)))
16055svfloat32_t svzip2q_f32(svfloat32_t, svfloat32_t);
16056__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_f16)))
16057svfloat16_t svzip2q_f16(svfloat16_t, svfloat16_t);
16058__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s32)))
16059svint32_t svzip2q_s32(svint32_t, svint32_t);
16060__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s64)))
16061svint64_t svzip2q_s64(svint64_t, svint64_t);
16062__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s16)))
16063svint16_t svzip2q_s16(svint16_t, svint16_t);
16064__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u8)))
16065svuint8_t svld1ro(svbool_t, uint8_t const *);
16066__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u32)))
16067svuint32_t svld1ro(svbool_t, uint32_t const *);
16068__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u64)))
16069svuint64_t svld1ro(svbool_t, uint64_t const *);
16070__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_u16)))
16071svuint16_t svld1ro(svbool_t, uint16_t const *);
16072__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_bf16)))
16073svbfloat16_t svld1ro(svbool_t, bfloat16_t const *);
16074__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s8)))
16075svint8_t svld1ro(svbool_t, int8_t const *);
16076__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_f64)))
16077svfloat64_t svld1ro(svbool_t, float64_t const *);
16078__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_f32)))
16079svfloat32_t svld1ro(svbool_t, float32_t const *);
16080__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_f16)))
16081svfloat16_t svld1ro(svbool_t, float16_t const *);
16082__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s32)))
16083svint32_t svld1ro(svbool_t, int32_t const *);
16084__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s64)))
16085svint64_t svld1ro(svbool_t, int64_t const *);
16086__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_mf8)))
16087svmfloat8_t svld1ro(svbool_t, mfloat8_t const *);
16088__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1ro_s16)))
16089svint16_t svld1ro(svbool_t, int16_t const *);
16090__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f64)))
16091svfloat64_t svmmla(svfloat64_t, svfloat64_t, svfloat64_t);
16092__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u8)))
16093svuint8_t svtrn1q(svuint8_t, svuint8_t);
16094__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u32)))
16095svuint32_t svtrn1q(svuint32_t, svuint32_t);
16096__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u64)))
16097svuint64_t svtrn1q(svuint64_t, svuint64_t);
16098__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_u16)))
16099svuint16_t svtrn1q(svuint16_t, svuint16_t);
16100__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_bf16)))
16101svbfloat16_t svtrn1q(svbfloat16_t, svbfloat16_t);
16102__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s8)))
16103svint8_t svtrn1q(svint8_t, svint8_t);
16104__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_f64)))
16105svfloat64_t svtrn1q(svfloat64_t, svfloat64_t);
16106__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_f32)))
16107svfloat32_t svtrn1q(svfloat32_t, svfloat32_t);
16108__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_f16)))
16109svfloat16_t svtrn1q(svfloat16_t, svfloat16_t);
16110__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s32)))
16111svint32_t svtrn1q(svint32_t, svint32_t);
16112__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s64)))
16113svint64_t svtrn1q(svint64_t, svint64_t);
16114__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn1q_s16)))
16115svint16_t svtrn1q(svint16_t, svint16_t);
16116__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u8)))
16117svuint8_t svtrn2q(svuint8_t, svuint8_t);
16118__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u32)))
16119svuint32_t svtrn2q(svuint32_t, svuint32_t);
16120__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u64)))
16121svuint64_t svtrn2q(svuint64_t, svuint64_t);
16122__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_u16)))
16123svuint16_t svtrn2q(svuint16_t, svuint16_t);
16124__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_bf16)))
16125svbfloat16_t svtrn2q(svbfloat16_t, svbfloat16_t);
16126__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s8)))
16127svint8_t svtrn2q(svint8_t, svint8_t);
16128__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_f64)))
16129svfloat64_t svtrn2q(svfloat64_t, svfloat64_t);
16130__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_f32)))
16131svfloat32_t svtrn2q(svfloat32_t, svfloat32_t);
16132__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_f16)))
16133svfloat16_t svtrn2q(svfloat16_t, svfloat16_t);
16134__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s32)))
16135svint32_t svtrn2q(svint32_t, svint32_t);
16136__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s64)))
16137svint64_t svtrn2q(svint64_t, svint64_t);
16138__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svtrn2q_s16)))
16139svint16_t svtrn2q(svint16_t, svint16_t);
16140__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u8)))
16141svuint8_t svuzp1q(svuint8_t, svuint8_t);
16142__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u32)))
16143svuint32_t svuzp1q(svuint32_t, svuint32_t);
16144__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u64)))
16145svuint64_t svuzp1q(svuint64_t, svuint64_t);
16146__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_u16)))
16147svuint16_t svuzp1q(svuint16_t, svuint16_t);
16148__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_bf16)))
16149svbfloat16_t svuzp1q(svbfloat16_t, svbfloat16_t);
16150__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s8)))
16151svint8_t svuzp1q(svint8_t, svint8_t);
16152__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_f64)))
16153svfloat64_t svuzp1q(svfloat64_t, svfloat64_t);
16154__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_f32)))
16155svfloat32_t svuzp1q(svfloat32_t, svfloat32_t);
16156__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_f16)))
16157svfloat16_t svuzp1q(svfloat16_t, svfloat16_t);
16158__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s32)))
16159svint32_t svuzp1q(svint32_t, svint32_t);
16160__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s64)))
16161svint64_t svuzp1q(svint64_t, svint64_t);
16162__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp1q_s16)))
16163svint16_t svuzp1q(svint16_t, svint16_t);
16164__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u8)))
16165svuint8_t svuzp2q(svuint8_t, svuint8_t);
16166__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u32)))
16167svuint32_t svuzp2q(svuint32_t, svuint32_t);
16168__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u64)))
16169svuint64_t svuzp2q(svuint64_t, svuint64_t);
16170__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_u16)))
16171svuint16_t svuzp2q(svuint16_t, svuint16_t);
16172__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_bf16)))
16173svbfloat16_t svuzp2q(svbfloat16_t, svbfloat16_t);
16174__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s8)))
16175svint8_t svuzp2q(svint8_t, svint8_t);
16176__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_f64)))
16177svfloat64_t svuzp2q(svfloat64_t, svfloat64_t);
16178__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_f32)))
16179svfloat32_t svuzp2q(svfloat32_t, svfloat32_t);
16180__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_f16)))
16181svfloat16_t svuzp2q(svfloat16_t, svfloat16_t);
16182__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s32)))
16183svint32_t svuzp2q(svint32_t, svint32_t);
16184__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s64)))
16185svint64_t svuzp2q(svint64_t, svint64_t);
16186__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svuzp2q_s16)))
16187svint16_t svuzp2q(svint16_t, svint16_t);
16188__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u8)))
16189svuint8_t svzip1q(svuint8_t, svuint8_t);
16190__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u32)))
16191svuint32_t svzip1q(svuint32_t, svuint32_t);
16192__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u64)))
16193svuint64_t svzip1q(svuint64_t, svuint64_t);
16194__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_u16)))
16195svuint16_t svzip1q(svuint16_t, svuint16_t);
16196__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_bf16)))
16197svbfloat16_t svzip1q(svbfloat16_t, svbfloat16_t);
16198__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s8)))
16199svint8_t svzip1q(svint8_t, svint8_t);
16200__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_f64)))
16201svfloat64_t svzip1q(svfloat64_t, svfloat64_t);
16202__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_f32)))
16203svfloat32_t svzip1q(svfloat32_t, svfloat32_t);
16204__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_f16)))
16205svfloat16_t svzip1q(svfloat16_t, svfloat16_t);
16206__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s32)))
16207svint32_t svzip1q(svint32_t, svint32_t);
16208__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s64)))
16209svint64_t svzip1q(svint64_t, svint64_t);
16210__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip1q_s16)))
16211svint16_t svzip1q(svint16_t, svint16_t);
16212__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u8)))
16213svuint8_t svzip2q(svuint8_t, svuint8_t);
16214__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u32)))
16215svuint32_t svzip2q(svuint32_t, svuint32_t);
16216__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u64)))
16217svuint64_t svzip2q(svuint64_t, svuint64_t);
16218__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_u16)))
16219svuint16_t svzip2q(svuint16_t, svuint16_t);
16220__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_bf16)))
16221svbfloat16_t svzip2q(svbfloat16_t, svbfloat16_t);
16222__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s8)))
16223svint8_t svzip2q(svint8_t, svint8_t);
16224__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_f64)))
16225svfloat64_t svzip2q(svfloat64_t, svfloat64_t);
16226__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_f32)))
16227svfloat32_t svzip2q(svfloat32_t, svfloat32_t);
16228__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_f16)))
16229svfloat16_t svzip2q(svfloat16_t, svfloat16_t);
16230__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s32)))
16231svint32_t svzip2q(svint32_t, svint32_t);
16232__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s64)))
16233svint64_t svzip2q(svint64_t, svint64_t);
16234__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svzip2q_s16)))
16235svint16_t svzip2q(svint16_t, svint16_t);
16236__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_s32)))
16237svint32_t svmmla_s32(svint32_t, svint8_t, svint8_t);
16238__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_u32)))
16239svuint32_t svmmla_u32(svuint32_t, svuint8_t, svuint8_t);
16240__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusmmla_s32)))
16241svint32_t svusmmla_s32(svint32_t, svuint8_t, svint8_t);
16242__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_s32)))
16243svint32_t svmmla(svint32_t, svint8_t, svint8_t);
16244__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_u32)))
16245svuint32_t svmmla(svuint32_t, svuint8_t, svuint8_t);
16246__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusmmla_s32)))
16247svint32_t svusmmla(svint32_t, svuint8_t, svint8_t);
16248__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsudot_n_s32)))
16249svint32_t svsudot_n_s32(svint32_t, svint8_t, uint8_t);
16250__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsudot_s32)))
16251svint32_t svsudot_s32(svint32_t, svint8_t, svuint8_t);
16252__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsudot_lane_s32)))
16253svint32_t svsudot_lane_s32(svint32_t, svint8_t, svuint8_t, uint64_t);
16254__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusdot_n_s32)))
16255svint32_t svusdot_n_s32(svint32_t, svuint8_t, int8_t);
16256__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusdot_s32)))
16257svint32_t svusdot_s32(svint32_t, svuint8_t, svint8_t);
16258__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusdot_lane_s32)))
16259svint32_t svusdot_lane_s32(svint32_t, svuint8_t, svint8_t, uint64_t);
16260__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsudot_n_s32)))
16261svint32_t svsudot(svint32_t, svint8_t, uint8_t);
16262__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsudot_s32)))
16263svint32_t svsudot(svint32_t, svint8_t, svuint8_t);
16264__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsudot_lane_s32)))
16265svint32_t svsudot_lane(svint32_t, svint8_t, svuint8_t, uint64_t);
16266__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusdot_n_s32)))
16267svint32_t svusdot(svint32_t, svuint8_t, int8_t);
16268__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusdot_s32)))
16269svint32_t svusdot(svint32_t, svuint8_t, svint8_t);
16270__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svusdot_lane_s32)))
16271svint32_t svusdot_lane(svint32_t, svuint8_t, svint8_t, uint64_t);
16272__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesd_lane_u8_x2)))
16273svuint8x2_t svaesd_lane_u8_x2(svuint8x2_t, svuint8_t, uint64_t);
16274__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesd_lane_u8_x4)))
16275svuint8x4_t svaesd_lane_u8_x4(svuint8x4_t, svuint8_t, uint64_t);
16276__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesdimc_lane_u8_x2)))
16277svuint8x2_t svaesdimc_lane_u8_x2(svuint8x2_t, svuint8_t, uint64_t);
16278__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesdimc_lane_u8_x4)))
16279svuint8x4_t svaesdimc_lane_u8_x4(svuint8x4_t, svuint8_t, uint64_t);
16280__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaese_lane_u8_x2)))
16281svuint8x2_t svaese_lane_u8_x2(svuint8x2_t, svuint8_t, uint64_t);
16282__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaese_lane_u8_x4)))
16283svuint8x4_t svaese_lane_u8_x4(svuint8x4_t, svuint8_t, uint64_t);
16284__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesemc_lane_u8_x2)))
16285svuint8x2_t svaesemc_lane_u8_x2(svuint8x2_t, svuint8_t, uint64_t);
16286__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesemc_lane_u8_x4)))
16287svuint8x4_t svaesemc_lane_u8_x4(svuint8x4_t, svuint8_t, uint64_t);
16288__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmlal_pair_n_u64_x2)))
16289svuint64x2_t svpmlal_pair_n_u64_x2(svuint64x2_t, svuint64_t, uint64_t);
16290__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmlal_pair_u64_x2)))
16291svuint64x2_t svpmlal_pair_u64_x2(svuint64x2_t, svuint64_t, svuint64_t);
16292__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmull_pair_n_u64_x2)))
16293svuint64x2_t svpmull_pair_n_u64_x2(svuint64_t, uint64_t);
16294__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmull_pair_u64_x2)))
16295svuint64x2_t svpmull_pair_u64_x2(svuint64_t, svuint64_t);
16296__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesd_lane_u8_x2)))
16297svuint8x2_t svaesd_lane(svuint8x2_t, svuint8_t, uint64_t);
16298__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesd_lane_u8_x4)))
16299svuint8x4_t svaesd_lane(svuint8x4_t, svuint8_t, uint64_t);
16300__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesdimc_lane_u8_x2)))
16301svuint8x2_t svaesdimc_lane(svuint8x2_t, svuint8_t, uint64_t);
16302__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesdimc_lane_u8_x4)))
16303svuint8x4_t svaesdimc_lane(svuint8x4_t, svuint8_t, uint64_t);
16304__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaese_lane_u8_x2)))
16305svuint8x2_t svaese_lane(svuint8x2_t, svuint8_t, uint64_t);
16306__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaese_lane_u8_x4)))
16307svuint8x4_t svaese_lane(svuint8x4_t, svuint8_t, uint64_t);
16308__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesemc_lane_u8_x2)))
16309svuint8x2_t svaesemc_lane(svuint8x2_t, svuint8_t, uint64_t);
16310__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesemc_lane_u8_x4)))
16311svuint8x4_t svaesemc_lane(svuint8x4_t, svuint8_t, uint64_t);
16312__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmlal_pair_n_u64_x2)))
16313svuint64x2_t svpmlal_pair(svuint64x2_t, svuint64_t, uint64_t);
16314__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmlal_pair_u64_x2)))
16315svuint64x2_t svpmlal_pair(svuint64x2_t, svuint64_t, svuint64_t);
16316__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmull_pair_n_u64_x2)))
16317svuint64x2_t svpmull_pair(svuint64_t, uint64_t);
16318__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmull_pair_u64_x2)))
16319svuint64x2_t svpmull_pair(svuint64_t, svuint64_t);
16320__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesd_u8)))
16321svuint8_t svaesd_u8(svuint8_t, svuint8_t);
16322__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaese_u8)))
16323svuint8_t svaese_u8(svuint8_t, svuint8_t);
16324__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesimc_u8)))
16325svuint8_t svaesimc_u8(svuint8_t);
16326__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesmc_u8)))
16327svuint8_t svaesmc_u8(svuint8_t);
16328__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullb_pair_n_u64)))
16329svuint64_t svpmullb_pair_n_u64(svuint64_t, uint64_t);
16330__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullb_pair_u64)))
16331svuint64_t svpmullb_pair_u64(svuint64_t, svuint64_t);
16332__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullt_pair_n_u64)))
16333svuint64_t svpmullt_pair_n_u64(svuint64_t, uint64_t);
16334__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullt_pair_u64)))
16335svuint64_t svpmullt_pair_u64(svuint64_t, svuint64_t);
16336__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesd_u8)))
16337svuint8_t svaesd(svuint8_t, svuint8_t);
16338__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaese_u8)))
16339svuint8_t svaese(svuint8_t, svuint8_t);
16340__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesimc_u8)))
16341svuint8_t svaesimc(svuint8_t);
16342__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svaesmc_u8)))
16343svuint8_t svaesmc(svuint8_t);
16344__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullb_pair_n_u64)))
16345svuint64_t svpmullb_pair(svuint64_t, uint64_t);
16346__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullb_pair_u64)))
16347svuint64_t svpmullb_pair(svuint64_t, svuint64_t);
16348__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullt_pair_n_u64)))
16349svuint64_t svpmullt_pair(svuint64_t, uint64_t);
16350__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpmullt_pair_u64)))
16351svuint64_t svpmullt_pair(svuint64_t, svuint64_t);
16352__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_n_bf16_m)))
16353svbfloat16_t svadd_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
16354__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_n_bf16_x)))
16355svbfloat16_t svadd_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
16356__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_n_bf16_z)))
16357svbfloat16_t svadd_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
16358__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_bf16_m)))
16359svbfloat16_t svadd_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
16360__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_bf16_x)))
16361svbfloat16_t svadd_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
16362__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_bf16_z)))
16363svbfloat16_t svadd_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
16364__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svclamp_bf16)))
16365svbfloat16_t svclamp_bf16(svbfloat16_t, svbfloat16_t, svbfloat16_t);
16366__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_n_bf16_m)))
16367svbfloat16_t svmax_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
16368__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_n_bf16_x)))
16369svbfloat16_t svmax_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
16370__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_n_bf16_z)))
16371svbfloat16_t svmax_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
16372__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_bf16_m)))
16373svbfloat16_t svmax_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
16374__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_bf16_x)))
16375svbfloat16_t svmax_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
16376__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_bf16_z)))
16377svbfloat16_t svmax_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
16378__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_n_bf16_m)))
16379svbfloat16_t svmaxnm_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
16380__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_n_bf16_x)))
16381svbfloat16_t svmaxnm_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
16382__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_n_bf16_z)))
16383svbfloat16_t svmaxnm_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
16384__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_bf16_m)))
16385svbfloat16_t svmaxnm_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
16386__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_bf16_x)))
16387svbfloat16_t svmaxnm_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
16388__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_bf16_z)))
16389svbfloat16_t svmaxnm_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
16390__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_n_bf16_m)))
16391svbfloat16_t svmin_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
16392__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_n_bf16_x)))
16393svbfloat16_t svmin_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
16394__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_n_bf16_z)))
16395svbfloat16_t svmin_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
16396__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_bf16_m)))
16397svbfloat16_t svmin_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
16398__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_bf16_x)))
16399svbfloat16_t svmin_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
16400__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_bf16_z)))
16401svbfloat16_t svmin_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
16402__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_n_bf16_m)))
16403svbfloat16_t svminnm_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
16404__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_n_bf16_x)))
16405svbfloat16_t svminnm_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
16406__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_n_bf16_z)))
16407svbfloat16_t svminnm_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
16408__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_m)))
16409svbfloat16_t svminnm_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
16410__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_x)))
16411svbfloat16_t svminnm_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
16412__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_z)))
16413svbfloat16_t svminnm_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
16414__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_n_bf16_m)))
16415svbfloat16_t svmla_n_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
16416__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_n_bf16_x)))
16417svbfloat16_t svmla_n_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
16418__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_n_bf16_z)))
16419svbfloat16_t svmla_n_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
16420__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_bf16_m)))
16421svbfloat16_t svmla_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
16422__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_bf16_x)))
16423svbfloat16_t svmla_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
16424__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_bf16_z)))
16425svbfloat16_t svmla_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
16426__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_lane_bf16)))
16427svbfloat16_t svmla_lane_bf16(svbfloat16_t, svbfloat16_t, svbfloat16_t, uint64_t);
16428__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_n_bf16_m)))
16429svbfloat16_t svmls_n_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
16430__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_n_bf16_x)))
16431svbfloat16_t svmls_n_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
16432__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_n_bf16_z)))
16433svbfloat16_t svmls_n_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
16434__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_bf16_m)))
16435svbfloat16_t svmls_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
16436__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_bf16_x)))
16437svbfloat16_t svmls_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
16438__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_bf16_z)))
16439svbfloat16_t svmls_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
16440__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_lane_bf16)))
16441svbfloat16_t svmls_lane_bf16(svbfloat16_t, svbfloat16_t, svbfloat16_t, uint64_t);
16442__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_n_bf16_m)))
16443svbfloat16_t svmul_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
16444__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_n_bf16_x)))
16445svbfloat16_t svmul_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
16446__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_n_bf16_z)))
16447svbfloat16_t svmul_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
16448__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_m)))
16449svbfloat16_t svmul_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
16450__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_x)))
16451svbfloat16_t svmul_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
16452__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_z)))
16453svbfloat16_t svmul_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
16454__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_lane_bf16)))
16455svbfloat16_t svmul_lane_bf16(svbfloat16_t, svbfloat16_t, uint64_t);
16456__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_n_bf16_m)))
16457svbfloat16_t svsub_n_bf16_m(svbool_t, svbfloat16_t, bfloat16_t);
16458__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_n_bf16_x)))
16459svbfloat16_t svsub_n_bf16_x(svbool_t, svbfloat16_t, bfloat16_t);
16460__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_n_bf16_z)))
16461svbfloat16_t svsub_n_bf16_z(svbool_t, svbfloat16_t, bfloat16_t);
16462__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_bf16_m)))
16463svbfloat16_t svsub_bf16_m(svbool_t, svbfloat16_t, svbfloat16_t);
16464__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_bf16_x)))
16465svbfloat16_t svsub_bf16_x(svbool_t, svbfloat16_t, svbfloat16_t);
16466__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_bf16_z)))
16467svbfloat16_t svsub_bf16_z(svbool_t, svbfloat16_t, svbfloat16_t);
16468__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_n_bf16_m)))
16469svbfloat16_t svadd_m(svbool_t, svbfloat16_t, bfloat16_t);
16470__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_n_bf16_x)))
16471svbfloat16_t svadd_x(svbool_t, svbfloat16_t, bfloat16_t);
16472__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_n_bf16_z)))
16473svbfloat16_t svadd_z(svbool_t, svbfloat16_t, bfloat16_t);
16474__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_bf16_m)))
16475svbfloat16_t svadd_m(svbool_t, svbfloat16_t, svbfloat16_t);
16476__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_bf16_x)))
16477svbfloat16_t svadd_x(svbool_t, svbfloat16_t, svbfloat16_t);
16478__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svadd_bf16_z)))
16479svbfloat16_t svadd_z(svbool_t, svbfloat16_t, svbfloat16_t);
16480__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svclamp_bf16)))
16481svbfloat16_t svclamp(svbfloat16_t, svbfloat16_t, svbfloat16_t);
16482__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_n_bf16_m)))
16483svbfloat16_t svmax_m(svbool_t, svbfloat16_t, bfloat16_t);
16484__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_n_bf16_x)))
16485svbfloat16_t svmax_x(svbool_t, svbfloat16_t, bfloat16_t);
16486__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_n_bf16_z)))
16487svbfloat16_t svmax_z(svbool_t, svbfloat16_t, bfloat16_t);
16488__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_bf16_m)))
16489svbfloat16_t svmax_m(svbool_t, svbfloat16_t, svbfloat16_t);
16490__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_bf16_x)))
16491svbfloat16_t svmax_x(svbool_t, svbfloat16_t, svbfloat16_t);
16492__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmax_bf16_z)))
16493svbfloat16_t svmax_z(svbool_t, svbfloat16_t, svbfloat16_t);
16494__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_n_bf16_m)))
16495svbfloat16_t svmaxnm_m(svbool_t, svbfloat16_t, bfloat16_t);
16496__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_n_bf16_x)))
16497svbfloat16_t svmaxnm_x(svbool_t, svbfloat16_t, bfloat16_t);
16498__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_n_bf16_z)))
16499svbfloat16_t svmaxnm_z(svbool_t, svbfloat16_t, bfloat16_t);
16500__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_bf16_m)))
16501svbfloat16_t svmaxnm_m(svbool_t, svbfloat16_t, svbfloat16_t);
16502__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_bf16_x)))
16503svbfloat16_t svmaxnm_x(svbool_t, svbfloat16_t, svbfloat16_t);
16504__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmaxnm_bf16_z)))
16505svbfloat16_t svmaxnm_z(svbool_t, svbfloat16_t, svbfloat16_t);
16506__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_n_bf16_m)))
16507svbfloat16_t svmin_m(svbool_t, svbfloat16_t, bfloat16_t);
16508__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_n_bf16_x)))
16509svbfloat16_t svmin_x(svbool_t, svbfloat16_t, bfloat16_t);
16510__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_n_bf16_z)))
16511svbfloat16_t svmin_z(svbool_t, svbfloat16_t, bfloat16_t);
16512__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_bf16_m)))
16513svbfloat16_t svmin_m(svbool_t, svbfloat16_t, svbfloat16_t);
16514__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_bf16_x)))
16515svbfloat16_t svmin_x(svbool_t, svbfloat16_t, svbfloat16_t);
16516__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmin_bf16_z)))
16517svbfloat16_t svmin_z(svbool_t, svbfloat16_t, svbfloat16_t);
16518__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_n_bf16_m)))
16519svbfloat16_t svminnm_m(svbool_t, svbfloat16_t, bfloat16_t);
16520__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_n_bf16_x)))
16521svbfloat16_t svminnm_x(svbool_t, svbfloat16_t, bfloat16_t);
16522__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_n_bf16_z)))
16523svbfloat16_t svminnm_z(svbool_t, svbfloat16_t, bfloat16_t);
16524__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_m)))
16525svbfloat16_t svminnm_m(svbool_t, svbfloat16_t, svbfloat16_t);
16526__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_x)))
16527svbfloat16_t svminnm_x(svbool_t, svbfloat16_t, svbfloat16_t);
16528__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svminnm_bf16_z)))
16529svbfloat16_t svminnm_z(svbool_t, svbfloat16_t, svbfloat16_t);
16530__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_n_bf16_m)))
16531svbfloat16_t svmla_m(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
16532__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_n_bf16_x)))
16533svbfloat16_t svmla_x(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
16534__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_n_bf16_z)))
16535svbfloat16_t svmla_z(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
16536__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_bf16_m)))
16537svbfloat16_t svmla_m(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
16538__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_bf16_x)))
16539svbfloat16_t svmla_x(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
16540__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_bf16_z)))
16541svbfloat16_t svmla_z(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
16542__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmla_lane_bf16)))
16543svbfloat16_t svmla_lane(svbfloat16_t, svbfloat16_t, svbfloat16_t, uint64_t);
16544__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_n_bf16_m)))
16545svbfloat16_t svmls_m(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
16546__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_n_bf16_x)))
16547svbfloat16_t svmls_x(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
16548__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_n_bf16_z)))
16549svbfloat16_t svmls_z(svbool_t, svbfloat16_t, svbfloat16_t, bfloat16_t);
16550__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_bf16_m)))
16551svbfloat16_t svmls_m(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
16552__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_bf16_x)))
16553svbfloat16_t svmls_x(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
16554__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_bf16_z)))
16555svbfloat16_t svmls_z(svbool_t, svbfloat16_t, svbfloat16_t, svbfloat16_t);
16556__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmls_lane_bf16)))
16557svbfloat16_t svmls_lane(svbfloat16_t, svbfloat16_t, svbfloat16_t, uint64_t);
16558__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_n_bf16_m)))
16559svbfloat16_t svmul_m(svbool_t, svbfloat16_t, bfloat16_t);
16560__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_n_bf16_x)))
16561svbfloat16_t svmul_x(svbool_t, svbfloat16_t, bfloat16_t);
16562__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_n_bf16_z)))
16563svbfloat16_t svmul_z(svbool_t, svbfloat16_t, bfloat16_t);
16564__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_m)))
16565svbfloat16_t svmul_m(svbool_t, svbfloat16_t, svbfloat16_t);
16566__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_x)))
16567svbfloat16_t svmul_x(svbool_t, svbfloat16_t, svbfloat16_t);
16568__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_bf16_z)))
16569svbfloat16_t svmul_z(svbool_t, svbfloat16_t, svbfloat16_t);
16570__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmul_lane_bf16)))
16571svbfloat16_t svmul_lane(svbfloat16_t, svbfloat16_t, uint64_t);
16572__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_n_bf16_m)))
16573svbfloat16_t svsub_m(svbool_t, svbfloat16_t, bfloat16_t);
16574__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_n_bf16_x)))
16575svbfloat16_t svsub_x(svbool_t, svbfloat16_t, bfloat16_t);
16576__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_n_bf16_z)))
16577svbfloat16_t svsub_z(svbool_t, svbfloat16_t, bfloat16_t);
16578__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_bf16_m)))
16579svbfloat16_t svsub_m(svbool_t, svbfloat16_t, svbfloat16_t);
16580__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_bf16_x)))
16581svbfloat16_t svsub_x(svbool_t, svbfloat16_t, svbfloat16_t);
16582__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsub_bf16_z)))
16583svbfloat16_t svsub_z(svbool_t, svbfloat16_t, svbfloat16_t);
16584__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_n_bf16_m)))
16585svbfloat16_t svscale_n_bf16_m(svbool_t, svbfloat16_t, int16_t);
16586__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_n_bf16_x)))
16587svbfloat16_t svscale_n_bf16_x(svbool_t, svbfloat16_t, int16_t);
16588__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_n_bf16_z)))
16589svbfloat16_t svscale_n_bf16_z(svbool_t, svbfloat16_t, int16_t);
16590__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_bf16_m)))
16591svbfloat16_t svscale_bf16_m(svbool_t, svbfloat16_t, svint16_t);
16592__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_bf16_x)))
16593svbfloat16_t svscale_bf16_x(svbool_t, svbfloat16_t, svint16_t);
16594__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_bf16_z)))
16595svbfloat16_t svscale_bf16_z(svbool_t, svbfloat16_t, svint16_t);
16596__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_n_bf16_m)))
16597svbfloat16_t svscale_m(svbool_t, svbfloat16_t, int16_t);
16598__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_n_bf16_x)))
16599svbfloat16_t svscale_x(svbool_t, svbfloat16_t, int16_t);
16600__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_n_bf16_z)))
16601svbfloat16_t svscale_z(svbool_t, svbfloat16_t, int16_t);
16602__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_bf16_m)))
16603svbfloat16_t svscale_m(svbool_t, svbfloat16_t, svint16_t);
16604__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_bf16_x)))
16605svbfloat16_t svscale_x(svbool_t, svbfloat16_t, svint16_t);
16606__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svscale_bf16_z)))
16607svbfloat16_t svscale_z(svbool_t, svbfloat16_t, svint16_t);
16608__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u8)))
16609svuint8_t svbdep_n_u8(svuint8_t, uint8_t);
16610__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u32)))
16611svuint32_t svbdep_n_u32(svuint32_t, uint32_t);
16612__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u64)))
16613svuint64_t svbdep_n_u64(svuint64_t, uint64_t);
16614__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u16)))
16615svuint16_t svbdep_n_u16(svuint16_t, uint16_t);
16616__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u8)))
16617svuint8_t svbdep_u8(svuint8_t, svuint8_t);
16618__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u32)))
16619svuint32_t svbdep_u32(svuint32_t, svuint32_t);
16620__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u64)))
16621svuint64_t svbdep_u64(svuint64_t, svuint64_t);
16622__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u16)))
16623svuint16_t svbdep_u16(svuint16_t, svuint16_t);
16624__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u8)))
16625svuint8_t svbext_n_u8(svuint8_t, uint8_t);
16626__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u32)))
16627svuint32_t svbext_n_u32(svuint32_t, uint32_t);
16628__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u64)))
16629svuint64_t svbext_n_u64(svuint64_t, uint64_t);
16630__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u16)))
16631svuint16_t svbext_n_u16(svuint16_t, uint16_t);
16632__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u8)))
16633svuint8_t svbext_u8(svuint8_t, svuint8_t);
16634__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u32)))
16635svuint32_t svbext_u32(svuint32_t, svuint32_t);
16636__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u64)))
16637svuint64_t svbext_u64(svuint64_t, svuint64_t);
16638__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u16)))
16639svuint16_t svbext_u16(svuint16_t, svuint16_t);
16640__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u8)))
16641svuint8_t svbgrp_n_u8(svuint8_t, uint8_t);
16642__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u32)))
16643svuint32_t svbgrp_n_u32(svuint32_t, uint32_t);
16644__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u64)))
16645svuint64_t svbgrp_n_u64(svuint64_t, uint64_t);
16646__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u16)))
16647svuint16_t svbgrp_n_u16(svuint16_t, uint16_t);
16648__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u8)))
16649svuint8_t svbgrp_u8(svuint8_t, svuint8_t);
16650__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u32)))
16651svuint32_t svbgrp_u32(svuint32_t, svuint32_t);
16652__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u64)))
16653svuint64_t svbgrp_u64(svuint64_t, svuint64_t);
16654__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u16)))
16655svuint16_t svbgrp_u16(svuint16_t, svuint16_t);
16656__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u8)))
16657svuint8_t svbdep(svuint8_t, uint8_t);
16658__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u32)))
16659svuint32_t svbdep(svuint32_t, uint32_t);
16660__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u64)))
16661svuint64_t svbdep(svuint64_t, uint64_t);
16662__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_n_u16)))
16663svuint16_t svbdep(svuint16_t, uint16_t);
16664__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u8)))
16665svuint8_t svbdep(svuint8_t, svuint8_t);
16666__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u32)))
16667svuint32_t svbdep(svuint32_t, svuint32_t);
16668__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u64)))
16669svuint64_t svbdep(svuint64_t, svuint64_t);
16670__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbdep_u16)))
16671svuint16_t svbdep(svuint16_t, svuint16_t);
16672__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u8)))
16673svuint8_t svbext(svuint8_t, uint8_t);
16674__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u32)))
16675svuint32_t svbext(svuint32_t, uint32_t);
16676__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u64)))
16677svuint64_t svbext(svuint64_t, uint64_t);
16678__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_n_u16)))
16679svuint16_t svbext(svuint16_t, uint16_t);
16680__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u8)))
16681svuint8_t svbext(svuint8_t, svuint8_t);
16682__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u32)))
16683svuint32_t svbext(svuint32_t, svuint32_t);
16684__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u64)))
16685svuint64_t svbext(svuint64_t, svuint64_t);
16686__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbext_u16)))
16687svuint16_t svbext(svuint16_t, svuint16_t);
16688__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u8)))
16689svuint8_t svbgrp(svuint8_t, uint8_t);
16690__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u32)))
16691svuint32_t svbgrp(svuint32_t, uint32_t);
16692__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u64)))
16693svuint64_t svbgrp(svuint64_t, uint64_t);
16694__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_n_u16)))
16695svuint16_t svbgrp(svuint16_t, uint16_t);
16696__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u8)))
16697svuint8_t svbgrp(svuint8_t, svuint8_t);
16698__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u32)))
16699svuint32_t svbgrp(svuint32_t, svuint32_t);
16700__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u64)))
16701svuint64_t svbgrp(svuint64_t, svuint64_t);
16702__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svbgrp_u16)))
16703svuint16_t svbgrp(svuint16_t, svuint16_t);
16704__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f32_f16)))
16705svfloat32_t svmmla_f32_f16(svfloat32_t, svfloat16_t, svfloat16_t);
16706__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f32_f16)))
16707svfloat32_t svmmla(svfloat32_t, svfloat16_t, svfloat16_t);
16708__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrax1_u64)))
16709svuint64_t svrax1_u64(svuint64_t, svuint64_t);
16710__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrax1_s64)))
16711svint64_t svrax1_s64(svint64_t, svint64_t);
16712__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrax1_u64)))
16713svuint64_t svrax1(svuint64_t, svuint64_t);
16714__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svrax1_s64)))
16715svint64_t svrax1(svint64_t, svint64_t);
16716__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsm4e_u32)))
16717svuint32_t svsm4e_u32(svuint32_t, svuint32_t);
16718__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsm4ekey_u32)))
16719svuint32_t svsm4ekey_u32(svuint32_t, svuint32_t);
16720__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsm4e_u32)))
16721svuint32_t svsm4e(svuint32_t, svuint32_t);
16722__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svsm4ekey_u32)))
16723svuint32_t svsm4ekey(svuint32_t, svuint32_t);
16724__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_u32_z)))
16725svuint32_t svhistcnt_u32_z(svbool_t, svuint32_t, svuint32_t);
16726__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_u64_z)))
16727svuint64_t svhistcnt_u64_z(svbool_t, svuint64_t, svuint64_t);
16728__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_s32_z)))
16729svuint32_t svhistcnt_s32_z(svbool_t, svint32_t, svint32_t);
16730__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_s64_z)))
16731svuint64_t svhistcnt_s64_z(svbool_t, svint64_t, svint64_t);
16732__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistseg_u8)))
16733svuint8_t svhistseg_u8(svuint8_t, svuint8_t);
16734__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistseg_s8)))
16735svuint8_t svhistseg_s8(svint8_t, svint8_t);
16736__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_index_u32)))
16737svuint32_t svldnt1_gather_u32base_index_u32(svbool_t, svuint32_t, int64_t);
16738__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_index_u64)))
16739svuint64_t svldnt1_gather_u64base_index_u64(svbool_t, svuint64_t, int64_t);
16740__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_index_f64)))
16741svfloat64_t svldnt1_gather_u64base_index_f64(svbool_t, svuint64_t, int64_t);
16742__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_index_f32)))
16743svfloat32_t svldnt1_gather_u32base_index_f32(svbool_t, svuint32_t, int64_t);
16744__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_index_s32)))
16745svint32_t svldnt1_gather_u32base_index_s32(svbool_t, svuint32_t, int64_t);
16746__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_index_s64)))
16747svint64_t svldnt1_gather_u64base_index_s64(svbool_t, svuint64_t, int64_t);
16748__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_offset_u32)))
16749svuint32_t svldnt1_gather_u32base_offset_u32(svbool_t, svuint32_t, int64_t);
16750__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_offset_u64)))
16751svuint64_t svldnt1_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
16752__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_offset_f64)))
16753svfloat64_t svldnt1_gather_u64base_offset_f64(svbool_t, svuint64_t, int64_t);
16754__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_offset_f32)))
16755svfloat32_t svldnt1_gather_u32base_offset_f32(svbool_t, svuint32_t, int64_t);
16756__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_offset_s32)))
16757svint32_t svldnt1_gather_u32base_offset_s32(svbool_t, svuint32_t, int64_t);
16758__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_offset_s64)))
16759svint64_t svldnt1_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
16760__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_u32)))
16761svuint32_t svldnt1_gather_u32base_u32(svbool_t, svuint32_t);
16762__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_u64)))
16763svuint64_t svldnt1_gather_u64base_u64(svbool_t, svuint64_t);
16764__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_f64)))
16765svfloat64_t svldnt1_gather_u64base_f64(svbool_t, svuint64_t);
16766__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_f32)))
16767svfloat32_t svldnt1_gather_u32base_f32(svbool_t, svuint32_t);
16768__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_s32)))
16769svint32_t svldnt1_gather_u32base_s32(svbool_t, svuint32_t);
16770__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_s64)))
16771svint64_t svldnt1_gather_u64base_s64(svbool_t, svuint64_t);
16772__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64index_u64)))
16773svuint64_t svldnt1_gather_s64index_u64(svbool_t, uint64_t const *, svint64_t);
16774__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64index_f64)))
16775svfloat64_t svldnt1_gather_s64index_f64(svbool_t, float64_t const *, svint64_t);
16776__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64index_s64)))
16777svint64_t svldnt1_gather_s64index_s64(svbool_t, int64_t const *, svint64_t);
16778__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64index_u64)))
16779svuint64_t svldnt1_gather_u64index_u64(svbool_t, uint64_t const *, svuint64_t);
16780__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64index_f64)))
16781svfloat64_t svldnt1_gather_u64index_f64(svbool_t, float64_t const *, svuint64_t);
16782__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64index_s64)))
16783svint64_t svldnt1_gather_u64index_s64(svbool_t, int64_t const *, svuint64_t);
16784__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32offset_u32)))
16785svuint32_t svldnt1_gather_u32offset_u32(svbool_t, uint32_t const *, svuint32_t);
16786__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32offset_f32)))
16787svfloat32_t svldnt1_gather_u32offset_f32(svbool_t, float32_t const *, svuint32_t);
16788__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32offset_s32)))
16789svint32_t svldnt1_gather_u32offset_s32(svbool_t, int32_t const *, svuint32_t);
16790__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64offset_u64)))
16791svuint64_t svldnt1_gather_s64offset_u64(svbool_t, uint64_t const *, svint64_t);
16792__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64offset_f64)))
16793svfloat64_t svldnt1_gather_s64offset_f64(svbool_t, float64_t const *, svint64_t);
16794__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64offset_s64)))
16795svint64_t svldnt1_gather_s64offset_s64(svbool_t, int64_t const *, svint64_t);
16796__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64offset_u64)))
16797svuint64_t svldnt1_gather_u64offset_u64(svbool_t, uint64_t const *, svuint64_t);
16798__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64offset_f64)))
16799svfloat64_t svldnt1_gather_u64offset_f64(svbool_t, float64_t const *, svuint64_t);
16800__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64offset_s64)))
16801svint64_t svldnt1_gather_u64offset_s64(svbool_t, int64_t const *, svuint64_t);
16802__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_offset_u32)))
16803svuint32_t svldnt1sb_gather_u32base_offset_u32(svbool_t, svuint32_t, int64_t);
16804__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_offset_u64)))
16805svuint64_t svldnt1sb_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
16806__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_offset_s32)))
16807svint32_t svldnt1sb_gather_u32base_offset_s32(svbool_t, svuint32_t, int64_t);
16808__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_offset_s64)))
16809svint64_t svldnt1sb_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
16810__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_u32)))
16811svuint32_t svldnt1sb_gather_u32base_u32(svbool_t, svuint32_t);
16812__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_u64)))
16813svuint64_t svldnt1sb_gather_u64base_u64(svbool_t, svuint64_t);
16814__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_s32)))
16815svint32_t svldnt1sb_gather_u32base_s32(svbool_t, svuint32_t);
16816__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_s64)))
16817svint64_t svldnt1sb_gather_u64base_s64(svbool_t, svuint64_t);
16818__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32offset_u32)))
16819svuint32_t svldnt1sb_gather_u32offset_u32(svbool_t, int8_t const *, svuint32_t);
16820__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32offset_s32)))
16821svint32_t svldnt1sb_gather_u32offset_s32(svbool_t, int8_t const *, svuint32_t);
16822__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_s64offset_u64)))
16823svuint64_t svldnt1sb_gather_s64offset_u64(svbool_t, int8_t const *, svint64_t);
16824__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_s64offset_s64)))
16825svint64_t svldnt1sb_gather_s64offset_s64(svbool_t, int8_t const *, svint64_t);
16826__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64offset_u64)))
16827svuint64_t svldnt1sb_gather_u64offset_u64(svbool_t, int8_t const *, svuint64_t);
16828__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64offset_s64)))
16829svint64_t svldnt1sb_gather_u64offset_s64(svbool_t, int8_t const *, svuint64_t);
16830__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_index_u32)))
16831svuint32_t svldnt1sh_gather_u32base_index_u32(svbool_t, svuint32_t, int64_t);
16832__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_index_u64)))
16833svuint64_t svldnt1sh_gather_u64base_index_u64(svbool_t, svuint64_t, int64_t);
16834__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_index_s32)))
16835svint32_t svldnt1sh_gather_u32base_index_s32(svbool_t, svuint32_t, int64_t);
16836__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_index_s64)))
16837svint64_t svldnt1sh_gather_u64base_index_s64(svbool_t, svuint64_t, int64_t);
16838__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_offset_u32)))
16839svuint32_t svldnt1sh_gather_u32base_offset_u32(svbool_t, svuint32_t, int64_t);
16840__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_offset_u64)))
16841svuint64_t svldnt1sh_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
16842__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_offset_s32)))
16843svint32_t svldnt1sh_gather_u32base_offset_s32(svbool_t, svuint32_t, int64_t);
16844__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_offset_s64)))
16845svint64_t svldnt1sh_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
16846__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_u32)))
16847svuint32_t svldnt1sh_gather_u32base_u32(svbool_t, svuint32_t);
16848__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_u64)))
16849svuint64_t svldnt1sh_gather_u64base_u64(svbool_t, svuint64_t);
16850__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_s32)))
16851svint32_t svldnt1sh_gather_u32base_s32(svbool_t, svuint32_t);
16852__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_s64)))
16853svint64_t svldnt1sh_gather_u64base_s64(svbool_t, svuint64_t);
16854__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64index_u64)))
16855svuint64_t svldnt1sh_gather_s64index_u64(svbool_t, int16_t const *, svint64_t);
16856__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64index_s64)))
16857svint64_t svldnt1sh_gather_s64index_s64(svbool_t, int16_t const *, svint64_t);
16858__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64index_u64)))
16859svuint64_t svldnt1sh_gather_u64index_u64(svbool_t, int16_t const *, svuint64_t);
16860__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64index_s64)))
16861svint64_t svldnt1sh_gather_u64index_s64(svbool_t, int16_t const *, svuint64_t);
16862__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32offset_u32)))
16863svuint32_t svldnt1sh_gather_u32offset_u32(svbool_t, int16_t const *, svuint32_t);
16864__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32offset_s32)))
16865svint32_t svldnt1sh_gather_u32offset_s32(svbool_t, int16_t const *, svuint32_t);
16866__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64offset_u64)))
16867svuint64_t svldnt1sh_gather_s64offset_u64(svbool_t, int16_t const *, svint64_t);
16868__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64offset_s64)))
16869svint64_t svldnt1sh_gather_s64offset_s64(svbool_t, int16_t const *, svint64_t);
16870__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64offset_u64)))
16871svuint64_t svldnt1sh_gather_u64offset_u64(svbool_t, int16_t const *, svuint64_t);
16872__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64offset_s64)))
16873svint64_t svldnt1sh_gather_u64offset_s64(svbool_t, int16_t const *, svuint64_t);
16874__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_index_u64)))
16875svuint64_t svldnt1sw_gather_u64base_index_u64(svbool_t, svuint64_t, int64_t);
16876__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_index_s64)))
16877svint64_t svldnt1sw_gather_u64base_index_s64(svbool_t, svuint64_t, int64_t);
16878__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_offset_u64)))
16879svuint64_t svldnt1sw_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
16880__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_offset_s64)))
16881svint64_t svldnt1sw_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
16882__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_u64)))
16883svuint64_t svldnt1sw_gather_u64base_u64(svbool_t, svuint64_t);
16884__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_s64)))
16885svint64_t svldnt1sw_gather_u64base_s64(svbool_t, svuint64_t);
16886__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64index_u64)))
16887svuint64_t svldnt1sw_gather_s64index_u64(svbool_t, int32_t const *, svint64_t);
16888__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64index_s64)))
16889svint64_t svldnt1sw_gather_s64index_s64(svbool_t, int32_t const *, svint64_t);
16890__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64index_u64)))
16891svuint64_t svldnt1sw_gather_u64index_u64(svbool_t, int32_t const *, svuint64_t);
16892__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64index_s64)))
16893svint64_t svldnt1sw_gather_u64index_s64(svbool_t, int32_t const *, svuint64_t);
16894__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64offset_u64)))
16895svuint64_t svldnt1sw_gather_s64offset_u64(svbool_t, int32_t const *, svint64_t);
16896__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64offset_s64)))
16897svint64_t svldnt1sw_gather_s64offset_s64(svbool_t, int32_t const *, svint64_t);
16898__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64offset_u64)))
16899svuint64_t svldnt1sw_gather_u64offset_u64(svbool_t, int32_t const *, svuint64_t);
16900__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64offset_s64)))
16901svint64_t svldnt1sw_gather_u64offset_s64(svbool_t, int32_t const *, svuint64_t);
16902__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_offset_u32)))
16903svuint32_t svldnt1ub_gather_u32base_offset_u32(svbool_t, svuint32_t, int64_t);
16904__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_offset_u64)))
16905svuint64_t svldnt1ub_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
16906__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_offset_s32)))
16907svint32_t svldnt1ub_gather_u32base_offset_s32(svbool_t, svuint32_t, int64_t);
16908__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_offset_s64)))
16909svint64_t svldnt1ub_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
16910__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_u32)))
16911svuint32_t svldnt1ub_gather_u32base_u32(svbool_t, svuint32_t);
16912__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_u64)))
16913svuint64_t svldnt1ub_gather_u64base_u64(svbool_t, svuint64_t);
16914__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_s32)))
16915svint32_t svldnt1ub_gather_u32base_s32(svbool_t, svuint32_t);
16916__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_s64)))
16917svint64_t svldnt1ub_gather_u64base_s64(svbool_t, svuint64_t);
16918__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32offset_u32)))
16919svuint32_t svldnt1ub_gather_u32offset_u32(svbool_t, uint8_t const *, svuint32_t);
16920__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32offset_s32)))
16921svint32_t svldnt1ub_gather_u32offset_s32(svbool_t, uint8_t const *, svuint32_t);
16922__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_s64offset_u64)))
16923svuint64_t svldnt1ub_gather_s64offset_u64(svbool_t, uint8_t const *, svint64_t);
16924__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_s64offset_s64)))
16925svint64_t svldnt1ub_gather_s64offset_s64(svbool_t, uint8_t const *, svint64_t);
16926__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64offset_u64)))
16927svuint64_t svldnt1ub_gather_u64offset_u64(svbool_t, uint8_t const *, svuint64_t);
16928__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64offset_s64)))
16929svint64_t svldnt1ub_gather_u64offset_s64(svbool_t, uint8_t const *, svuint64_t);
16930__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_index_u32)))
16931svuint32_t svldnt1uh_gather_u32base_index_u32(svbool_t, svuint32_t, int64_t);
16932__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_index_u64)))
16933svuint64_t svldnt1uh_gather_u64base_index_u64(svbool_t, svuint64_t, int64_t);
16934__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_index_s32)))
16935svint32_t svldnt1uh_gather_u32base_index_s32(svbool_t, svuint32_t, int64_t);
16936__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_index_s64)))
16937svint64_t svldnt1uh_gather_u64base_index_s64(svbool_t, svuint64_t, int64_t);
16938__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_offset_u32)))
16939svuint32_t svldnt1uh_gather_u32base_offset_u32(svbool_t, svuint32_t, int64_t);
16940__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_offset_u64)))
16941svuint64_t svldnt1uh_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
16942__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_offset_s32)))
16943svint32_t svldnt1uh_gather_u32base_offset_s32(svbool_t, svuint32_t, int64_t);
16944__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_offset_s64)))
16945svint64_t svldnt1uh_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
16946__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_u32)))
16947svuint32_t svldnt1uh_gather_u32base_u32(svbool_t, svuint32_t);
16948__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_u64)))
16949svuint64_t svldnt1uh_gather_u64base_u64(svbool_t, svuint64_t);
16950__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_s32)))
16951svint32_t svldnt1uh_gather_u32base_s32(svbool_t, svuint32_t);
16952__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_s64)))
16953svint64_t svldnt1uh_gather_u64base_s64(svbool_t, svuint64_t);
16954__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64index_u64)))
16955svuint64_t svldnt1uh_gather_s64index_u64(svbool_t, uint16_t const *, svint64_t);
16956__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64index_s64)))
16957svint64_t svldnt1uh_gather_s64index_s64(svbool_t, uint16_t const *, svint64_t);
16958__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64index_u64)))
16959svuint64_t svldnt1uh_gather_u64index_u64(svbool_t, uint16_t const *, svuint64_t);
16960__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64index_s64)))
16961svint64_t svldnt1uh_gather_u64index_s64(svbool_t, uint16_t const *, svuint64_t);
16962__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32offset_u32)))
16963svuint32_t svldnt1uh_gather_u32offset_u32(svbool_t, uint16_t const *, svuint32_t);
16964__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32offset_s32)))
16965svint32_t svldnt1uh_gather_u32offset_s32(svbool_t, uint16_t const *, svuint32_t);
16966__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64offset_u64)))
16967svuint64_t svldnt1uh_gather_s64offset_u64(svbool_t, uint16_t const *, svint64_t);
16968__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64offset_s64)))
16969svint64_t svldnt1uh_gather_s64offset_s64(svbool_t, uint16_t const *, svint64_t);
16970__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64offset_u64)))
16971svuint64_t svldnt1uh_gather_u64offset_u64(svbool_t, uint16_t const *, svuint64_t);
16972__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64offset_s64)))
16973svint64_t svldnt1uh_gather_u64offset_s64(svbool_t, uint16_t const *, svuint64_t);
16974__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_index_u64)))
16975svuint64_t svldnt1uw_gather_u64base_index_u64(svbool_t, svuint64_t, int64_t);
16976__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_index_s64)))
16977svint64_t svldnt1uw_gather_u64base_index_s64(svbool_t, svuint64_t, int64_t);
16978__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_offset_u64)))
16979svuint64_t svldnt1uw_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
16980__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_offset_s64)))
16981svint64_t svldnt1uw_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
16982__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_u64)))
16983svuint64_t svldnt1uw_gather_u64base_u64(svbool_t, svuint64_t);
16984__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_s64)))
16985svint64_t svldnt1uw_gather_u64base_s64(svbool_t, svuint64_t);
16986__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64index_u64)))
16987svuint64_t svldnt1uw_gather_s64index_u64(svbool_t, uint32_t const *, svint64_t);
16988__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64index_s64)))
16989svint64_t svldnt1uw_gather_s64index_s64(svbool_t, uint32_t const *, svint64_t);
16990__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64index_u64)))
16991svuint64_t svldnt1uw_gather_u64index_u64(svbool_t, uint32_t const *, svuint64_t);
16992__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64index_s64)))
16993svint64_t svldnt1uw_gather_u64index_s64(svbool_t, uint32_t const *, svuint64_t);
16994__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64offset_u64)))
16995svuint64_t svldnt1uw_gather_s64offset_u64(svbool_t, uint32_t const *, svint64_t);
16996__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64offset_s64)))
16997svint64_t svldnt1uw_gather_s64offset_s64(svbool_t, uint32_t const *, svint64_t);
16998__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64offset_u64)))
16999svuint64_t svldnt1uw_gather_u64offset_u64(svbool_t, uint32_t const *, svuint64_t);
17000__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64offset_s64)))
17001svint64_t svldnt1uw_gather_u64offset_s64(svbool_t, uint32_t const *, svuint64_t);
17002__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_u8)))
17003svbool_t svmatch_u8(svbool_t, svuint8_t, svuint8_t);
17004__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_u16)))
17005svbool_t svmatch_u16(svbool_t, svuint16_t, svuint16_t);
17006__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_s8)))
17007svbool_t svmatch_s8(svbool_t, svint8_t, svint8_t);
17008__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_s16)))
17009svbool_t svmatch_s16(svbool_t, svint16_t, svint16_t);
17010__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_u8)))
17011svbool_t svnmatch_u8(svbool_t, svuint8_t, svuint8_t);
17012__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_u16)))
17013svbool_t svnmatch_u16(svbool_t, svuint16_t, svuint16_t);
17014__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_s8)))
17015svbool_t svnmatch_s8(svbool_t, svint8_t, svint8_t);
17016__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_s16)))
17017svbool_t svnmatch_s16(svbool_t, svint16_t, svint16_t);
17018__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_index_u32)))
17019void svstnt1_scatter_u32base_index_u32(svbool_t, svuint32_t, int64_t, svuint32_t);
17020__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_index_u64)))
17021void svstnt1_scatter_u64base_index_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
17022__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_index_f64)))
17023void svstnt1_scatter_u64base_index_f64(svbool_t, svuint64_t, int64_t, svfloat64_t);
17024__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_index_f32)))
17025void svstnt1_scatter_u32base_index_f32(svbool_t, svuint32_t, int64_t, svfloat32_t);
17026__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_index_s32)))
17027void svstnt1_scatter_u32base_index_s32(svbool_t, svuint32_t, int64_t, svint32_t);
17028__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_index_s64)))
17029void svstnt1_scatter_u64base_index_s64(svbool_t, svuint64_t, int64_t, svint64_t);
17030__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_offset_u32)))
17031void svstnt1_scatter_u32base_offset_u32(svbool_t, svuint32_t, int64_t, svuint32_t);
17032__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_offset_u64)))
17033void svstnt1_scatter_u64base_offset_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
17034__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_offset_f64)))
17035void svstnt1_scatter_u64base_offset_f64(svbool_t, svuint64_t, int64_t, svfloat64_t);
17036__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_offset_f32)))
17037void svstnt1_scatter_u32base_offset_f32(svbool_t, svuint32_t, int64_t, svfloat32_t);
17038__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_offset_s32)))
17039void svstnt1_scatter_u32base_offset_s32(svbool_t, svuint32_t, int64_t, svint32_t);
17040__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_offset_s64)))
17041void svstnt1_scatter_u64base_offset_s64(svbool_t, svuint64_t, int64_t, svint64_t);
17042__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_u32)))
17043void svstnt1_scatter_u32base_u32(svbool_t, svuint32_t, svuint32_t);
17044__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_u64)))
17045void svstnt1_scatter_u64base_u64(svbool_t, svuint64_t, svuint64_t);
17046__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_f64)))
17047void svstnt1_scatter_u64base_f64(svbool_t, svuint64_t, svfloat64_t);
17048__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_f32)))
17049void svstnt1_scatter_u32base_f32(svbool_t, svuint32_t, svfloat32_t);
17050__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_s32)))
17051void svstnt1_scatter_u32base_s32(svbool_t, svuint32_t, svint32_t);
17052__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_s64)))
17053void svstnt1_scatter_u64base_s64(svbool_t, svuint64_t, svint64_t);
17054__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64index_u64)))
17055void svstnt1_scatter_s64index_u64(svbool_t, uint64_t *, svint64_t, svuint64_t);
17056__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64index_f64)))
17057void svstnt1_scatter_s64index_f64(svbool_t, float64_t *, svint64_t, svfloat64_t);
17058__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64index_s64)))
17059void svstnt1_scatter_s64index_s64(svbool_t, int64_t *, svint64_t, svint64_t);
17060__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64index_u64)))
17061void svstnt1_scatter_u64index_u64(svbool_t, uint64_t *, svuint64_t, svuint64_t);
17062__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64index_f64)))
17063void svstnt1_scatter_u64index_f64(svbool_t, float64_t *, svuint64_t, svfloat64_t);
17064__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64index_s64)))
17065void svstnt1_scatter_u64index_s64(svbool_t, int64_t *, svuint64_t, svint64_t);
17066__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32offset_u32)))
17067void svstnt1_scatter_u32offset_u32(svbool_t, uint32_t *, svuint32_t, svuint32_t);
17068__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32offset_f32)))
17069void svstnt1_scatter_u32offset_f32(svbool_t, float32_t *, svuint32_t, svfloat32_t);
17070__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32offset_s32)))
17071void svstnt1_scatter_u32offset_s32(svbool_t, int32_t *, svuint32_t, svint32_t);
17072__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64offset_u64)))
17073void svstnt1_scatter_s64offset_u64(svbool_t, uint64_t *, svint64_t, svuint64_t);
17074__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64offset_f64)))
17075void svstnt1_scatter_s64offset_f64(svbool_t, float64_t *, svint64_t, svfloat64_t);
17076__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64offset_s64)))
17077void svstnt1_scatter_s64offset_s64(svbool_t, int64_t *, svint64_t, svint64_t);
17078__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64offset_u64)))
17079void svstnt1_scatter_u64offset_u64(svbool_t, uint64_t *, svuint64_t, svuint64_t);
17080__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64offset_f64)))
17081void svstnt1_scatter_u64offset_f64(svbool_t, float64_t *, svuint64_t, svfloat64_t);
17082__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64offset_s64)))
17083void svstnt1_scatter_u64offset_s64(svbool_t, int64_t *, svuint64_t, svint64_t);
17084__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_offset_u32)))
17085void svstnt1b_scatter_u32base_offset_u32(svbool_t, svuint32_t, int64_t, svuint32_t);
17086__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_offset_u64)))
17087void svstnt1b_scatter_u64base_offset_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
17088__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_offset_s32)))
17089void svstnt1b_scatter_u32base_offset_s32(svbool_t, svuint32_t, int64_t, svint32_t);
17090__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_offset_s64)))
17091void svstnt1b_scatter_u64base_offset_s64(svbool_t, svuint64_t, int64_t, svint64_t);
17092__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_u32)))
17093void svstnt1b_scatter_u32base_u32(svbool_t, svuint32_t, svuint32_t);
17094__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_u64)))
17095void svstnt1b_scatter_u64base_u64(svbool_t, svuint64_t, svuint64_t);
17096__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_s32)))
17097void svstnt1b_scatter_u32base_s32(svbool_t, svuint32_t, svint32_t);
17098__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_s64)))
17099void svstnt1b_scatter_u64base_s64(svbool_t, svuint64_t, svint64_t);
17100__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32offset_s32)))
17101void svstnt1b_scatter_u32offset_s32(svbool_t, int8_t *, svuint32_t, svint32_t);
17102__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32offset_u32)))
17103void svstnt1b_scatter_u32offset_u32(svbool_t, uint8_t *, svuint32_t, svuint32_t);
17104__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_s64offset_s64)))
17105void svstnt1b_scatter_s64offset_s64(svbool_t, int8_t *, svint64_t, svint64_t);
17106__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_s64offset_u64)))
17107void svstnt1b_scatter_s64offset_u64(svbool_t, uint8_t *, svint64_t, svuint64_t);
17108__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64offset_s64)))
17109void svstnt1b_scatter_u64offset_s64(svbool_t, int8_t *, svuint64_t, svint64_t);
17110__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64offset_u64)))
17111void svstnt1b_scatter_u64offset_u64(svbool_t, uint8_t *, svuint64_t, svuint64_t);
17112__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_index_u32)))
17113void svstnt1h_scatter_u32base_index_u32(svbool_t, svuint32_t, int64_t, svuint32_t);
17114__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_index_u64)))
17115void svstnt1h_scatter_u64base_index_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
17116__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_index_s32)))
17117void svstnt1h_scatter_u32base_index_s32(svbool_t, svuint32_t, int64_t, svint32_t);
17118__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_index_s64)))
17119void svstnt1h_scatter_u64base_index_s64(svbool_t, svuint64_t, int64_t, svint64_t);
17120__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_offset_u32)))
17121void svstnt1h_scatter_u32base_offset_u32(svbool_t, svuint32_t, int64_t, svuint32_t);
17122__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_offset_u64)))
17123void svstnt1h_scatter_u64base_offset_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
17124__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_offset_s32)))
17125void svstnt1h_scatter_u32base_offset_s32(svbool_t, svuint32_t, int64_t, svint32_t);
17126__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_offset_s64)))
17127void svstnt1h_scatter_u64base_offset_s64(svbool_t, svuint64_t, int64_t, svint64_t);
17128__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_u32)))
17129void svstnt1h_scatter_u32base_u32(svbool_t, svuint32_t, svuint32_t);
17130__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_u64)))
17131void svstnt1h_scatter_u64base_u64(svbool_t, svuint64_t, svuint64_t);
17132__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_s32)))
17133void svstnt1h_scatter_u32base_s32(svbool_t, svuint32_t, svint32_t);
17134__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_s64)))
17135void svstnt1h_scatter_u64base_s64(svbool_t, svuint64_t, svint64_t);
17136__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64index_s64)))
17137void svstnt1h_scatter_s64index_s64(svbool_t, int16_t *, svint64_t, svint64_t);
17138__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64index_u64)))
17139void svstnt1h_scatter_s64index_u64(svbool_t, uint16_t *, svint64_t, svuint64_t);
17140__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64index_s64)))
17141void svstnt1h_scatter_u64index_s64(svbool_t, int16_t *, svuint64_t, svint64_t);
17142__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64index_u64)))
17143void svstnt1h_scatter_u64index_u64(svbool_t, uint16_t *, svuint64_t, svuint64_t);
17144__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32offset_s32)))
17145void svstnt1h_scatter_u32offset_s32(svbool_t, int16_t *, svuint32_t, svint32_t);
17146__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32offset_u32)))
17147void svstnt1h_scatter_u32offset_u32(svbool_t, uint16_t *, svuint32_t, svuint32_t);
17148__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64offset_s64)))
17149void svstnt1h_scatter_s64offset_s64(svbool_t, int16_t *, svint64_t, svint64_t);
17150__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64offset_u64)))
17151void svstnt1h_scatter_s64offset_u64(svbool_t, uint16_t *, svint64_t, svuint64_t);
17152__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64offset_s64)))
17153void svstnt1h_scatter_u64offset_s64(svbool_t, int16_t *, svuint64_t, svint64_t);
17154__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64offset_u64)))
17155void svstnt1h_scatter_u64offset_u64(svbool_t, uint16_t *, svuint64_t, svuint64_t);
17156__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_index_u64)))
17157void svstnt1w_scatter_u64base_index_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
17158__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_index_s64)))
17159void svstnt1w_scatter_u64base_index_s64(svbool_t, svuint64_t, int64_t, svint64_t);
17160__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_offset_u64)))
17161void svstnt1w_scatter_u64base_offset_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
17162__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_offset_s64)))
17163void svstnt1w_scatter_u64base_offset_s64(svbool_t, svuint64_t, int64_t, svint64_t);
17164__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_u64)))
17165void svstnt1w_scatter_u64base_u64(svbool_t, svuint64_t, svuint64_t);
17166__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_s64)))
17167void svstnt1w_scatter_u64base_s64(svbool_t, svuint64_t, svint64_t);
17168__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64index_s64)))
17169void svstnt1w_scatter_s64index_s64(svbool_t, int32_t *, svint64_t, svint64_t);
17170__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64index_u64)))
17171void svstnt1w_scatter_s64index_u64(svbool_t, uint32_t *, svint64_t, svuint64_t);
17172__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64index_s64)))
17173void svstnt1w_scatter_u64index_s64(svbool_t, int32_t *, svuint64_t, svint64_t);
17174__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64index_u64)))
17175void svstnt1w_scatter_u64index_u64(svbool_t, uint32_t *, svuint64_t, svuint64_t);
17176__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64offset_s64)))
17177void svstnt1w_scatter_s64offset_s64(svbool_t, int32_t *, svint64_t, svint64_t);
17178__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64offset_u64)))
17179void svstnt1w_scatter_s64offset_u64(svbool_t, uint32_t *, svint64_t, svuint64_t);
17180__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64offset_s64)))
17181void svstnt1w_scatter_u64offset_s64(svbool_t, int32_t *, svuint64_t, svint64_t);
17182__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64offset_u64)))
17183void svstnt1w_scatter_u64offset_u64(svbool_t, uint32_t *, svuint64_t, svuint64_t);
17184__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_u32_z)))
17185svuint32_t svhistcnt_z(svbool_t, svuint32_t, svuint32_t);
17186__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_u64_z)))
17187svuint64_t svhistcnt_z(svbool_t, svuint64_t, svuint64_t);
17188__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_s32_z)))
17189svuint32_t svhistcnt_z(svbool_t, svint32_t, svint32_t);
17190__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistcnt_s64_z)))
17191svuint64_t svhistcnt_z(svbool_t, svint64_t, svint64_t);
17192__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistseg_u8)))
17193svuint8_t svhistseg(svuint8_t, svuint8_t);
17194__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svhistseg_s8)))
17195svuint8_t svhistseg(svint8_t, svint8_t);
17196__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_index_u32)))
17197svuint32_t svldnt1_gather_index_u32(svbool_t, svuint32_t, int64_t);
17198__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_index_u64)))
17199svuint64_t svldnt1_gather_index_u64(svbool_t, svuint64_t, int64_t);
17200__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_index_f64)))
17201svfloat64_t svldnt1_gather_index_f64(svbool_t, svuint64_t, int64_t);
17202__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_index_f32)))
17203svfloat32_t svldnt1_gather_index_f32(svbool_t, svuint32_t, int64_t);
17204__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_index_s32)))
17205svint32_t svldnt1_gather_index_s32(svbool_t, svuint32_t, int64_t);
17206__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_index_s64)))
17207svint64_t svldnt1_gather_index_s64(svbool_t, svuint64_t, int64_t);
17208__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_offset_u32)))
17209svuint32_t svldnt1_gather_offset_u32(svbool_t, svuint32_t, int64_t);
17210__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_offset_u64)))
17211svuint64_t svldnt1_gather_offset_u64(svbool_t, svuint64_t, int64_t);
17212__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_offset_f64)))
17213svfloat64_t svldnt1_gather_offset_f64(svbool_t, svuint64_t, int64_t);
17214__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_offset_f32)))
17215svfloat32_t svldnt1_gather_offset_f32(svbool_t, svuint32_t, int64_t);
17216__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_offset_s32)))
17217svint32_t svldnt1_gather_offset_s32(svbool_t, svuint32_t, int64_t);
17218__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_offset_s64)))
17219svint64_t svldnt1_gather_offset_s64(svbool_t, svuint64_t, int64_t);
17220__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_u32)))
17221svuint32_t svldnt1_gather_u32(svbool_t, svuint32_t);
17222__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_u64)))
17223svuint64_t svldnt1_gather_u64(svbool_t, svuint64_t);
17224__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_f64)))
17225svfloat64_t svldnt1_gather_f64(svbool_t, svuint64_t);
17226__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_f32)))
17227svfloat32_t svldnt1_gather_f32(svbool_t, svuint32_t);
17228__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32base_s32)))
17229svint32_t svldnt1_gather_s32(svbool_t, svuint32_t);
17230__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64base_s64)))
17231svint64_t svldnt1_gather_s64(svbool_t, svuint64_t);
17232__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64index_u64)))
17233svuint64_t svldnt1_gather_index(svbool_t, uint64_t const *, svint64_t);
17234__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64index_f64)))
17235svfloat64_t svldnt1_gather_index(svbool_t, float64_t const *, svint64_t);
17236__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64index_s64)))
17237svint64_t svldnt1_gather_index(svbool_t, int64_t const *, svint64_t);
17238__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64index_u64)))
17239svuint64_t svldnt1_gather_index(svbool_t, uint64_t const *, svuint64_t);
17240__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64index_f64)))
17241svfloat64_t svldnt1_gather_index(svbool_t, float64_t const *, svuint64_t);
17242__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64index_s64)))
17243svint64_t svldnt1_gather_index(svbool_t, int64_t const *, svuint64_t);
17244__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32offset_u32)))
17245svuint32_t svldnt1_gather_offset(svbool_t, uint32_t const *, svuint32_t);
17246__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32offset_f32)))
17247svfloat32_t svldnt1_gather_offset(svbool_t, float32_t const *, svuint32_t);
17248__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u32offset_s32)))
17249svint32_t svldnt1_gather_offset(svbool_t, int32_t const *, svuint32_t);
17250__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64offset_u64)))
17251svuint64_t svldnt1_gather_offset(svbool_t, uint64_t const *, svint64_t);
17252__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64offset_f64)))
17253svfloat64_t svldnt1_gather_offset(svbool_t, float64_t const *, svint64_t);
17254__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_s64offset_s64)))
17255svint64_t svldnt1_gather_offset(svbool_t, int64_t const *, svint64_t);
17256__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64offset_u64)))
17257svuint64_t svldnt1_gather_offset(svbool_t, uint64_t const *, svuint64_t);
17258__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64offset_f64)))
17259svfloat64_t svldnt1_gather_offset(svbool_t, float64_t const *, svuint64_t);
17260__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_gather_u64offset_s64)))
17261svint64_t svldnt1_gather_offset(svbool_t, int64_t const *, svuint64_t);
17262__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_offset_u32)))
17263svuint32_t svldnt1sb_gather_offset_u32(svbool_t, svuint32_t, int64_t);
17264__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_offset_u64)))
17265svuint64_t svldnt1sb_gather_offset_u64(svbool_t, svuint64_t, int64_t);
17266__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_offset_s32)))
17267svint32_t svldnt1sb_gather_offset_s32(svbool_t, svuint32_t, int64_t);
17268__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_offset_s64)))
17269svint64_t svldnt1sb_gather_offset_s64(svbool_t, svuint64_t, int64_t);
17270__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_u32)))
17271svuint32_t svldnt1sb_gather_u32(svbool_t, svuint32_t);
17272__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_u64)))
17273svuint64_t svldnt1sb_gather_u64(svbool_t, svuint64_t);
17274__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32base_s32)))
17275svint32_t svldnt1sb_gather_s32(svbool_t, svuint32_t);
17276__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64base_s64)))
17277svint64_t svldnt1sb_gather_s64(svbool_t, svuint64_t);
17278__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32offset_u32)))
17279svuint32_t svldnt1sb_gather_offset_u32(svbool_t, int8_t const *, svuint32_t);
17280__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u32offset_s32)))
17281svint32_t svldnt1sb_gather_offset_s32(svbool_t, int8_t const *, svuint32_t);
17282__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_s64offset_u64)))
17283svuint64_t svldnt1sb_gather_offset_u64(svbool_t, int8_t const *, svint64_t);
17284__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_s64offset_s64)))
17285svint64_t svldnt1sb_gather_offset_s64(svbool_t, int8_t const *, svint64_t);
17286__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64offset_u64)))
17287svuint64_t svldnt1sb_gather_offset_u64(svbool_t, int8_t const *, svuint64_t);
17288__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sb_gather_u64offset_s64)))
17289svint64_t svldnt1sb_gather_offset_s64(svbool_t, int8_t const *, svuint64_t);
17290__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_index_u32)))
17291svuint32_t svldnt1sh_gather_index_u32(svbool_t, svuint32_t, int64_t);
17292__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_index_u64)))
17293svuint64_t svldnt1sh_gather_index_u64(svbool_t, svuint64_t, int64_t);
17294__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_index_s32)))
17295svint32_t svldnt1sh_gather_index_s32(svbool_t, svuint32_t, int64_t);
17296__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_index_s64)))
17297svint64_t svldnt1sh_gather_index_s64(svbool_t, svuint64_t, int64_t);
17298__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_offset_u32)))
17299svuint32_t svldnt1sh_gather_offset_u32(svbool_t, svuint32_t, int64_t);
17300__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_offset_u64)))
17301svuint64_t svldnt1sh_gather_offset_u64(svbool_t, svuint64_t, int64_t);
17302__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_offset_s32)))
17303svint32_t svldnt1sh_gather_offset_s32(svbool_t, svuint32_t, int64_t);
17304__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_offset_s64)))
17305svint64_t svldnt1sh_gather_offset_s64(svbool_t, svuint64_t, int64_t);
17306__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_u32)))
17307svuint32_t svldnt1sh_gather_u32(svbool_t, svuint32_t);
17308__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_u64)))
17309svuint64_t svldnt1sh_gather_u64(svbool_t, svuint64_t);
17310__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32base_s32)))
17311svint32_t svldnt1sh_gather_s32(svbool_t, svuint32_t);
17312__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64base_s64)))
17313svint64_t svldnt1sh_gather_s64(svbool_t, svuint64_t);
17314__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64index_u64)))
17315svuint64_t svldnt1sh_gather_index_u64(svbool_t, int16_t const *, svint64_t);
17316__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64index_s64)))
17317svint64_t svldnt1sh_gather_index_s64(svbool_t, int16_t const *, svint64_t);
17318__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64index_u64)))
17319svuint64_t svldnt1sh_gather_index_u64(svbool_t, int16_t const *, svuint64_t);
17320__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64index_s64)))
17321svint64_t svldnt1sh_gather_index_s64(svbool_t, int16_t const *, svuint64_t);
17322__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32offset_u32)))
17323svuint32_t svldnt1sh_gather_offset_u32(svbool_t, int16_t const *, svuint32_t);
17324__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u32offset_s32)))
17325svint32_t svldnt1sh_gather_offset_s32(svbool_t, int16_t const *, svuint32_t);
17326__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64offset_u64)))
17327svuint64_t svldnt1sh_gather_offset_u64(svbool_t, int16_t const *, svint64_t);
17328__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_s64offset_s64)))
17329svint64_t svldnt1sh_gather_offset_s64(svbool_t, int16_t const *, svint64_t);
17330__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64offset_u64)))
17331svuint64_t svldnt1sh_gather_offset_u64(svbool_t, int16_t const *, svuint64_t);
17332__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sh_gather_u64offset_s64)))
17333svint64_t svldnt1sh_gather_offset_s64(svbool_t, int16_t const *, svuint64_t);
17334__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_index_u64)))
17335svuint64_t svldnt1sw_gather_index_u64(svbool_t, svuint64_t, int64_t);
17336__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_index_s64)))
17337svint64_t svldnt1sw_gather_index_s64(svbool_t, svuint64_t, int64_t);
17338__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_offset_u64)))
17339svuint64_t svldnt1sw_gather_offset_u64(svbool_t, svuint64_t, int64_t);
17340__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_offset_s64)))
17341svint64_t svldnt1sw_gather_offset_s64(svbool_t, svuint64_t, int64_t);
17342__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_u64)))
17343svuint64_t svldnt1sw_gather_u64(svbool_t, svuint64_t);
17344__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64base_s64)))
17345svint64_t svldnt1sw_gather_s64(svbool_t, svuint64_t);
17346__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64index_u64)))
17347svuint64_t svldnt1sw_gather_index_u64(svbool_t, int32_t const *, svint64_t);
17348__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64index_s64)))
17349svint64_t svldnt1sw_gather_index_s64(svbool_t, int32_t const *, svint64_t);
17350__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64index_u64)))
17351svuint64_t svldnt1sw_gather_index_u64(svbool_t, int32_t const *, svuint64_t);
17352__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64index_s64)))
17353svint64_t svldnt1sw_gather_index_s64(svbool_t, int32_t const *, svuint64_t);
17354__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64offset_u64)))
17355svuint64_t svldnt1sw_gather_offset_u64(svbool_t, int32_t const *, svint64_t);
17356__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_s64offset_s64)))
17357svint64_t svldnt1sw_gather_offset_s64(svbool_t, int32_t const *, svint64_t);
17358__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64offset_u64)))
17359svuint64_t svldnt1sw_gather_offset_u64(svbool_t, int32_t const *, svuint64_t);
17360__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1sw_gather_u64offset_s64)))
17361svint64_t svldnt1sw_gather_offset_s64(svbool_t, int32_t const *, svuint64_t);
17362__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_offset_u32)))
17363svuint32_t svldnt1ub_gather_offset_u32(svbool_t, svuint32_t, int64_t);
17364__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_offset_u64)))
17365svuint64_t svldnt1ub_gather_offset_u64(svbool_t, svuint64_t, int64_t);
17366__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_offset_s32)))
17367svint32_t svldnt1ub_gather_offset_s32(svbool_t, svuint32_t, int64_t);
17368__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_offset_s64)))
17369svint64_t svldnt1ub_gather_offset_s64(svbool_t, svuint64_t, int64_t);
17370__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_u32)))
17371svuint32_t svldnt1ub_gather_u32(svbool_t, svuint32_t);
17372__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_u64)))
17373svuint64_t svldnt1ub_gather_u64(svbool_t, svuint64_t);
17374__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32base_s32)))
17375svint32_t svldnt1ub_gather_s32(svbool_t, svuint32_t);
17376__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64base_s64)))
17377svint64_t svldnt1ub_gather_s64(svbool_t, svuint64_t);
17378__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32offset_u32)))
17379svuint32_t svldnt1ub_gather_offset_u32(svbool_t, uint8_t const *, svuint32_t);
17380__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u32offset_s32)))
17381svint32_t svldnt1ub_gather_offset_s32(svbool_t, uint8_t const *, svuint32_t);
17382__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_s64offset_u64)))
17383svuint64_t svldnt1ub_gather_offset_u64(svbool_t, uint8_t const *, svint64_t);
17384__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_s64offset_s64)))
17385svint64_t svldnt1ub_gather_offset_s64(svbool_t, uint8_t const *, svint64_t);
17386__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64offset_u64)))
17387svuint64_t svldnt1ub_gather_offset_u64(svbool_t, uint8_t const *, svuint64_t);
17388__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1ub_gather_u64offset_s64)))
17389svint64_t svldnt1ub_gather_offset_s64(svbool_t, uint8_t const *, svuint64_t);
17390__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_index_u32)))
17391svuint32_t svldnt1uh_gather_index_u32(svbool_t, svuint32_t, int64_t);
17392__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_index_u64)))
17393svuint64_t svldnt1uh_gather_index_u64(svbool_t, svuint64_t, int64_t);
17394__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_index_s32)))
17395svint32_t svldnt1uh_gather_index_s32(svbool_t, svuint32_t, int64_t);
17396__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_index_s64)))
17397svint64_t svldnt1uh_gather_index_s64(svbool_t, svuint64_t, int64_t);
17398__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_offset_u32)))
17399svuint32_t svldnt1uh_gather_offset_u32(svbool_t, svuint32_t, int64_t);
17400__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_offset_u64)))
17401svuint64_t svldnt1uh_gather_offset_u64(svbool_t, svuint64_t, int64_t);
17402__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_offset_s32)))
17403svint32_t svldnt1uh_gather_offset_s32(svbool_t, svuint32_t, int64_t);
17404__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_offset_s64)))
17405svint64_t svldnt1uh_gather_offset_s64(svbool_t, svuint64_t, int64_t);
17406__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_u32)))
17407svuint32_t svldnt1uh_gather_u32(svbool_t, svuint32_t);
17408__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_u64)))
17409svuint64_t svldnt1uh_gather_u64(svbool_t, svuint64_t);
17410__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32base_s32)))
17411svint32_t svldnt1uh_gather_s32(svbool_t, svuint32_t);
17412__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64base_s64)))
17413svint64_t svldnt1uh_gather_s64(svbool_t, svuint64_t);
17414__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64index_u64)))
17415svuint64_t svldnt1uh_gather_index_u64(svbool_t, uint16_t const *, svint64_t);
17416__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64index_s64)))
17417svint64_t svldnt1uh_gather_index_s64(svbool_t, uint16_t const *, svint64_t);
17418__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64index_u64)))
17419svuint64_t svldnt1uh_gather_index_u64(svbool_t, uint16_t const *, svuint64_t);
17420__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64index_s64)))
17421svint64_t svldnt1uh_gather_index_s64(svbool_t, uint16_t const *, svuint64_t);
17422__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32offset_u32)))
17423svuint32_t svldnt1uh_gather_offset_u32(svbool_t, uint16_t const *, svuint32_t);
17424__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u32offset_s32)))
17425svint32_t svldnt1uh_gather_offset_s32(svbool_t, uint16_t const *, svuint32_t);
17426__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64offset_u64)))
17427svuint64_t svldnt1uh_gather_offset_u64(svbool_t, uint16_t const *, svint64_t);
17428__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_s64offset_s64)))
17429svint64_t svldnt1uh_gather_offset_s64(svbool_t, uint16_t const *, svint64_t);
17430__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64offset_u64)))
17431svuint64_t svldnt1uh_gather_offset_u64(svbool_t, uint16_t const *, svuint64_t);
17432__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uh_gather_u64offset_s64)))
17433svint64_t svldnt1uh_gather_offset_s64(svbool_t, uint16_t const *, svuint64_t);
17434__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_index_u64)))
17435svuint64_t svldnt1uw_gather_index_u64(svbool_t, svuint64_t, int64_t);
17436__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_index_s64)))
17437svint64_t svldnt1uw_gather_index_s64(svbool_t, svuint64_t, int64_t);
17438__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_offset_u64)))
17439svuint64_t svldnt1uw_gather_offset_u64(svbool_t, svuint64_t, int64_t);
17440__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_offset_s64)))
17441svint64_t svldnt1uw_gather_offset_s64(svbool_t, svuint64_t, int64_t);
17442__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_u64)))
17443svuint64_t svldnt1uw_gather_u64(svbool_t, svuint64_t);
17444__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64base_s64)))
17445svint64_t svldnt1uw_gather_s64(svbool_t, svuint64_t);
17446__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64index_u64)))
17447svuint64_t svldnt1uw_gather_index_u64(svbool_t, uint32_t const *, svint64_t);
17448__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64index_s64)))
17449svint64_t svldnt1uw_gather_index_s64(svbool_t, uint32_t const *, svint64_t);
17450__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64index_u64)))
17451svuint64_t svldnt1uw_gather_index_u64(svbool_t, uint32_t const *, svuint64_t);
17452__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64index_s64)))
17453svint64_t svldnt1uw_gather_index_s64(svbool_t, uint32_t const *, svuint64_t);
17454__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64offset_u64)))
17455svuint64_t svldnt1uw_gather_offset_u64(svbool_t, uint32_t const *, svint64_t);
17456__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_s64offset_s64)))
17457svint64_t svldnt1uw_gather_offset_s64(svbool_t, uint32_t const *, svint64_t);
17458__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64offset_u64)))
17459svuint64_t svldnt1uw_gather_offset_u64(svbool_t, uint32_t const *, svuint64_t);
17460__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1uw_gather_u64offset_s64)))
17461svint64_t svldnt1uw_gather_offset_s64(svbool_t, uint32_t const *, svuint64_t);
17462__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_u8)))
17463svbool_t svmatch(svbool_t, svuint8_t, svuint8_t);
17464__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_u16)))
17465svbool_t svmatch(svbool_t, svuint16_t, svuint16_t);
17466__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_s8)))
17467svbool_t svmatch(svbool_t, svint8_t, svint8_t);
17468__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmatch_s16)))
17469svbool_t svmatch(svbool_t, svint16_t, svint16_t);
17470__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_u8)))
17471svbool_t svnmatch(svbool_t, svuint8_t, svuint8_t);
17472__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_u16)))
17473svbool_t svnmatch(svbool_t, svuint16_t, svuint16_t);
17474__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_s8)))
17475svbool_t svnmatch(svbool_t, svint8_t, svint8_t);
17476__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svnmatch_s16)))
17477svbool_t svnmatch(svbool_t, svint16_t, svint16_t);
17478__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_index_u32)))
17479void svstnt1_scatter_index(svbool_t, svuint32_t, int64_t, svuint32_t);
17480__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_index_u64)))
17481void svstnt1_scatter_index(svbool_t, svuint64_t, int64_t, svuint64_t);
17482__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_index_f64)))
17483void svstnt1_scatter_index(svbool_t, svuint64_t, int64_t, svfloat64_t);
17484__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_index_f32)))
17485void svstnt1_scatter_index(svbool_t, svuint32_t, int64_t, svfloat32_t);
17486__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_index_s32)))
17487void svstnt1_scatter_index(svbool_t, svuint32_t, int64_t, svint32_t);
17488__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_index_s64)))
17489void svstnt1_scatter_index(svbool_t, svuint64_t, int64_t, svint64_t);
17490__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_offset_u32)))
17491void svstnt1_scatter_offset(svbool_t, svuint32_t, int64_t, svuint32_t);
17492__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_offset_u64)))
17493void svstnt1_scatter_offset(svbool_t, svuint64_t, int64_t, svuint64_t);
17494__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_offset_f64)))
17495void svstnt1_scatter_offset(svbool_t, svuint64_t, int64_t, svfloat64_t);
17496__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_offset_f32)))
17497void svstnt1_scatter_offset(svbool_t, svuint32_t, int64_t, svfloat32_t);
17498__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_offset_s32)))
17499void svstnt1_scatter_offset(svbool_t, svuint32_t, int64_t, svint32_t);
17500__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_offset_s64)))
17501void svstnt1_scatter_offset(svbool_t, svuint64_t, int64_t, svint64_t);
17502__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_u32)))
17503void svstnt1_scatter(svbool_t, svuint32_t, svuint32_t);
17504__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_u64)))
17505void svstnt1_scatter(svbool_t, svuint64_t, svuint64_t);
17506__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_f64)))
17507void svstnt1_scatter(svbool_t, svuint64_t, svfloat64_t);
17508__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_f32)))
17509void svstnt1_scatter(svbool_t, svuint32_t, svfloat32_t);
17510__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32base_s32)))
17511void svstnt1_scatter(svbool_t, svuint32_t, svint32_t);
17512__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64base_s64)))
17513void svstnt1_scatter(svbool_t, svuint64_t, svint64_t);
17514__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64index_u64)))
17515void svstnt1_scatter_index(svbool_t, uint64_t *, svint64_t, svuint64_t);
17516__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64index_f64)))
17517void svstnt1_scatter_index(svbool_t, float64_t *, svint64_t, svfloat64_t);
17518__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64index_s64)))
17519void svstnt1_scatter_index(svbool_t, int64_t *, svint64_t, svint64_t);
17520__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64index_u64)))
17521void svstnt1_scatter_index(svbool_t, uint64_t *, svuint64_t, svuint64_t);
17522__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64index_f64)))
17523void svstnt1_scatter_index(svbool_t, float64_t *, svuint64_t, svfloat64_t);
17524__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64index_s64)))
17525void svstnt1_scatter_index(svbool_t, int64_t *, svuint64_t, svint64_t);
17526__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32offset_u32)))
17527void svstnt1_scatter_offset(svbool_t, uint32_t *, svuint32_t, svuint32_t);
17528__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32offset_f32)))
17529void svstnt1_scatter_offset(svbool_t, float32_t *, svuint32_t, svfloat32_t);
17530__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u32offset_s32)))
17531void svstnt1_scatter_offset(svbool_t, int32_t *, svuint32_t, svint32_t);
17532__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64offset_u64)))
17533void svstnt1_scatter_offset(svbool_t, uint64_t *, svint64_t, svuint64_t);
17534__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64offset_f64)))
17535void svstnt1_scatter_offset(svbool_t, float64_t *, svint64_t, svfloat64_t);
17536__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_s64offset_s64)))
17537void svstnt1_scatter_offset(svbool_t, int64_t *, svint64_t, svint64_t);
17538__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64offset_u64)))
17539void svstnt1_scatter_offset(svbool_t, uint64_t *, svuint64_t, svuint64_t);
17540__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64offset_f64)))
17541void svstnt1_scatter_offset(svbool_t, float64_t *, svuint64_t, svfloat64_t);
17542__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_scatter_u64offset_s64)))
17543void svstnt1_scatter_offset(svbool_t, int64_t *, svuint64_t, svint64_t);
17544__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_offset_u32)))
17545void svstnt1b_scatter_offset(svbool_t, svuint32_t, int64_t, svuint32_t);
17546__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_offset_u64)))
17547void svstnt1b_scatter_offset(svbool_t, svuint64_t, int64_t, svuint64_t);
17548__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_offset_s32)))
17549void svstnt1b_scatter_offset(svbool_t, svuint32_t, int64_t, svint32_t);
17550__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_offset_s64)))
17551void svstnt1b_scatter_offset(svbool_t, svuint64_t, int64_t, svint64_t);
17552__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_u32)))
17553void svstnt1b_scatter(svbool_t, svuint32_t, svuint32_t);
17554__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_u64)))
17555void svstnt1b_scatter(svbool_t, svuint64_t, svuint64_t);
17556__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32base_s32)))
17557void svstnt1b_scatter(svbool_t, svuint32_t, svint32_t);
17558__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64base_s64)))
17559void svstnt1b_scatter(svbool_t, svuint64_t, svint64_t);
17560__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32offset_s32)))
17561void svstnt1b_scatter_offset(svbool_t, int8_t *, svuint32_t, svint32_t);
17562__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u32offset_u32)))
17563void svstnt1b_scatter_offset(svbool_t, uint8_t *, svuint32_t, svuint32_t);
17564__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_s64offset_s64)))
17565void svstnt1b_scatter_offset(svbool_t, int8_t *, svint64_t, svint64_t);
17566__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_s64offset_u64)))
17567void svstnt1b_scatter_offset(svbool_t, uint8_t *, svint64_t, svuint64_t);
17568__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64offset_s64)))
17569void svstnt1b_scatter_offset(svbool_t, int8_t *, svuint64_t, svint64_t);
17570__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1b_scatter_u64offset_u64)))
17571void svstnt1b_scatter_offset(svbool_t, uint8_t *, svuint64_t, svuint64_t);
17572__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_index_u32)))
17573void svstnt1h_scatter_index(svbool_t, svuint32_t, int64_t, svuint32_t);
17574__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_index_u64)))
17575void svstnt1h_scatter_index(svbool_t, svuint64_t, int64_t, svuint64_t);
17576__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_index_s32)))
17577void svstnt1h_scatter_index(svbool_t, svuint32_t, int64_t, svint32_t);
17578__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_index_s64)))
17579void svstnt1h_scatter_index(svbool_t, svuint64_t, int64_t, svint64_t);
17580__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_offset_u32)))
17581void svstnt1h_scatter_offset(svbool_t, svuint32_t, int64_t, svuint32_t);
17582__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_offset_u64)))
17583void svstnt1h_scatter_offset(svbool_t, svuint64_t, int64_t, svuint64_t);
17584__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_offset_s32)))
17585void svstnt1h_scatter_offset(svbool_t, svuint32_t, int64_t, svint32_t);
17586__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_offset_s64)))
17587void svstnt1h_scatter_offset(svbool_t, svuint64_t, int64_t, svint64_t);
17588__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_u32)))
17589void svstnt1h_scatter(svbool_t, svuint32_t, svuint32_t);
17590__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_u64)))
17591void svstnt1h_scatter(svbool_t, svuint64_t, svuint64_t);
17592__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32base_s32)))
17593void svstnt1h_scatter(svbool_t, svuint32_t, svint32_t);
17594__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64base_s64)))
17595void svstnt1h_scatter(svbool_t, svuint64_t, svint64_t);
17596__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64index_s64)))
17597void svstnt1h_scatter_index(svbool_t, int16_t *, svint64_t, svint64_t);
17598__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64index_u64)))
17599void svstnt1h_scatter_index(svbool_t, uint16_t *, svint64_t, svuint64_t);
17600__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64index_s64)))
17601void svstnt1h_scatter_index(svbool_t, int16_t *, svuint64_t, svint64_t);
17602__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64index_u64)))
17603void svstnt1h_scatter_index(svbool_t, uint16_t *, svuint64_t, svuint64_t);
17604__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32offset_s32)))
17605void svstnt1h_scatter_offset(svbool_t, int16_t *, svuint32_t, svint32_t);
17606__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u32offset_u32)))
17607void svstnt1h_scatter_offset(svbool_t, uint16_t *, svuint32_t, svuint32_t);
17608__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64offset_s64)))
17609void svstnt1h_scatter_offset(svbool_t, int16_t *, svint64_t, svint64_t);
17610__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_s64offset_u64)))
17611void svstnt1h_scatter_offset(svbool_t, uint16_t *, svint64_t, svuint64_t);
17612__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64offset_s64)))
17613void svstnt1h_scatter_offset(svbool_t, int16_t *, svuint64_t, svint64_t);
17614__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1h_scatter_u64offset_u64)))
17615void svstnt1h_scatter_offset(svbool_t, uint16_t *, svuint64_t, svuint64_t);
17616__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_index_u64)))
17617void svstnt1w_scatter_index(svbool_t, svuint64_t, int64_t, svuint64_t);
17618__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_index_s64)))
17619void svstnt1w_scatter_index(svbool_t, svuint64_t, int64_t, svint64_t);
17620__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_offset_u64)))
17621void svstnt1w_scatter_offset(svbool_t, svuint64_t, int64_t, svuint64_t);
17622__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_offset_s64)))
17623void svstnt1w_scatter_offset(svbool_t, svuint64_t, int64_t, svint64_t);
17624__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_u64)))
17625void svstnt1w_scatter(svbool_t, svuint64_t, svuint64_t);
17626__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64base_s64)))
17627void svstnt1w_scatter(svbool_t, svuint64_t, svint64_t);
17628__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64index_s64)))
17629void svstnt1w_scatter_index(svbool_t, int32_t *, svint64_t, svint64_t);
17630__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64index_u64)))
17631void svstnt1w_scatter_index(svbool_t, uint32_t *, svint64_t, svuint64_t);
17632__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64index_s64)))
17633void svstnt1w_scatter_index(svbool_t, int32_t *, svuint64_t, svint64_t);
17634__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64index_u64)))
17635void svstnt1w_scatter_index(svbool_t, uint32_t *, svuint64_t, svuint64_t);
17636__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64offset_s64)))
17637void svstnt1w_scatter_offset(svbool_t, int32_t *, svint64_t, svint64_t);
17638__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_s64offset_u64)))
17639void svstnt1w_scatter_offset(svbool_t, uint32_t *, svint64_t, svuint64_t);
17640__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64offset_s64)))
17641void svstnt1w_scatter_offset(svbool_t, int32_t *, svuint64_t, svint64_t);
17642__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1w_scatter_u64offset_u64)))
17643void svstnt1w_scatter_offset(svbool_t, uint32_t *, svuint64_t, svuint64_t);
17644__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f16_mf8_fpm)))
17645svfloat16_t svmmla_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
17646__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f16_mf8_fpm)))
17647svfloat16_t svmmla_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
17648__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f32_mf8_fpm)))
17649svfloat32_t svmmla_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
17650__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmmla_f32_mf8_fpm)))
17651svfloat32_t svmmla_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
17652__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_f16_mf8_fpm)))
17653svfloat16_t svdot_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
17654__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_n_f16_mf8_fpm)))
17655svfloat16_t svdot_n_f16_mf8_fpm(svfloat16_t, svmfloat8_t, mfloat8_t, fpm_t);
17656__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_lane_f16_mf8_fpm)))
17657svfloat16_t svdot_lane_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17658__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_f16_mf8_fpm)))
17659svfloat16_t svdot_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
17660__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_n_f16_mf8_fpm)))
17661svfloat16_t svdot_fpm(svfloat16_t, svmfloat8_t, mfloat8_t, fpm_t);
17662__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_lane_f16_mf8_fpm)))
17663svfloat16_t svdot_lane_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17664__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_f32_mf8_fpm)))
17665svfloat32_t svdot_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
17666__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_n_f32_mf8_fpm)))
17667svfloat32_t svdot_n_f32_mf8_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
17668__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_lane_f32_mf8_fpm)))
17669svfloat32_t svdot_lane_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17670__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_f32_mf8_fpm)))
17671svfloat32_t svdot_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
17672__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_n_f32_mf8_fpm)))
17673svfloat32_t svdot_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
17674__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svdot_lane_f32_mf8_fpm)))
17675svfloat32_t svdot_lane_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17676__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalb_f16_mf8_fpm)))
17677svfloat16_t svmlalb_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
17678__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalb_n_f16_mf8_fpm)))
17679svfloat16_t svmlalb_n_f16_mf8_fpm(svfloat16_t, svmfloat8_t, mfloat8_t, fpm_t);
17680__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalb_lane_f16_mf8_fpm)))
17681svfloat16_t svmlalb_lane_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17682__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbb_f32_mf8_fpm)))
17683svfloat32_t svmlallbb_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
17684__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbb_n_f32_mf8_fpm)))
17685svfloat32_t svmlallbb_n_f32_mf8_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
17686__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbb_lane_f32_mf8_fpm)))
17687svfloat32_t svmlallbb_lane_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17688__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbt_f32_mf8_fpm)))
17689svfloat32_t svmlallbt_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
17690__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbt_n_f32_mf8_fpm)))
17691svfloat32_t svmlallbt_n_f32_mf8_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
17692__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbt_lane_f32_mf8_fpm)))
17693svfloat32_t svmlallbt_lane_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17694__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltb_f32_mf8_fpm)))
17695svfloat32_t svmlalltb_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
17696__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltb_n_f32_mf8_fpm)))
17697svfloat32_t svmlalltb_n_f32_mf8_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
17698__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltb_lane_f32_mf8_fpm)))
17699svfloat32_t svmlalltb_lane_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17700__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltt_f32_mf8_fpm)))
17701svfloat32_t svmlalltt_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
17702__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltt_n_f32_mf8_fpm)))
17703svfloat32_t svmlalltt_n_f32_mf8_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
17704__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltt_lane_f32_mf8_fpm)))
17705svfloat32_t svmlalltt_lane_f32_mf8_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17706__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalt_f16_mf8_fpm)))
17707svfloat16_t svmlalt_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
17708__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalt_n_f16_mf8_fpm)))
17709svfloat16_t svmlalt_n_f16_mf8_fpm(svfloat16_t, svmfloat8_t, mfloat8_t, fpm_t);
17710__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalt_lane_f16_mf8_fpm)))
17711svfloat16_t svmlalt_lane_f16_mf8_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17712__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalb_f16_mf8_fpm)))
17713svfloat16_t svmlalb_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
17714__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalb_n_f16_mf8_fpm)))
17715svfloat16_t svmlalb_fpm(svfloat16_t, svmfloat8_t, mfloat8_t, fpm_t);
17716__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalb_lane_f16_mf8_fpm)))
17717svfloat16_t svmlalb_lane_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17718__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbb_f32_mf8_fpm)))
17719svfloat32_t svmlallbb_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
17720__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbb_n_f32_mf8_fpm)))
17721svfloat32_t svmlallbb_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
17722__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbb_lane_f32_mf8_fpm)))
17723svfloat32_t svmlallbb_lane_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17724__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbt_f32_mf8_fpm)))
17725svfloat32_t svmlallbt_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
17726__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbt_n_f32_mf8_fpm)))
17727svfloat32_t svmlallbt_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
17728__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlallbt_lane_f32_mf8_fpm)))
17729svfloat32_t svmlallbt_lane_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17730__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltb_f32_mf8_fpm)))
17731svfloat32_t svmlalltb_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
17732__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltb_n_f32_mf8_fpm)))
17733svfloat32_t svmlalltb_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
17734__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltb_lane_f32_mf8_fpm)))
17735svfloat32_t svmlalltb_lane_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17736__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltt_f32_mf8_fpm)))
17737svfloat32_t svmlalltt_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, fpm_t);
17738__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltt_n_f32_mf8_fpm)))
17739svfloat32_t svmlalltt_fpm(svfloat32_t, svmfloat8_t, mfloat8_t, fpm_t);
17740__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalltt_lane_f32_mf8_fpm)))
17741svfloat32_t svmlalltt_lane_fpm(svfloat32_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17742__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalt_f16_mf8_fpm)))
17743svfloat16_t svmlalt_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, fpm_t);
17744__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalt_n_f16_mf8_fpm)))
17745svfloat16_t svmlalt_fpm(svfloat16_t, svmfloat8_t, mfloat8_t, fpm_t);
17746__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svmlalt_lane_f16_mf8_fpm)))
17747svfloat16_t svmlalt_lane_fpm(svfloat16_t, svmfloat8_t, svmfloat8_t, uint64_t, fpm_t);
17748__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_u32)))
17749svuint32_t svld1q_gather_u64base_index_u32(svbool_t, svuint64_t, int64_t);
17750__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_u64)))
17751svuint64_t svld1q_gather_u64base_index_u64(svbool_t, svuint64_t, int64_t);
17752__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_u16)))
17753svuint16_t svld1q_gather_u64base_index_u16(svbool_t, svuint64_t, int64_t);
17754__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_bf16)))
17755svbfloat16_t svld1q_gather_u64base_index_bf16(svbool_t, svuint64_t, int64_t);
17756__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_f64)))
17757svfloat64_t svld1q_gather_u64base_index_f64(svbool_t, svuint64_t, int64_t);
17758__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_f32)))
17759svfloat32_t svld1q_gather_u64base_index_f32(svbool_t, svuint64_t, int64_t);
17760__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_f16)))
17761svfloat16_t svld1q_gather_u64base_index_f16(svbool_t, svuint64_t, int64_t);
17762__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_s32)))
17763svint32_t svld1q_gather_u64base_index_s32(svbool_t, svuint64_t, int64_t);
17764__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_s64)))
17765svint64_t svld1q_gather_u64base_index_s64(svbool_t, svuint64_t, int64_t);
17766__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_s16)))
17767svint16_t svld1q_gather_u64base_index_s16(svbool_t, svuint64_t, int64_t);
17768__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u8)))
17769svuint8_t svld1q_gather_u64base_offset_u8(svbool_t, svuint64_t, int64_t);
17770__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u32)))
17771svuint32_t svld1q_gather_u64base_offset_u32(svbool_t, svuint64_t, int64_t);
17772__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u64)))
17773svuint64_t svld1q_gather_u64base_offset_u64(svbool_t, svuint64_t, int64_t);
17774__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u16)))
17775svuint16_t svld1q_gather_u64base_offset_u16(svbool_t, svuint64_t, int64_t);
17776__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_bf16)))
17777svbfloat16_t svld1q_gather_u64base_offset_bf16(svbool_t, svuint64_t, int64_t);
17778__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s8)))
17779svint8_t svld1q_gather_u64base_offset_s8(svbool_t, svuint64_t, int64_t);
17780__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_f64)))
17781svfloat64_t svld1q_gather_u64base_offset_f64(svbool_t, svuint64_t, int64_t);
17782__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_f32)))
17783svfloat32_t svld1q_gather_u64base_offset_f32(svbool_t, svuint64_t, int64_t);
17784__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_f16)))
17785svfloat16_t svld1q_gather_u64base_offset_f16(svbool_t, svuint64_t, int64_t);
17786__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s32)))
17787svint32_t svld1q_gather_u64base_offset_s32(svbool_t, svuint64_t, int64_t);
17788__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s64)))
17789svint64_t svld1q_gather_u64base_offset_s64(svbool_t, svuint64_t, int64_t);
17790__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_mf8)))
17791svmfloat8_t svld1q_gather_u64base_offset_mf8(svbool_t, svuint64_t, int64_t);
17792__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s16)))
17793svint16_t svld1q_gather_u64base_offset_s16(svbool_t, svuint64_t, int64_t);
17794__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u8)))
17795svuint8_t svld1q_gather_u64base_u8(svbool_t, svuint64_t);
17796__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u32)))
17797svuint32_t svld1q_gather_u64base_u32(svbool_t, svuint64_t);
17798__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u64)))
17799svuint64_t svld1q_gather_u64base_u64(svbool_t, svuint64_t);
17800__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u16)))
17801svuint16_t svld1q_gather_u64base_u16(svbool_t, svuint64_t);
17802__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_bf16)))
17803svbfloat16_t svld1q_gather_u64base_bf16(svbool_t, svuint64_t);
17804__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s8)))
17805svint8_t svld1q_gather_u64base_s8(svbool_t, svuint64_t);
17806__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_f64)))
17807svfloat64_t svld1q_gather_u64base_f64(svbool_t, svuint64_t);
17808__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_f32)))
17809svfloat32_t svld1q_gather_u64base_f32(svbool_t, svuint64_t);
17810__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_f16)))
17811svfloat16_t svld1q_gather_u64base_f16(svbool_t, svuint64_t);
17812__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s32)))
17813svint32_t svld1q_gather_u64base_s32(svbool_t, svuint64_t);
17814__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s64)))
17815svint64_t svld1q_gather_u64base_s64(svbool_t, svuint64_t);
17816__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_mf8)))
17817svmfloat8_t svld1q_gather_u64base_mf8(svbool_t, svuint64_t);
17818__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s16)))
17819svint16_t svld1q_gather_u64base_s16(svbool_t, svuint64_t);
17820__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_u32)))
17821svuint32_t svld1q_gather_u64index_u32(svbool_t, uint32_t const *, svuint64_t);
17822__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_u64)))
17823svuint64_t svld1q_gather_u64index_u64(svbool_t, uint64_t const *, svuint64_t);
17824__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_u16)))
17825svuint16_t svld1q_gather_u64index_u16(svbool_t, uint16_t const *, svuint64_t);
17826__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_bf16)))
17827svbfloat16_t svld1q_gather_u64index_bf16(svbool_t, bfloat16_t const *, svuint64_t);
17828__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_f64)))
17829svfloat64_t svld1q_gather_u64index_f64(svbool_t, float64_t const *, svuint64_t);
17830__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_f32)))
17831svfloat32_t svld1q_gather_u64index_f32(svbool_t, float32_t const *, svuint64_t);
17832__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_f16)))
17833svfloat16_t svld1q_gather_u64index_f16(svbool_t, float16_t const *, svuint64_t);
17834__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_s32)))
17835svint32_t svld1q_gather_u64index_s32(svbool_t, int32_t const *, svuint64_t);
17836__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_s64)))
17837svint64_t svld1q_gather_u64index_s64(svbool_t, int64_t const *, svuint64_t);
17838__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_s16)))
17839svint16_t svld1q_gather_u64index_s16(svbool_t, int16_t const *, svuint64_t);
17840__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u8)))
17841svuint8_t svld1q_gather_u64offset_u8(svbool_t, uint8_t const *, svuint64_t);
17842__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u32)))
17843svuint32_t svld1q_gather_u64offset_u32(svbool_t, uint32_t const *, svuint64_t);
17844__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u64)))
17845svuint64_t svld1q_gather_u64offset_u64(svbool_t, uint64_t const *, svuint64_t);
17846__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u16)))
17847svuint16_t svld1q_gather_u64offset_u16(svbool_t, uint16_t const *, svuint64_t);
17848__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_bf16)))
17849svbfloat16_t svld1q_gather_u64offset_bf16(svbool_t, bfloat16_t const *, svuint64_t);
17850__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s8)))
17851svint8_t svld1q_gather_u64offset_s8(svbool_t, int8_t const *, svuint64_t);
17852__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_f64)))
17853svfloat64_t svld1q_gather_u64offset_f64(svbool_t, float64_t const *, svuint64_t);
17854__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_f32)))
17855svfloat32_t svld1q_gather_u64offset_f32(svbool_t, float32_t const *, svuint64_t);
17856__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_f16)))
17857svfloat16_t svld1q_gather_u64offset_f16(svbool_t, float16_t const *, svuint64_t);
17858__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s32)))
17859svint32_t svld1q_gather_u64offset_s32(svbool_t, int32_t const *, svuint64_t);
17860__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s64)))
17861svint64_t svld1q_gather_u64offset_s64(svbool_t, int64_t const *, svuint64_t);
17862__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_mf8)))
17863svmfloat8_t svld1q_gather_u64offset_mf8(svbool_t, mfloat8_t const *, svuint64_t);
17864__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s16)))
17865svint16_t svld1q_gather_u64offset_s16(svbool_t, int16_t const *, svuint64_t);
17866__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_u64)))
17867svuint64_t svld1udq_u64(svbool_t, uint64_t const *);
17868__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_f64)))
17869svfloat64_t svld1udq_f64(svbool_t, float64_t const *);
17870__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_s64)))
17871svint64_t svld1udq_s64(svbool_t, int64_t const *);
17872__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_vnum_u64)))
17873svuint64_t svld1udq_vnum_u64(svbool_t, uint64_t const *, int64_t);
17874__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_vnum_f64)))
17875svfloat64_t svld1udq_vnum_f64(svbool_t, float64_t const *, int64_t);
17876__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_vnum_s64)))
17877svint64_t svld1udq_vnum_s64(svbool_t, int64_t const *, int64_t);
17878__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_u32)))
17879svuint32_t svld1uwq_u32(svbool_t, uint32_t const *);
17880__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_f32)))
17881svfloat32_t svld1uwq_f32(svbool_t, float32_t const *);
17882__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_s32)))
17883svint32_t svld1uwq_s32(svbool_t, int32_t const *);
17884__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_vnum_u32)))
17885svuint32_t svld1uwq_vnum_u32(svbool_t, uint32_t const *, int64_t);
17886__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_vnum_f32)))
17887svfloat32_t svld1uwq_vnum_f32(svbool_t, float32_t const *, int64_t);
17888__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_vnum_s32)))
17889svint32_t svld1uwq_vnum_s32(svbool_t, int32_t const *, int64_t);
17890__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_u64)))
17891void svst1dq_u64(svbool_t, uint64_t *, svuint64_t);
17892__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_f64)))
17893void svst1dq_f64(svbool_t, float64_t *, svfloat64_t);
17894__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_s64)))
17895void svst1dq_s64(svbool_t, int64_t *, svint64_t);
17896__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_vnum_u64)))
17897void svst1dq_vnum_u64(svbool_t, uint64_t *, int64_t, svuint64_t);
17898__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_vnum_f64)))
17899void svst1dq_vnum_f64(svbool_t, float64_t *, int64_t, svfloat64_t);
17900__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_vnum_s64)))
17901void svst1dq_vnum_s64(svbool_t, int64_t *, int64_t, svint64_t);
17902__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u8)))
17903void svst1q_scatter_u64base_u8(svbool_t, svuint64_t, svuint8_t);
17904__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u32)))
17905void svst1q_scatter_u64base_u32(svbool_t, svuint64_t, svuint32_t);
17906__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u64)))
17907void svst1q_scatter_u64base_u64(svbool_t, svuint64_t, svuint64_t);
17908__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u16)))
17909void svst1q_scatter_u64base_u16(svbool_t, svuint64_t, svuint16_t);
17910__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_bf16)))
17911void svst1q_scatter_u64base_bf16(svbool_t, svuint64_t, svbfloat16_t);
17912__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s8)))
17913void svst1q_scatter_u64base_s8(svbool_t, svuint64_t, svint8_t);
17914__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_f64)))
17915void svst1q_scatter_u64base_f64(svbool_t, svuint64_t, svfloat64_t);
17916__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_f32)))
17917void svst1q_scatter_u64base_f32(svbool_t, svuint64_t, svfloat32_t);
17918__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_f16)))
17919void svst1q_scatter_u64base_f16(svbool_t, svuint64_t, svfloat16_t);
17920__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s32)))
17921void svst1q_scatter_u64base_s32(svbool_t, svuint64_t, svint32_t);
17922__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s64)))
17923void svst1q_scatter_u64base_s64(svbool_t, svuint64_t, svint64_t);
17924__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_mf8)))
17925void svst1q_scatter_u64base_mf8(svbool_t, svuint64_t, svmfloat8_t);
17926__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s16)))
17927void svst1q_scatter_u64base_s16(svbool_t, svuint64_t, svint16_t);
17928__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_u32)))
17929void svst1q_scatter_u64base_index_u32(svbool_t, svuint64_t, int64_t, svuint32_t);
17930__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_u64)))
17931void svst1q_scatter_u64base_index_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
17932__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_u16)))
17933void svst1q_scatter_u64base_index_u16(svbool_t, svuint64_t, int64_t, svuint16_t);
17934__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_bf16)))
17935void svst1q_scatter_u64base_index_bf16(svbool_t, svuint64_t, int64_t, svbfloat16_t);
17936__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_f64)))
17937void svst1q_scatter_u64base_index_f64(svbool_t, svuint64_t, int64_t, svfloat64_t);
17938__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_f32)))
17939void svst1q_scatter_u64base_index_f32(svbool_t, svuint64_t, int64_t, svfloat32_t);
17940__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_f16)))
17941void svst1q_scatter_u64base_index_f16(svbool_t, svuint64_t, int64_t, svfloat16_t);
17942__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_s32)))
17943void svst1q_scatter_u64base_index_s32(svbool_t, svuint64_t, int64_t, svint32_t);
17944__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_s64)))
17945void svst1q_scatter_u64base_index_s64(svbool_t, svuint64_t, int64_t, svint64_t);
17946__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_s16)))
17947void svst1q_scatter_u64base_index_s16(svbool_t, svuint64_t, int64_t, svint16_t);
17948__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u8)))
17949void svst1q_scatter_u64base_offset_u8(svbool_t, svuint64_t, int64_t, svuint8_t);
17950__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u32)))
17951void svst1q_scatter_u64base_offset_u32(svbool_t, svuint64_t, int64_t, svuint32_t);
17952__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u64)))
17953void svst1q_scatter_u64base_offset_u64(svbool_t, svuint64_t, int64_t, svuint64_t);
17954__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u16)))
17955void svst1q_scatter_u64base_offset_u16(svbool_t, svuint64_t, int64_t, svuint16_t);
17956__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_bf16)))
17957void svst1q_scatter_u64base_offset_bf16(svbool_t, svuint64_t, int64_t, svbfloat16_t);
17958__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s8)))
17959void svst1q_scatter_u64base_offset_s8(svbool_t, svuint64_t, int64_t, svint8_t);
17960__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_f64)))
17961void svst1q_scatter_u64base_offset_f64(svbool_t, svuint64_t, int64_t, svfloat64_t);
17962__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_f32)))
17963void svst1q_scatter_u64base_offset_f32(svbool_t, svuint64_t, int64_t, svfloat32_t);
17964__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_f16)))
17965void svst1q_scatter_u64base_offset_f16(svbool_t, svuint64_t, int64_t, svfloat16_t);
17966__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s32)))
17967void svst1q_scatter_u64base_offset_s32(svbool_t, svuint64_t, int64_t, svint32_t);
17968__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s64)))
17969void svst1q_scatter_u64base_offset_s64(svbool_t, svuint64_t, int64_t, svint64_t);
17970__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_mf8)))
17971void svst1q_scatter_u64base_offset_mf8(svbool_t, svuint64_t, int64_t, svmfloat8_t);
17972__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s16)))
17973void svst1q_scatter_u64base_offset_s16(svbool_t, svuint64_t, int64_t, svint16_t);
17974__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_u32)))
17975void svst1q_scatter_s64index_u32(svbool_t, uint32_t *, svint64_t, svuint32_t);
17976__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_u64)))
17977void svst1q_scatter_s64index_u64(svbool_t, uint64_t *, svint64_t, svuint64_t);
17978__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_u16)))
17979void svst1q_scatter_s64index_u16(svbool_t, uint16_t *, svint64_t, svuint16_t);
17980__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_bf16)))
17981void svst1q_scatter_s64index_bf16(svbool_t, bfloat16_t *, svint64_t, svbfloat16_t);
17982__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_f64)))
17983void svst1q_scatter_s64index_f64(svbool_t, float64_t *, svint64_t, svfloat64_t);
17984__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_f32)))
17985void svst1q_scatter_s64index_f32(svbool_t, float32_t *, svint64_t, svfloat32_t);
17986__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_f16)))
17987void svst1q_scatter_s64index_f16(svbool_t, float16_t *, svint64_t, svfloat16_t);
17988__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_s32)))
17989void svst1q_scatter_s64index_s32(svbool_t, int32_t *, svint64_t, svint32_t);
17990__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_s64)))
17991void svst1q_scatter_s64index_s64(svbool_t, int64_t *, svint64_t, svint64_t);
17992__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_s16)))
17993void svst1q_scatter_s64index_s16(svbool_t, int16_t *, svint64_t, svint16_t);
17994__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_u32)))
17995void svst1q_scatter_u64index_u32(svbool_t, uint32_t *, svuint64_t, svuint32_t);
17996__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_u64)))
17997void svst1q_scatter_u64index_u64(svbool_t, uint64_t *, svuint64_t, svuint64_t);
17998__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_u16)))
17999void svst1q_scatter_u64index_u16(svbool_t, uint16_t *, svuint64_t, svuint16_t);
18000__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_bf16)))
18001void svst1q_scatter_u64index_bf16(svbool_t, bfloat16_t *, svuint64_t, svbfloat16_t);
18002__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_f64)))
18003void svst1q_scatter_u64index_f64(svbool_t, float64_t *, svuint64_t, svfloat64_t);
18004__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_f32)))
18005void svst1q_scatter_u64index_f32(svbool_t, float32_t *, svuint64_t, svfloat32_t);
18006__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_f16)))
18007void svst1q_scatter_u64index_f16(svbool_t, float16_t *, svuint64_t, svfloat16_t);
18008__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_s32)))
18009void svst1q_scatter_u64index_s32(svbool_t, int32_t *, svuint64_t, svint32_t);
18010__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_s64)))
18011void svst1q_scatter_u64index_s64(svbool_t, int64_t *, svuint64_t, svint64_t);
18012__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_s16)))
18013void svst1q_scatter_u64index_s16(svbool_t, int16_t *, svuint64_t, svint16_t);
18014__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u8)))
18015void svst1q_scatter_s64offset_u8(svbool_t, uint8_t *, svint64_t, svuint8_t);
18016__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u32)))
18017void svst1q_scatter_s64offset_u32(svbool_t, uint32_t *, svint64_t, svuint32_t);
18018__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u64)))
18019void svst1q_scatter_s64offset_u64(svbool_t, uint64_t *, svint64_t, svuint64_t);
18020__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u16)))
18021void svst1q_scatter_s64offset_u16(svbool_t, uint16_t *, svint64_t, svuint16_t);
18022__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_bf16)))
18023void svst1q_scatter_s64offset_bf16(svbool_t, bfloat16_t *, svint64_t, svbfloat16_t);
18024__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s8)))
18025void svst1q_scatter_s64offset_s8(svbool_t, int8_t *, svint64_t, svint8_t);
18026__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_f64)))
18027void svst1q_scatter_s64offset_f64(svbool_t, float64_t *, svint64_t, svfloat64_t);
18028__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_f32)))
18029void svst1q_scatter_s64offset_f32(svbool_t, float32_t *, svint64_t, svfloat32_t);
18030__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_f16)))
18031void svst1q_scatter_s64offset_f16(svbool_t, float16_t *, svint64_t, svfloat16_t);
18032__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s32)))
18033void svst1q_scatter_s64offset_s32(svbool_t, int32_t *, svint64_t, svint32_t);
18034__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s64)))
18035void svst1q_scatter_s64offset_s64(svbool_t, int64_t *, svint64_t, svint64_t);
18036__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_mf8)))
18037void svst1q_scatter_s64offset_mf8(svbool_t, mfloat8_t *, svint64_t, svmfloat8_t);
18038__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s16)))
18039void svst1q_scatter_s64offset_s16(svbool_t, int16_t *, svint64_t, svint16_t);
18040__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u8)))
18041void svst1q_scatter_u64offset_u8(svbool_t, uint8_t *, svuint64_t, svuint8_t);
18042__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u32)))
18043void svst1q_scatter_u64offset_u32(svbool_t, uint32_t *, svuint64_t, svuint32_t);
18044__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u64)))
18045void svst1q_scatter_u64offset_u64(svbool_t, uint64_t *, svuint64_t, svuint64_t);
18046__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u16)))
18047void svst1q_scatter_u64offset_u16(svbool_t, uint16_t *, svuint64_t, svuint16_t);
18048__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_bf16)))
18049void svst1q_scatter_u64offset_bf16(svbool_t, bfloat16_t *, svuint64_t, svbfloat16_t);
18050__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s8)))
18051void svst1q_scatter_u64offset_s8(svbool_t, int8_t *, svuint64_t, svint8_t);
18052__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_f64)))
18053void svst1q_scatter_u64offset_f64(svbool_t, float64_t *, svuint64_t, svfloat64_t);
18054__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_f32)))
18055void svst1q_scatter_u64offset_f32(svbool_t, float32_t *, svuint64_t, svfloat32_t);
18056__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_f16)))
18057void svst1q_scatter_u64offset_f16(svbool_t, float16_t *, svuint64_t, svfloat16_t);
18058__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s32)))
18059void svst1q_scatter_u64offset_s32(svbool_t, int32_t *, svuint64_t, svint32_t);
18060__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s64)))
18061void svst1q_scatter_u64offset_s64(svbool_t, int64_t *, svuint64_t, svint64_t);
18062__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_mf8)))
18063void svst1q_scatter_u64offset_mf8(svbool_t, mfloat8_t *, svuint64_t, svmfloat8_t);
18064__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s16)))
18065void svst1q_scatter_u64offset_s16(svbool_t, int16_t *, svuint64_t, svint16_t);
18066__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_u32)))
18067void svst1wq_u32(svbool_t, uint32_t *, svuint32_t);
18068__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_f32)))
18069void svst1wq_f32(svbool_t, float32_t *, svfloat32_t);
18070__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_s32)))
18071void svst1wq_s32(svbool_t, int32_t *, svint32_t);
18072__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_vnum_u32)))
18073void svst1wq_vnum_u32(svbool_t, uint32_t *, int64_t, svuint32_t);
18074__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_vnum_f32)))
18075void svst1wq_vnum_f32(svbool_t, float32_t *, int64_t, svfloat32_t);
18076__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_vnum_s32)))
18077void svst1wq_vnum_s32(svbool_t, int32_t *, int64_t, svint32_t);
18078__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_u32)))
18079svuint32_t svld1q_gather_index_u32(svbool_t, svuint64_t, int64_t);
18080__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_u64)))
18081svuint64_t svld1q_gather_index_u64(svbool_t, svuint64_t, int64_t);
18082__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_u16)))
18083svuint16_t svld1q_gather_index_u16(svbool_t, svuint64_t, int64_t);
18084__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_bf16)))
18085svbfloat16_t svld1q_gather_index_bf16(svbool_t, svuint64_t, int64_t);
18086__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_f64)))
18087svfloat64_t svld1q_gather_index_f64(svbool_t, svuint64_t, int64_t);
18088__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_f32)))
18089svfloat32_t svld1q_gather_index_f32(svbool_t, svuint64_t, int64_t);
18090__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_f16)))
18091svfloat16_t svld1q_gather_index_f16(svbool_t, svuint64_t, int64_t);
18092__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_s32)))
18093svint32_t svld1q_gather_index_s32(svbool_t, svuint64_t, int64_t);
18094__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_s64)))
18095svint64_t svld1q_gather_index_s64(svbool_t, svuint64_t, int64_t);
18096__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_index_s16)))
18097svint16_t svld1q_gather_index_s16(svbool_t, svuint64_t, int64_t);
18098__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u8)))
18099svuint8_t svld1q_gather_offset_u8(svbool_t, svuint64_t, int64_t);
18100__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u32)))
18101svuint32_t svld1q_gather_offset_u32(svbool_t, svuint64_t, int64_t);
18102__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u64)))
18103svuint64_t svld1q_gather_offset_u64(svbool_t, svuint64_t, int64_t);
18104__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_u16)))
18105svuint16_t svld1q_gather_offset_u16(svbool_t, svuint64_t, int64_t);
18106__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_bf16)))
18107svbfloat16_t svld1q_gather_offset_bf16(svbool_t, svuint64_t, int64_t);
18108__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s8)))
18109svint8_t svld1q_gather_offset_s8(svbool_t, svuint64_t, int64_t);
18110__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_f64)))
18111svfloat64_t svld1q_gather_offset_f64(svbool_t, svuint64_t, int64_t);
18112__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_f32)))
18113svfloat32_t svld1q_gather_offset_f32(svbool_t, svuint64_t, int64_t);
18114__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_f16)))
18115svfloat16_t svld1q_gather_offset_f16(svbool_t, svuint64_t, int64_t);
18116__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s32)))
18117svint32_t svld1q_gather_offset_s32(svbool_t, svuint64_t, int64_t);
18118__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s64)))
18119svint64_t svld1q_gather_offset_s64(svbool_t, svuint64_t, int64_t);
18120__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_mf8)))
18121svmfloat8_t svld1q_gather_offset_mf8(svbool_t, svuint64_t, int64_t);
18122__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_offset_s16)))
18123svint16_t svld1q_gather_offset_s16(svbool_t, svuint64_t, int64_t);
18124__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u8)))
18125svuint8_t svld1q_gather_u8(svbool_t, svuint64_t);
18126__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u32)))
18127svuint32_t svld1q_gather_u32(svbool_t, svuint64_t);
18128__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u64)))
18129svuint64_t svld1q_gather_u64(svbool_t, svuint64_t);
18130__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_u16)))
18131svuint16_t svld1q_gather_u16(svbool_t, svuint64_t);
18132__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_bf16)))
18133svbfloat16_t svld1q_gather_bf16(svbool_t, svuint64_t);
18134__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s8)))
18135svint8_t svld1q_gather_s8(svbool_t, svuint64_t);
18136__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_f64)))
18137svfloat64_t svld1q_gather_f64(svbool_t, svuint64_t);
18138__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_f32)))
18139svfloat32_t svld1q_gather_f32(svbool_t, svuint64_t);
18140__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_f16)))
18141svfloat16_t svld1q_gather_f16(svbool_t, svuint64_t);
18142__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s32)))
18143svint32_t svld1q_gather_s32(svbool_t, svuint64_t);
18144__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s64)))
18145svint64_t svld1q_gather_s64(svbool_t, svuint64_t);
18146__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_mf8)))
18147svmfloat8_t svld1q_gather_mf8(svbool_t, svuint64_t);
18148__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64base_s16)))
18149svint16_t svld1q_gather_s16(svbool_t, svuint64_t);
18150__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_u32)))
18151svuint32_t svld1q_gather_index(svbool_t, uint32_t const *, svuint64_t);
18152__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_u64)))
18153svuint64_t svld1q_gather_index(svbool_t, uint64_t const *, svuint64_t);
18154__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_u16)))
18155svuint16_t svld1q_gather_index(svbool_t, uint16_t const *, svuint64_t);
18156__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_bf16)))
18157svbfloat16_t svld1q_gather_index(svbool_t, bfloat16_t const *, svuint64_t);
18158__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_f64)))
18159svfloat64_t svld1q_gather_index(svbool_t, float64_t const *, svuint64_t);
18160__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_f32)))
18161svfloat32_t svld1q_gather_index(svbool_t, float32_t const *, svuint64_t);
18162__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_f16)))
18163svfloat16_t svld1q_gather_index(svbool_t, float16_t const *, svuint64_t);
18164__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_s32)))
18165svint32_t svld1q_gather_index(svbool_t, int32_t const *, svuint64_t);
18166__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_s64)))
18167svint64_t svld1q_gather_index(svbool_t, int64_t const *, svuint64_t);
18168__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64index_s16)))
18169svint16_t svld1q_gather_index(svbool_t, int16_t const *, svuint64_t);
18170__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u8)))
18171svuint8_t svld1q_gather_offset(svbool_t, uint8_t const *, svuint64_t);
18172__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u32)))
18173svuint32_t svld1q_gather_offset(svbool_t, uint32_t const *, svuint64_t);
18174__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u64)))
18175svuint64_t svld1q_gather_offset(svbool_t, uint64_t const *, svuint64_t);
18176__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_u16)))
18177svuint16_t svld1q_gather_offset(svbool_t, uint16_t const *, svuint64_t);
18178__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_bf16)))
18179svbfloat16_t svld1q_gather_offset(svbool_t, bfloat16_t const *, svuint64_t);
18180__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s8)))
18181svint8_t svld1q_gather_offset(svbool_t, int8_t const *, svuint64_t);
18182__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_f64)))
18183svfloat64_t svld1q_gather_offset(svbool_t, float64_t const *, svuint64_t);
18184__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_f32)))
18185svfloat32_t svld1q_gather_offset(svbool_t, float32_t const *, svuint64_t);
18186__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_f16)))
18187svfloat16_t svld1q_gather_offset(svbool_t, float16_t const *, svuint64_t);
18188__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s32)))
18189svint32_t svld1q_gather_offset(svbool_t, int32_t const *, svuint64_t);
18190__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s64)))
18191svint64_t svld1q_gather_offset(svbool_t, int64_t const *, svuint64_t);
18192__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_mf8)))
18193svmfloat8_t svld1q_gather_offset(svbool_t, mfloat8_t const *, svuint64_t);
18194__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1q_gather_u64offset_s16)))
18195svint16_t svld1q_gather_offset(svbool_t, int16_t const *, svuint64_t);
18196__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_u64)))
18197svuint64_t svld1udq(svbool_t, uint64_t const *);
18198__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_f64)))
18199svfloat64_t svld1udq(svbool_t, float64_t const *);
18200__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_s64)))
18201svint64_t svld1udq(svbool_t, int64_t const *);
18202__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_vnum_u64)))
18203svuint64_t svld1udq_vnum(svbool_t, uint64_t const *, int64_t);
18204__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_vnum_f64)))
18205svfloat64_t svld1udq_vnum(svbool_t, float64_t const *, int64_t);
18206__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1udq_vnum_s64)))
18207svint64_t svld1udq_vnum(svbool_t, int64_t const *, int64_t);
18208__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_u32)))
18209svuint32_t svld1uwq(svbool_t, uint32_t const *);
18210__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_f32)))
18211svfloat32_t svld1uwq(svbool_t, float32_t const *);
18212__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_s32)))
18213svint32_t svld1uwq(svbool_t, int32_t const *);
18214__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_vnum_u32)))
18215svuint32_t svld1uwq_vnum(svbool_t, uint32_t const *, int64_t);
18216__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_vnum_f32)))
18217svfloat32_t svld1uwq_vnum(svbool_t, float32_t const *, int64_t);
18218__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1uwq_vnum_s32)))
18219svint32_t svld1uwq_vnum(svbool_t, int32_t const *, int64_t);
18220__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_u64)))
18221void svst1dq(svbool_t, uint64_t *, svuint64_t);
18222__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_f64)))
18223void svst1dq(svbool_t, float64_t *, svfloat64_t);
18224__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_s64)))
18225void svst1dq(svbool_t, int64_t *, svint64_t);
18226__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_vnum_u64)))
18227void svst1dq_vnum(svbool_t, uint64_t *, int64_t, svuint64_t);
18228__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_vnum_f64)))
18229void svst1dq_vnum(svbool_t, float64_t *, int64_t, svfloat64_t);
18230__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1dq_vnum_s64)))
18231void svst1dq_vnum(svbool_t, int64_t *, int64_t, svint64_t);
18232__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u8)))
18233void svst1q_scatter(svbool_t, svuint64_t, svuint8_t);
18234__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u32)))
18235void svst1q_scatter(svbool_t, svuint64_t, svuint32_t);
18236__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u64)))
18237void svst1q_scatter(svbool_t, svuint64_t, svuint64_t);
18238__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_u16)))
18239void svst1q_scatter(svbool_t, svuint64_t, svuint16_t);
18240__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_bf16)))
18241void svst1q_scatter(svbool_t, svuint64_t, svbfloat16_t);
18242__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s8)))
18243void svst1q_scatter(svbool_t, svuint64_t, svint8_t);
18244__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_f64)))
18245void svst1q_scatter(svbool_t, svuint64_t, svfloat64_t);
18246__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_f32)))
18247void svst1q_scatter(svbool_t, svuint64_t, svfloat32_t);
18248__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_f16)))
18249void svst1q_scatter(svbool_t, svuint64_t, svfloat16_t);
18250__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s32)))
18251void svst1q_scatter(svbool_t, svuint64_t, svint32_t);
18252__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s64)))
18253void svst1q_scatter(svbool_t, svuint64_t, svint64_t);
18254__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_mf8)))
18255void svst1q_scatter(svbool_t, svuint64_t, svmfloat8_t);
18256__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_s16)))
18257void svst1q_scatter(svbool_t, svuint64_t, svint16_t);
18258__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_u32)))
18259void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svuint32_t);
18260__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_u64)))
18261void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svuint64_t);
18262__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_u16)))
18263void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svuint16_t);
18264__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_bf16)))
18265void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svbfloat16_t);
18266__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_f64)))
18267void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svfloat64_t);
18268__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_f32)))
18269void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svfloat32_t);
18270__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_f16)))
18271void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svfloat16_t);
18272__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_s32)))
18273void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svint32_t);
18274__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_s64)))
18275void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svint64_t);
18276__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_index_s16)))
18277void svst1q_scatter_index(svbool_t, svuint64_t, int64_t, svint16_t);
18278__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u8)))
18279void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svuint8_t);
18280__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u32)))
18281void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svuint32_t);
18282__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u64)))
18283void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svuint64_t);
18284__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_u16)))
18285void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svuint16_t);
18286__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_bf16)))
18287void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svbfloat16_t);
18288__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s8)))
18289void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svint8_t);
18290__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_f64)))
18291void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svfloat64_t);
18292__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_f32)))
18293void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svfloat32_t);
18294__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_f16)))
18295void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svfloat16_t);
18296__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s32)))
18297void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svint32_t);
18298__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s64)))
18299void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svint64_t);
18300__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_mf8)))
18301void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svmfloat8_t);
18302__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64base_offset_s16)))
18303void svst1q_scatter_offset(svbool_t, svuint64_t, int64_t, svint16_t);
18304__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_u32)))
18305void svst1q_scatter_index(svbool_t, uint32_t *, svint64_t, svuint32_t);
18306__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_u64)))
18307void svst1q_scatter_index(svbool_t, uint64_t *, svint64_t, svuint64_t);
18308__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_u16)))
18309void svst1q_scatter_index(svbool_t, uint16_t *, svint64_t, svuint16_t);
18310__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_bf16)))
18311void svst1q_scatter_index(svbool_t, bfloat16_t *, svint64_t, svbfloat16_t);
18312__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_f64)))
18313void svst1q_scatter_index(svbool_t, float64_t *, svint64_t, svfloat64_t);
18314__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_f32)))
18315void svst1q_scatter_index(svbool_t, float32_t *, svint64_t, svfloat32_t);
18316__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_f16)))
18317void svst1q_scatter_index(svbool_t, float16_t *, svint64_t, svfloat16_t);
18318__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_s32)))
18319void svst1q_scatter_index(svbool_t, int32_t *, svint64_t, svint32_t);
18320__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_s64)))
18321void svst1q_scatter_index(svbool_t, int64_t *, svint64_t, svint64_t);
18322__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64index_s16)))
18323void svst1q_scatter_index(svbool_t, int16_t *, svint64_t, svint16_t);
18324__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_u32)))
18325void svst1q_scatter_index(svbool_t, uint32_t *, svuint64_t, svuint32_t);
18326__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_u64)))
18327void svst1q_scatter_index(svbool_t, uint64_t *, svuint64_t, svuint64_t);
18328__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_u16)))
18329void svst1q_scatter_index(svbool_t, uint16_t *, svuint64_t, svuint16_t);
18330__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_bf16)))
18331void svst1q_scatter_index(svbool_t, bfloat16_t *, svuint64_t, svbfloat16_t);
18332__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_f64)))
18333void svst1q_scatter_index(svbool_t, float64_t *, svuint64_t, svfloat64_t);
18334__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_f32)))
18335void svst1q_scatter_index(svbool_t, float32_t *, svuint64_t, svfloat32_t);
18336__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_f16)))
18337void svst1q_scatter_index(svbool_t, float16_t *, svuint64_t, svfloat16_t);
18338__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_s32)))
18339void svst1q_scatter_index(svbool_t, int32_t *, svuint64_t, svint32_t);
18340__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_s64)))
18341void svst1q_scatter_index(svbool_t, int64_t *, svuint64_t, svint64_t);
18342__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64index_s16)))
18343void svst1q_scatter_index(svbool_t, int16_t *, svuint64_t, svint16_t);
18344__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u8)))
18345void svst1q_scatter_offset(svbool_t, uint8_t *, svint64_t, svuint8_t);
18346__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u32)))
18347void svst1q_scatter_offset(svbool_t, uint32_t *, svint64_t, svuint32_t);
18348__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u64)))
18349void svst1q_scatter_offset(svbool_t, uint64_t *, svint64_t, svuint64_t);
18350__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_u16)))
18351void svst1q_scatter_offset(svbool_t, uint16_t *, svint64_t, svuint16_t);
18352__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_bf16)))
18353void svst1q_scatter_offset(svbool_t, bfloat16_t *, svint64_t, svbfloat16_t);
18354__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s8)))
18355void svst1q_scatter_offset(svbool_t, int8_t *, svint64_t, svint8_t);
18356__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_f64)))
18357void svst1q_scatter_offset(svbool_t, float64_t *, svint64_t, svfloat64_t);
18358__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_f32)))
18359void svst1q_scatter_offset(svbool_t, float32_t *, svint64_t, svfloat32_t);
18360__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_f16)))
18361void svst1q_scatter_offset(svbool_t, float16_t *, svint64_t, svfloat16_t);
18362__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s32)))
18363void svst1q_scatter_offset(svbool_t, int32_t *, svint64_t, svint32_t);
18364__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s64)))
18365void svst1q_scatter_offset(svbool_t, int64_t *, svint64_t, svint64_t);
18366__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_mf8)))
18367void svst1q_scatter_offset(svbool_t, mfloat8_t *, svint64_t, svmfloat8_t);
18368__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_s64offset_s16)))
18369void svst1q_scatter_offset(svbool_t, int16_t *, svint64_t, svint16_t);
18370__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u8)))
18371void svst1q_scatter_offset(svbool_t, uint8_t *, svuint64_t, svuint8_t);
18372__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u32)))
18373void svst1q_scatter_offset(svbool_t, uint32_t *, svuint64_t, svuint32_t);
18374__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u64)))
18375void svst1q_scatter_offset(svbool_t, uint64_t *, svuint64_t, svuint64_t);
18376__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_u16)))
18377void svst1q_scatter_offset(svbool_t, uint16_t *, svuint64_t, svuint16_t);
18378__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_bf16)))
18379void svst1q_scatter_offset(svbool_t, bfloat16_t *, svuint64_t, svbfloat16_t);
18380__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s8)))
18381void svst1q_scatter_offset(svbool_t, int8_t *, svuint64_t, svint8_t);
18382__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_f64)))
18383void svst1q_scatter_offset(svbool_t, float64_t *, svuint64_t, svfloat64_t);
18384__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_f32)))
18385void svst1q_scatter_offset(svbool_t, float32_t *, svuint64_t, svfloat32_t);
18386__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_f16)))
18387void svst1q_scatter_offset(svbool_t, float16_t *, svuint64_t, svfloat16_t);
18388__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s32)))
18389void svst1q_scatter_offset(svbool_t, int32_t *, svuint64_t, svint32_t);
18390__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s64)))
18391void svst1q_scatter_offset(svbool_t, int64_t *, svuint64_t, svint64_t);
18392__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_mf8)))
18393void svst1q_scatter_offset(svbool_t, mfloat8_t *, svuint64_t, svmfloat8_t);
18394__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1q_scatter_u64offset_s16)))
18395void svst1q_scatter_offset(svbool_t, int16_t *, svuint64_t, svint16_t);
18396__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_u32)))
18397void svst1wq(svbool_t, uint32_t *, svuint32_t);
18398__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_f32)))
18399void svst1wq(svbool_t, float32_t *, svfloat32_t);
18400__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_s32)))
18401void svst1wq(svbool_t, int32_t *, svint32_t);
18402__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_vnum_u32)))
18403void svst1wq_vnum(svbool_t, uint32_t *, int64_t, svuint32_t);
18404__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_vnum_f32)))
18405void svst1wq_vnum(svbool_t, float32_t *, int64_t, svfloat32_t);
18406__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1wq_vnum_s32)))
18407void svst1wq_vnum(svbool_t, int32_t *, int64_t, svint32_t);
18408__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcntp_c8)))
18409uint64_t svcntp_c8(svcount_t, uint64_t);
18410__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcntp_c32)))
18411uint64_t svcntp_c32(svcount_t, uint64_t);
18412__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcntp_c64)))
18413uint64_t svcntp_c64(svcount_t, uint64_t);
18414__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcntp_c16)))
18415uint64_t svcntp_c16(svcount_t, uint64_t);
18416__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u8_x2)))
18417svuint8x2_t svld1_u8_x2(svcount_t, uint8_t const *);
18418__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s8_x2)))
18419svint8x2_t svld1_s8_x2(svcount_t, int8_t const *);
18420__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_mf8_x2)))
18421svmfloat8x2_t svld1_mf8_x2(svcount_t, mfloat8_t const *);
18422__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u64_x2)))
18423svuint64x2_t svld1_u64_x2(svcount_t, uint64_t const *);
18424__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f64_x2)))
18425svfloat64x2_t svld1_f64_x2(svcount_t, float64_t const *);
18426__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s64_x2)))
18427svint64x2_t svld1_s64_x2(svcount_t, int64_t const *);
18428__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u16_x2)))
18429svuint16x2_t svld1_u16_x2(svcount_t, uint16_t const *);
18430__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_bf16_x2)))
18431svbfloat16x2_t svld1_bf16_x2(svcount_t, bfloat16_t const *);
18432__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f16_x2)))
18433svfloat16x2_t svld1_f16_x2(svcount_t, float16_t const *);
18434__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s16_x2)))
18435svint16x2_t svld1_s16_x2(svcount_t, int16_t const *);
18436__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u32_x2)))
18437svuint32x2_t svld1_u32_x2(svcount_t, uint32_t const *);
18438__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f32_x2)))
18439svfloat32x2_t svld1_f32_x2(svcount_t, float32_t const *);
18440__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s32_x2)))
18441svint32x2_t svld1_s32_x2(svcount_t, int32_t const *);
18442__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u8_x4)))
18443svuint8x4_t svld1_u8_x4(svcount_t, uint8_t const *);
18444__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s8_x4)))
18445svint8x4_t svld1_s8_x4(svcount_t, int8_t const *);
18446__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_mf8_x4)))
18447svmfloat8x4_t svld1_mf8_x4(svcount_t, mfloat8_t const *);
18448__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u64_x4)))
18449svuint64x4_t svld1_u64_x4(svcount_t, uint64_t const *);
18450__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f64_x4)))
18451svfloat64x4_t svld1_f64_x4(svcount_t, float64_t const *);
18452__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s64_x4)))
18453svint64x4_t svld1_s64_x4(svcount_t, int64_t const *);
18454__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u16_x4)))
18455svuint16x4_t svld1_u16_x4(svcount_t, uint16_t const *);
18456__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_bf16_x4)))
18457svbfloat16x4_t svld1_bf16_x4(svcount_t, bfloat16_t const *);
18458__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f16_x4)))
18459svfloat16x4_t svld1_f16_x4(svcount_t, float16_t const *);
18460__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s16_x4)))
18461svint16x4_t svld1_s16_x4(svcount_t, int16_t const *);
18462__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u32_x4)))
18463svuint32x4_t svld1_u32_x4(svcount_t, uint32_t const *);
18464__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f32_x4)))
18465svfloat32x4_t svld1_f32_x4(svcount_t, float32_t const *);
18466__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s32_x4)))
18467svint32x4_t svld1_s32_x4(svcount_t, int32_t const *);
18468__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u8_x2)))
18469svuint8x2_t svld1_vnum_u8_x2(svcount_t, uint8_t const *, int64_t);
18470__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s8_x2)))
18471svint8x2_t svld1_vnum_s8_x2(svcount_t, int8_t const *, int64_t);
18472__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_mf8_x2)))
18473svmfloat8x2_t svld1_vnum_mf8_x2(svcount_t, mfloat8_t const *, int64_t);
18474__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u64_x2)))
18475svuint64x2_t svld1_vnum_u64_x2(svcount_t, uint64_t const *, int64_t);
18476__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f64_x2)))
18477svfloat64x2_t svld1_vnum_f64_x2(svcount_t, float64_t const *, int64_t);
18478__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s64_x2)))
18479svint64x2_t svld1_vnum_s64_x2(svcount_t, int64_t const *, int64_t);
18480__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u16_x2)))
18481svuint16x2_t svld1_vnum_u16_x2(svcount_t, uint16_t const *, int64_t);
18482__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_bf16_x2)))
18483svbfloat16x2_t svld1_vnum_bf16_x2(svcount_t, bfloat16_t const *, int64_t);
18484__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f16_x2)))
18485svfloat16x2_t svld1_vnum_f16_x2(svcount_t, float16_t const *, int64_t);
18486__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s16_x2)))
18487svint16x2_t svld1_vnum_s16_x2(svcount_t, int16_t const *, int64_t);
18488__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u32_x2)))
18489svuint32x2_t svld1_vnum_u32_x2(svcount_t, uint32_t const *, int64_t);
18490__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f32_x2)))
18491svfloat32x2_t svld1_vnum_f32_x2(svcount_t, float32_t const *, int64_t);
18492__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s32_x2)))
18493svint32x2_t svld1_vnum_s32_x2(svcount_t, int32_t const *, int64_t);
18494__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u8_x4)))
18495svuint8x4_t svld1_vnum_u8_x4(svcount_t, uint8_t const *, int64_t);
18496__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s8_x4)))
18497svint8x4_t svld1_vnum_s8_x4(svcount_t, int8_t const *, int64_t);
18498__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_mf8_x4)))
18499svmfloat8x4_t svld1_vnum_mf8_x4(svcount_t, mfloat8_t const *, int64_t);
18500__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u64_x4)))
18501svuint64x4_t svld1_vnum_u64_x4(svcount_t, uint64_t const *, int64_t);
18502__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f64_x4)))
18503svfloat64x4_t svld1_vnum_f64_x4(svcount_t, float64_t const *, int64_t);
18504__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s64_x4)))
18505svint64x4_t svld1_vnum_s64_x4(svcount_t, int64_t const *, int64_t);
18506__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u16_x4)))
18507svuint16x4_t svld1_vnum_u16_x4(svcount_t, uint16_t const *, int64_t);
18508__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_bf16_x4)))
18509svbfloat16x4_t svld1_vnum_bf16_x4(svcount_t, bfloat16_t const *, int64_t);
18510__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f16_x4)))
18511svfloat16x4_t svld1_vnum_f16_x4(svcount_t, float16_t const *, int64_t);
18512__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s16_x4)))
18513svint16x4_t svld1_vnum_s16_x4(svcount_t, int16_t const *, int64_t);
18514__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u32_x4)))
18515svuint32x4_t svld1_vnum_u32_x4(svcount_t, uint32_t const *, int64_t);
18516__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f32_x4)))
18517svfloat32x4_t svld1_vnum_f32_x4(svcount_t, float32_t const *, int64_t);
18518__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s32_x4)))
18519svint32x4_t svld1_vnum_s32_x4(svcount_t, int32_t const *, int64_t);
18520__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u8_x2)))
18521svuint8x2_t svldnt1_u8_x2(svcount_t, uint8_t const *);
18522__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s8_x2)))
18523svint8x2_t svldnt1_s8_x2(svcount_t, int8_t const *);
18524__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_mf8_x2)))
18525svmfloat8x2_t svldnt1_mf8_x2(svcount_t, mfloat8_t const *);
18526__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u64_x2)))
18527svuint64x2_t svldnt1_u64_x2(svcount_t, uint64_t const *);
18528__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f64_x2)))
18529svfloat64x2_t svldnt1_f64_x2(svcount_t, float64_t const *);
18530__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s64_x2)))
18531svint64x2_t svldnt1_s64_x2(svcount_t, int64_t const *);
18532__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u16_x2)))
18533svuint16x2_t svldnt1_u16_x2(svcount_t, uint16_t const *);
18534__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_bf16_x2)))
18535svbfloat16x2_t svldnt1_bf16_x2(svcount_t, bfloat16_t const *);
18536__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f16_x2)))
18537svfloat16x2_t svldnt1_f16_x2(svcount_t, float16_t const *);
18538__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s16_x2)))
18539svint16x2_t svldnt1_s16_x2(svcount_t, int16_t const *);
18540__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u32_x2)))
18541svuint32x2_t svldnt1_u32_x2(svcount_t, uint32_t const *);
18542__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f32_x2)))
18543svfloat32x2_t svldnt1_f32_x2(svcount_t, float32_t const *);
18544__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s32_x2)))
18545svint32x2_t svldnt1_s32_x2(svcount_t, int32_t const *);
18546__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u8_x4)))
18547svuint8x4_t svldnt1_u8_x4(svcount_t, uint8_t const *);
18548__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s8_x4)))
18549svint8x4_t svldnt1_s8_x4(svcount_t, int8_t const *);
18550__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_mf8_x4)))
18551svmfloat8x4_t svldnt1_mf8_x4(svcount_t, mfloat8_t const *);
18552__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u64_x4)))
18553svuint64x4_t svldnt1_u64_x4(svcount_t, uint64_t const *);
18554__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f64_x4)))
18555svfloat64x4_t svldnt1_f64_x4(svcount_t, float64_t const *);
18556__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s64_x4)))
18557svint64x4_t svldnt1_s64_x4(svcount_t, int64_t const *);
18558__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u16_x4)))
18559svuint16x4_t svldnt1_u16_x4(svcount_t, uint16_t const *);
18560__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_bf16_x4)))
18561svbfloat16x4_t svldnt1_bf16_x4(svcount_t, bfloat16_t const *);
18562__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f16_x4)))
18563svfloat16x4_t svldnt1_f16_x4(svcount_t, float16_t const *);
18564__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s16_x4)))
18565svint16x4_t svldnt1_s16_x4(svcount_t, int16_t const *);
18566__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u32_x4)))
18567svuint32x4_t svldnt1_u32_x4(svcount_t, uint32_t const *);
18568__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f32_x4)))
18569svfloat32x4_t svldnt1_f32_x4(svcount_t, float32_t const *);
18570__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s32_x4)))
18571svint32x4_t svldnt1_s32_x4(svcount_t, int32_t const *);
18572__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u8_x2)))
18573svuint8x2_t svldnt1_vnum_u8_x2(svcount_t, uint8_t const *, int64_t);
18574__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s8_x2)))
18575svint8x2_t svldnt1_vnum_s8_x2(svcount_t, int8_t const *, int64_t);
18576__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_mf8_x2)))
18577svmfloat8x2_t svldnt1_vnum_mf8_x2(svcount_t, mfloat8_t const *, int64_t);
18578__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u64_x2)))
18579svuint64x2_t svldnt1_vnum_u64_x2(svcount_t, uint64_t const *, int64_t);
18580__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f64_x2)))
18581svfloat64x2_t svldnt1_vnum_f64_x2(svcount_t, float64_t const *, int64_t);
18582__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s64_x2)))
18583svint64x2_t svldnt1_vnum_s64_x2(svcount_t, int64_t const *, int64_t);
18584__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u16_x2)))
18585svuint16x2_t svldnt1_vnum_u16_x2(svcount_t, uint16_t const *, int64_t);
18586__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_bf16_x2)))
18587svbfloat16x2_t svldnt1_vnum_bf16_x2(svcount_t, bfloat16_t const *, int64_t);
18588__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f16_x2)))
18589svfloat16x2_t svldnt1_vnum_f16_x2(svcount_t, float16_t const *, int64_t);
18590__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s16_x2)))
18591svint16x2_t svldnt1_vnum_s16_x2(svcount_t, int16_t const *, int64_t);
18592__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u32_x2)))
18593svuint32x2_t svldnt1_vnum_u32_x2(svcount_t, uint32_t const *, int64_t);
18594__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f32_x2)))
18595svfloat32x2_t svldnt1_vnum_f32_x2(svcount_t, float32_t const *, int64_t);
18596__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s32_x2)))
18597svint32x2_t svldnt1_vnum_s32_x2(svcount_t, int32_t const *, int64_t);
18598__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u8_x4)))
18599svuint8x4_t svldnt1_vnum_u8_x4(svcount_t, uint8_t const *, int64_t);
18600__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s8_x4)))
18601svint8x4_t svldnt1_vnum_s8_x4(svcount_t, int8_t const *, int64_t);
18602__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_mf8_x4)))
18603svmfloat8x4_t svldnt1_vnum_mf8_x4(svcount_t, mfloat8_t const *, int64_t);
18604__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u64_x4)))
18605svuint64x4_t svldnt1_vnum_u64_x4(svcount_t, uint64_t const *, int64_t);
18606__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f64_x4)))
18607svfloat64x4_t svldnt1_vnum_f64_x4(svcount_t, float64_t const *, int64_t);
18608__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s64_x4)))
18609svint64x4_t svldnt1_vnum_s64_x4(svcount_t, int64_t const *, int64_t);
18610__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u16_x4)))
18611svuint16x4_t svldnt1_vnum_u16_x4(svcount_t, uint16_t const *, int64_t);
18612__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_bf16_x4)))
18613svbfloat16x4_t svldnt1_vnum_bf16_x4(svcount_t, bfloat16_t const *, int64_t);
18614__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f16_x4)))
18615svfloat16x4_t svldnt1_vnum_f16_x4(svcount_t, float16_t const *, int64_t);
18616__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s16_x4)))
18617svint16x4_t svldnt1_vnum_s16_x4(svcount_t, int16_t const *, int64_t);
18618__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u32_x4)))
18619svuint32x4_t svldnt1_vnum_u32_x4(svcount_t, uint32_t const *, int64_t);
18620__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f32_x4)))
18621svfloat32x4_t svldnt1_vnum_f32_x4(svcount_t, float32_t const *, int64_t);
18622__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s32_x4)))
18623svint32x4_t svldnt1_vnum_s32_x4(svcount_t, int32_t const *, int64_t);
18624__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c8)))
18625svbool_t svpext_lane_c8(svcount_t, uint64_t);
18626__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c32)))
18627svbool_t svpext_lane_c32(svcount_t, uint64_t);
18628__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c64)))
18629svbool_t svpext_lane_c64(svcount_t, uint64_t);
18630__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c16)))
18631svbool_t svpext_lane_c16(svcount_t, uint64_t);
18632__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c8_x2)))
18633svboolx2_t svpext_lane_c8_x2(svcount_t, uint64_t);
18634__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c32_x2)))
18635svboolx2_t svpext_lane_c32_x2(svcount_t, uint64_t);
18636__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c64_x2)))
18637svboolx2_t svpext_lane_c64_x2(svcount_t, uint64_t);
18638__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpext_lane_c16_x2)))
18639svboolx2_t svpext_lane_c16_x2(svcount_t, uint64_t);
18640__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpfalse_c)))
18641svcount_t svpfalse_c(void);
18642__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpsel_lane_c16)))
18643svcount_t svpsel_lane_c16(svcount_t, svbool_t, uint32_t);
18644__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpsel_lane_c32)))
18645svcount_t svpsel_lane_c32(svcount_t, svbool_t, uint32_t);
18646__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpsel_lane_c64)))
18647svcount_t svpsel_lane_c64(svcount_t, svbool_t, uint32_t);
18648__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svpsel_lane_c8)))
18649svcount_t svpsel_lane_c8(svcount_t, svbool_t, uint32_t);
18650__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svptrue_c8)))
18651svcount_t svptrue_c8(void);
18652__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svptrue_c32)))
18653svcount_t svptrue_c32(void);
18654__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svptrue_c64)))
18655svcount_t svptrue_c64(void);
18656__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svptrue_c16)))
18657svcount_t svptrue_c16(void);
18658__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svreinterpret_b)))
18659svbool_t svreinterpret_b(svcount_t);
18660__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svreinterpret_c)))
18661svcount_t svreinterpret_c(svbool_t);
18662__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u8_x2)))
18663void svst1_u8_x2(svcount_t, uint8_t *, svuint8x2_t);
18664__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s8_x2)))
18665void svst1_s8_x2(svcount_t, int8_t *, svint8x2_t);
18666__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_mf8_x2)))
18667void svst1_mf8_x2(svcount_t, mfloat8_t *, svmfloat8x2_t);
18668__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u64_x2)))
18669void svst1_u64_x2(svcount_t, uint64_t *, svuint64x2_t);
18670__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f64_x2)))
18671void svst1_f64_x2(svcount_t, float64_t *, svfloat64x2_t);
18672__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s64_x2)))
18673void svst1_s64_x2(svcount_t, int64_t *, svint64x2_t);
18674__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u16_x2)))
18675void svst1_u16_x2(svcount_t, uint16_t *, svuint16x2_t);
18676__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_bf16_x2)))
18677void svst1_bf16_x2(svcount_t, bfloat16_t *, svbfloat16x2_t);
18678__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f16_x2)))
18679void svst1_f16_x2(svcount_t, float16_t *, svfloat16x2_t);
18680__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s16_x2)))
18681void svst1_s16_x2(svcount_t, int16_t *, svint16x2_t);
18682__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u32_x2)))
18683void svst1_u32_x2(svcount_t, uint32_t *, svuint32x2_t);
18684__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f32_x2)))
18685void svst1_f32_x2(svcount_t, float32_t *, svfloat32x2_t);
18686__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s32_x2)))
18687void svst1_s32_x2(svcount_t, int32_t *, svint32x2_t);
18688__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u8_x4)))
18689void svst1_u8_x4(svcount_t, uint8_t *, svuint8x4_t);
18690__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s8_x4)))
18691void svst1_s8_x4(svcount_t, int8_t *, svint8x4_t);
18692__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_mf8_x4)))
18693void svst1_mf8_x4(svcount_t, mfloat8_t *, svmfloat8x4_t);
18694__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u64_x4)))
18695void svst1_u64_x4(svcount_t, uint64_t *, svuint64x4_t);
18696__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f64_x4)))
18697void svst1_f64_x4(svcount_t, float64_t *, svfloat64x4_t);
18698__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s64_x4)))
18699void svst1_s64_x4(svcount_t, int64_t *, svint64x4_t);
18700__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u16_x4)))
18701void svst1_u16_x4(svcount_t, uint16_t *, svuint16x4_t);
18702__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_bf16_x4)))
18703void svst1_bf16_x4(svcount_t, bfloat16_t *, svbfloat16x4_t);
18704__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f16_x4)))
18705void svst1_f16_x4(svcount_t, float16_t *, svfloat16x4_t);
18706__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s16_x4)))
18707void svst1_s16_x4(svcount_t, int16_t *, svint16x4_t);
18708__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u32_x4)))
18709void svst1_u32_x4(svcount_t, uint32_t *, svuint32x4_t);
18710__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f32_x4)))
18711void svst1_f32_x4(svcount_t, float32_t *, svfloat32x4_t);
18712__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s32_x4)))
18713void svst1_s32_x4(svcount_t, int32_t *, svint32x4_t);
18714__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u8_x2)))
18715void svst1_vnum_u8_x2(svcount_t, uint8_t *, int64_t, svuint8x2_t);
18716__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s8_x2)))
18717void svst1_vnum_s8_x2(svcount_t, int8_t *, int64_t, svint8x2_t);
18718__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_mf8_x2)))
18719void svst1_vnum_mf8_x2(svcount_t, mfloat8_t *, int64_t, svmfloat8x2_t);
18720__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u64_x2)))
18721void svst1_vnum_u64_x2(svcount_t, uint64_t *, int64_t, svuint64x2_t);
18722__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f64_x2)))
18723void svst1_vnum_f64_x2(svcount_t, float64_t *, int64_t, svfloat64x2_t);
18724__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s64_x2)))
18725void svst1_vnum_s64_x2(svcount_t, int64_t *, int64_t, svint64x2_t);
18726__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u16_x2)))
18727void svst1_vnum_u16_x2(svcount_t, uint16_t *, int64_t, svuint16x2_t);
18728__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_bf16_x2)))
18729void svst1_vnum_bf16_x2(svcount_t, bfloat16_t *, int64_t, svbfloat16x2_t);
18730__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f16_x2)))
18731void svst1_vnum_f16_x2(svcount_t, float16_t *, int64_t, svfloat16x2_t);
18732__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s16_x2)))
18733void svst1_vnum_s16_x2(svcount_t, int16_t *, int64_t, svint16x2_t);
18734__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u32_x2)))
18735void svst1_vnum_u32_x2(svcount_t, uint32_t *, int64_t, svuint32x2_t);
18736__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f32_x2)))
18737void svst1_vnum_f32_x2(svcount_t, float32_t *, int64_t, svfloat32x2_t);
18738__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s32_x2)))
18739void svst1_vnum_s32_x2(svcount_t, int32_t *, int64_t, svint32x2_t);
18740__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u8_x4)))
18741void svst1_vnum_u8_x4(svcount_t, uint8_t *, int64_t, svuint8x4_t);
18742__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s8_x4)))
18743void svst1_vnum_s8_x4(svcount_t, int8_t *, int64_t, svint8x4_t);
18744__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_mf8_x4)))
18745void svst1_vnum_mf8_x4(svcount_t, mfloat8_t *, int64_t, svmfloat8x4_t);
18746__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u64_x4)))
18747void svst1_vnum_u64_x4(svcount_t, uint64_t *, int64_t, svuint64x4_t);
18748__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f64_x4)))
18749void svst1_vnum_f64_x4(svcount_t, float64_t *, int64_t, svfloat64x4_t);
18750__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s64_x4)))
18751void svst1_vnum_s64_x4(svcount_t, int64_t *, int64_t, svint64x4_t);
18752__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u16_x4)))
18753void svst1_vnum_u16_x4(svcount_t, uint16_t *, int64_t, svuint16x4_t);
18754__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_bf16_x4)))
18755void svst1_vnum_bf16_x4(svcount_t, bfloat16_t *, int64_t, svbfloat16x4_t);
18756__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f16_x4)))
18757void svst1_vnum_f16_x4(svcount_t, float16_t *, int64_t, svfloat16x4_t);
18758__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s16_x4)))
18759void svst1_vnum_s16_x4(svcount_t, int16_t *, int64_t, svint16x4_t);
18760__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u32_x4)))
18761void svst1_vnum_u32_x4(svcount_t, uint32_t *, int64_t, svuint32x4_t);
18762__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f32_x4)))
18763void svst1_vnum_f32_x4(svcount_t, float32_t *, int64_t, svfloat32x4_t);
18764__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s32_x4)))
18765void svst1_vnum_s32_x4(svcount_t, int32_t *, int64_t, svint32x4_t);
18766__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u8_x2)))
18767void svstnt1_u8_x2(svcount_t, uint8_t *, svuint8x2_t);
18768__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s8_x2)))
18769void svstnt1_s8_x2(svcount_t, int8_t *, svint8x2_t);
18770__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_mf8_x2)))
18771void svstnt1_mf8_x2(svcount_t, mfloat8_t *, svmfloat8x2_t);
18772__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u64_x2)))
18773void svstnt1_u64_x2(svcount_t, uint64_t *, svuint64x2_t);
18774__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f64_x2)))
18775void svstnt1_f64_x2(svcount_t, float64_t *, svfloat64x2_t);
18776__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s64_x2)))
18777void svstnt1_s64_x2(svcount_t, int64_t *, svint64x2_t);
18778__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u16_x2)))
18779void svstnt1_u16_x2(svcount_t, uint16_t *, svuint16x2_t);
18780__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_bf16_x2)))
18781void svstnt1_bf16_x2(svcount_t, bfloat16_t *, svbfloat16x2_t);
18782__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f16_x2)))
18783void svstnt1_f16_x2(svcount_t, float16_t *, svfloat16x2_t);
18784__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s16_x2)))
18785void svstnt1_s16_x2(svcount_t, int16_t *, svint16x2_t);
18786__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u32_x2)))
18787void svstnt1_u32_x2(svcount_t, uint32_t *, svuint32x2_t);
18788__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f32_x2)))
18789void svstnt1_f32_x2(svcount_t, float32_t *, svfloat32x2_t);
18790__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s32_x2)))
18791void svstnt1_s32_x2(svcount_t, int32_t *, svint32x2_t);
18792__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u8_x4)))
18793void svstnt1_u8_x4(svcount_t, uint8_t *, svuint8x4_t);
18794__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s8_x4)))
18795void svstnt1_s8_x4(svcount_t, int8_t *, svint8x4_t);
18796__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_mf8_x4)))
18797void svstnt1_mf8_x4(svcount_t, mfloat8_t *, svmfloat8x4_t);
18798__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u64_x4)))
18799void svstnt1_u64_x4(svcount_t, uint64_t *, svuint64x4_t);
18800__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f64_x4)))
18801void svstnt1_f64_x4(svcount_t, float64_t *, svfloat64x4_t);
18802__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s64_x4)))
18803void svstnt1_s64_x4(svcount_t, int64_t *, svint64x4_t);
18804__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u16_x4)))
18805void svstnt1_u16_x4(svcount_t, uint16_t *, svuint16x4_t);
18806__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_bf16_x4)))
18807void svstnt1_bf16_x4(svcount_t, bfloat16_t *, svbfloat16x4_t);
18808__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f16_x4)))
18809void svstnt1_f16_x4(svcount_t, float16_t *, svfloat16x4_t);
18810__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s16_x4)))
18811void svstnt1_s16_x4(svcount_t, int16_t *, svint16x4_t);
18812__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u32_x4)))
18813void svstnt1_u32_x4(svcount_t, uint32_t *, svuint32x4_t);
18814__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f32_x4)))
18815void svstnt1_f32_x4(svcount_t, float32_t *, svfloat32x4_t);
18816__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s32_x4)))
18817void svstnt1_s32_x4(svcount_t, int32_t *, svint32x4_t);
18818__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u8_x2)))
18819void svstnt1_vnum_u8_x2(svcount_t, uint8_t *, int64_t, svuint8x2_t);
18820__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s8_x2)))
18821void svstnt1_vnum_s8_x2(svcount_t, int8_t *, int64_t, svint8x2_t);
18822__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_mf8_x2)))
18823void svstnt1_vnum_mf8_x2(svcount_t, mfloat8_t *, int64_t, svmfloat8x2_t);
18824__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u64_x2)))
18825void svstnt1_vnum_u64_x2(svcount_t, uint64_t *, int64_t, svuint64x2_t);
18826__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f64_x2)))
18827void svstnt1_vnum_f64_x2(svcount_t, float64_t *, int64_t, svfloat64x2_t);
18828__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s64_x2)))
18829void svstnt1_vnum_s64_x2(svcount_t, int64_t *, int64_t, svint64x2_t);
18830__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u16_x2)))
18831void svstnt1_vnum_u16_x2(svcount_t, uint16_t *, int64_t, svuint16x2_t);
18832__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_bf16_x2)))
18833void svstnt1_vnum_bf16_x2(svcount_t, bfloat16_t *, int64_t, svbfloat16x2_t);
18834__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f16_x2)))
18835void svstnt1_vnum_f16_x2(svcount_t, float16_t *, int64_t, svfloat16x2_t);
18836__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s16_x2)))
18837void svstnt1_vnum_s16_x2(svcount_t, int16_t *, int64_t, svint16x2_t);
18838__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u32_x2)))
18839void svstnt1_vnum_u32_x2(svcount_t, uint32_t *, int64_t, svuint32x2_t);
18840__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f32_x2)))
18841void svstnt1_vnum_f32_x2(svcount_t, float32_t *, int64_t, svfloat32x2_t);
18842__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s32_x2)))
18843void svstnt1_vnum_s32_x2(svcount_t, int32_t *, int64_t, svint32x2_t);
18844__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u8_x4)))
18845void svstnt1_vnum_u8_x4(svcount_t, uint8_t *, int64_t, svuint8x4_t);
18846__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s8_x4)))
18847void svstnt1_vnum_s8_x4(svcount_t, int8_t *, int64_t, svint8x4_t);
18848__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_mf8_x4)))
18849void svstnt1_vnum_mf8_x4(svcount_t, mfloat8_t *, int64_t, svmfloat8x4_t);
18850__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u64_x4)))
18851void svstnt1_vnum_u64_x4(svcount_t, uint64_t *, int64_t, svuint64x4_t);
18852__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f64_x4)))
18853void svstnt1_vnum_f64_x4(svcount_t, float64_t *, int64_t, svfloat64x4_t);
18854__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s64_x4)))
18855void svstnt1_vnum_s64_x4(svcount_t, int64_t *, int64_t, svint64x4_t);
18856__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u16_x4)))
18857void svstnt1_vnum_u16_x4(svcount_t, uint16_t *, int64_t, svuint16x4_t);
18858__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_bf16_x4)))
18859void svstnt1_vnum_bf16_x4(svcount_t, bfloat16_t *, int64_t, svbfloat16x4_t);
18860__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f16_x4)))
18861void svstnt1_vnum_f16_x4(svcount_t, float16_t *, int64_t, svfloat16x4_t);
18862__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s16_x4)))
18863void svstnt1_vnum_s16_x4(svcount_t, int16_t *, int64_t, svint16x4_t);
18864__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u32_x4)))
18865void svstnt1_vnum_u32_x4(svcount_t, uint32_t *, int64_t, svuint32x4_t);
18866__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f32_x4)))
18867void svstnt1_vnum_f32_x4(svcount_t, float32_t *, int64_t, svfloat32x4_t);
18868__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s32_x4)))
18869void svstnt1_vnum_s32_x4(svcount_t, int32_t *, int64_t, svint32x4_t);
18870__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c8_s64)))
18871svcount_t svwhilege_c8_s64(int64_t, int64_t, uint64_t);
18872__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c32_s64)))
18873svcount_t svwhilege_c32_s64(int64_t, int64_t, uint64_t);
18874__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c64_s64)))
18875svcount_t svwhilege_c64_s64(int64_t, int64_t, uint64_t);
18876__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c16_s64)))
18877svcount_t svwhilege_c16_s64(int64_t, int64_t, uint64_t);
18878__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c8_u64)))
18879svcount_t svwhilege_c8_u64(uint64_t, uint64_t, uint64_t);
18880__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c32_u64)))
18881svcount_t svwhilege_c32_u64(uint64_t, uint64_t, uint64_t);
18882__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c64_u64)))
18883svcount_t svwhilege_c64_u64(uint64_t, uint64_t, uint64_t);
18884__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c16_u64)))
18885svcount_t svwhilege_c16_u64(uint64_t, uint64_t, uint64_t);
18886__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c8_s64)))
18887svcount_t svwhilegt_c8_s64(int64_t, int64_t, uint64_t);
18888__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c32_s64)))
18889svcount_t svwhilegt_c32_s64(int64_t, int64_t, uint64_t);
18890__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c64_s64)))
18891svcount_t svwhilegt_c64_s64(int64_t, int64_t, uint64_t);
18892__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c16_s64)))
18893svcount_t svwhilegt_c16_s64(int64_t, int64_t, uint64_t);
18894__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c8_u64)))
18895svcount_t svwhilegt_c8_u64(uint64_t, uint64_t, uint64_t);
18896__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c32_u64)))
18897svcount_t svwhilegt_c32_u64(uint64_t, uint64_t, uint64_t);
18898__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c64_u64)))
18899svcount_t svwhilegt_c64_u64(uint64_t, uint64_t, uint64_t);
18900__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c16_u64)))
18901svcount_t svwhilegt_c16_u64(uint64_t, uint64_t, uint64_t);
18902__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c8_s64)))
18903svcount_t svwhilele_c8_s64(int64_t, int64_t, uint64_t);
18904__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c32_s64)))
18905svcount_t svwhilele_c32_s64(int64_t, int64_t, uint64_t);
18906__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c64_s64)))
18907svcount_t svwhilele_c64_s64(int64_t, int64_t, uint64_t);
18908__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c16_s64)))
18909svcount_t svwhilele_c16_s64(int64_t, int64_t, uint64_t);
18910__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c8_u64)))
18911svcount_t svwhilele_c8_u64(uint64_t, uint64_t, uint64_t);
18912__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c32_u64)))
18913svcount_t svwhilele_c32_u64(uint64_t, uint64_t, uint64_t);
18914__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c64_u64)))
18915svcount_t svwhilele_c64_u64(uint64_t, uint64_t, uint64_t);
18916__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c16_u64)))
18917svcount_t svwhilele_c16_u64(uint64_t, uint64_t, uint64_t);
18918__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c8_u64)))
18919svcount_t svwhilelt_c8_u64(uint64_t, uint64_t, uint64_t);
18920__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c32_u64)))
18921svcount_t svwhilelt_c32_u64(uint64_t, uint64_t, uint64_t);
18922__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c64_u64)))
18923svcount_t svwhilelt_c64_u64(uint64_t, uint64_t, uint64_t);
18924__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c16_u64)))
18925svcount_t svwhilelt_c16_u64(uint64_t, uint64_t, uint64_t);
18926__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c8_s64)))
18927svcount_t svwhilelt_c8_s64(int64_t, int64_t, uint64_t);
18928__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c32_s64)))
18929svcount_t svwhilelt_c32_s64(int64_t, int64_t, uint64_t);
18930__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c64_s64)))
18931svcount_t svwhilelt_c64_s64(int64_t, int64_t, uint64_t);
18932__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c16_s64)))
18933svcount_t svwhilelt_c16_s64(int64_t, int64_t, uint64_t);
18934__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u8_x2)))
18935svuint8x2_t svld1_x2(svcount_t, uint8_t const *);
18936__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s8_x2)))
18937svint8x2_t svld1_x2(svcount_t, int8_t const *);
18938__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_mf8_x2)))
18939svmfloat8x2_t svld1_x2(svcount_t, mfloat8_t const *);
18940__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u64_x2)))
18941svuint64x2_t svld1_x2(svcount_t, uint64_t const *);
18942__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f64_x2)))
18943svfloat64x2_t svld1_x2(svcount_t, float64_t const *);
18944__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s64_x2)))
18945svint64x2_t svld1_x2(svcount_t, int64_t const *);
18946__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u16_x2)))
18947svuint16x2_t svld1_x2(svcount_t, uint16_t const *);
18948__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_bf16_x2)))
18949svbfloat16x2_t svld1_x2(svcount_t, bfloat16_t const *);
18950__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f16_x2)))
18951svfloat16x2_t svld1_x2(svcount_t, float16_t const *);
18952__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s16_x2)))
18953svint16x2_t svld1_x2(svcount_t, int16_t const *);
18954__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u32_x2)))
18955svuint32x2_t svld1_x2(svcount_t, uint32_t const *);
18956__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f32_x2)))
18957svfloat32x2_t svld1_x2(svcount_t, float32_t const *);
18958__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s32_x2)))
18959svint32x2_t svld1_x2(svcount_t, int32_t const *);
18960__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u8_x4)))
18961svuint8x4_t svld1_x4(svcount_t, uint8_t const *);
18962__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s8_x4)))
18963svint8x4_t svld1_x4(svcount_t, int8_t const *);
18964__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_mf8_x4)))
18965svmfloat8x4_t svld1_x4(svcount_t, mfloat8_t const *);
18966__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u64_x4)))
18967svuint64x4_t svld1_x4(svcount_t, uint64_t const *);
18968__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f64_x4)))
18969svfloat64x4_t svld1_x4(svcount_t, float64_t const *);
18970__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s64_x4)))
18971svint64x4_t svld1_x4(svcount_t, int64_t const *);
18972__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u16_x4)))
18973svuint16x4_t svld1_x4(svcount_t, uint16_t const *);
18974__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_bf16_x4)))
18975svbfloat16x4_t svld1_x4(svcount_t, bfloat16_t const *);
18976__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f16_x4)))
18977svfloat16x4_t svld1_x4(svcount_t, float16_t const *);
18978__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s16_x4)))
18979svint16x4_t svld1_x4(svcount_t, int16_t const *);
18980__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_u32_x4)))
18981svuint32x4_t svld1_x4(svcount_t, uint32_t const *);
18982__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_f32_x4)))
18983svfloat32x4_t svld1_x4(svcount_t, float32_t const *);
18984__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_s32_x4)))
18985svint32x4_t svld1_x4(svcount_t, int32_t const *);
18986__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u8_x2)))
18987svuint8x2_t svld1_vnum_x2(svcount_t, uint8_t const *, int64_t);
18988__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s8_x2)))
18989svint8x2_t svld1_vnum_x2(svcount_t, int8_t const *, int64_t);
18990__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_mf8_x2)))
18991svmfloat8x2_t svld1_vnum_x2(svcount_t, mfloat8_t const *, int64_t);
18992__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u64_x2)))
18993svuint64x2_t svld1_vnum_x2(svcount_t, uint64_t const *, int64_t);
18994__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f64_x2)))
18995svfloat64x2_t svld1_vnum_x2(svcount_t, float64_t const *, int64_t);
18996__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s64_x2)))
18997svint64x2_t svld1_vnum_x2(svcount_t, int64_t const *, int64_t);
18998__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u16_x2)))
18999svuint16x2_t svld1_vnum_x2(svcount_t, uint16_t const *, int64_t);
19000__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_bf16_x2)))
19001svbfloat16x2_t svld1_vnum_x2(svcount_t, bfloat16_t const *, int64_t);
19002__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f16_x2)))
19003svfloat16x2_t svld1_vnum_x2(svcount_t, float16_t const *, int64_t);
19004__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s16_x2)))
19005svint16x2_t svld1_vnum_x2(svcount_t, int16_t const *, int64_t);
19006__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u32_x2)))
19007svuint32x2_t svld1_vnum_x2(svcount_t, uint32_t const *, int64_t);
19008__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f32_x2)))
19009svfloat32x2_t svld1_vnum_x2(svcount_t, float32_t const *, int64_t);
19010__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s32_x2)))
19011svint32x2_t svld1_vnum_x2(svcount_t, int32_t const *, int64_t);
19012__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u8_x4)))
19013svuint8x4_t svld1_vnum_x4(svcount_t, uint8_t const *, int64_t);
19014__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s8_x4)))
19015svint8x4_t svld1_vnum_x4(svcount_t, int8_t const *, int64_t);
19016__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_mf8_x4)))
19017svmfloat8x4_t svld1_vnum_x4(svcount_t, mfloat8_t const *, int64_t);
19018__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u64_x4)))
19019svuint64x4_t svld1_vnum_x4(svcount_t, uint64_t const *, int64_t);
19020__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f64_x4)))
19021svfloat64x4_t svld1_vnum_x4(svcount_t, float64_t const *, int64_t);
19022__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s64_x4)))
19023svint64x4_t svld1_vnum_x4(svcount_t, int64_t const *, int64_t);
19024__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u16_x4)))
19025svuint16x4_t svld1_vnum_x4(svcount_t, uint16_t const *, int64_t);
19026__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_bf16_x4)))
19027svbfloat16x4_t svld1_vnum_x4(svcount_t, bfloat16_t const *, int64_t);
19028__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f16_x4)))
19029svfloat16x4_t svld1_vnum_x4(svcount_t, float16_t const *, int64_t);
19030__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s16_x4)))
19031svint16x4_t svld1_vnum_x4(svcount_t, int16_t const *, int64_t);
19032__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_u32_x4)))
19033svuint32x4_t svld1_vnum_x4(svcount_t, uint32_t const *, int64_t);
19034__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_f32_x4)))
19035svfloat32x4_t svld1_vnum_x4(svcount_t, float32_t const *, int64_t);
19036__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svld1_vnum_s32_x4)))
19037svint32x4_t svld1_vnum_x4(svcount_t, int32_t const *, int64_t);
19038__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u8_x2)))
19039svuint8x2_t svldnt1_x2(svcount_t, uint8_t const *);
19040__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s8_x2)))
19041svint8x2_t svldnt1_x2(svcount_t, int8_t const *);
19042__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_mf8_x2)))
19043svmfloat8x2_t svldnt1_x2(svcount_t, mfloat8_t const *);
19044__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u64_x2)))
19045svuint64x2_t svldnt1_x2(svcount_t, uint64_t const *);
19046__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f64_x2)))
19047svfloat64x2_t svldnt1_x2(svcount_t, float64_t const *);
19048__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s64_x2)))
19049svint64x2_t svldnt1_x2(svcount_t, int64_t const *);
19050__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u16_x2)))
19051svuint16x2_t svldnt1_x2(svcount_t, uint16_t const *);
19052__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_bf16_x2)))
19053svbfloat16x2_t svldnt1_x2(svcount_t, bfloat16_t const *);
19054__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f16_x2)))
19055svfloat16x2_t svldnt1_x2(svcount_t, float16_t const *);
19056__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s16_x2)))
19057svint16x2_t svldnt1_x2(svcount_t, int16_t const *);
19058__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u32_x2)))
19059svuint32x2_t svldnt1_x2(svcount_t, uint32_t const *);
19060__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f32_x2)))
19061svfloat32x2_t svldnt1_x2(svcount_t, float32_t const *);
19062__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s32_x2)))
19063svint32x2_t svldnt1_x2(svcount_t, int32_t const *);
19064__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u8_x4)))
19065svuint8x4_t svldnt1_x4(svcount_t, uint8_t const *);
19066__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s8_x4)))
19067svint8x4_t svldnt1_x4(svcount_t, int8_t const *);
19068__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_mf8_x4)))
19069svmfloat8x4_t svldnt1_x4(svcount_t, mfloat8_t const *);
19070__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u64_x4)))
19071svuint64x4_t svldnt1_x4(svcount_t, uint64_t const *);
19072__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f64_x4)))
19073svfloat64x4_t svldnt1_x4(svcount_t, float64_t const *);
19074__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s64_x4)))
19075svint64x4_t svldnt1_x4(svcount_t, int64_t const *);
19076__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u16_x4)))
19077svuint16x4_t svldnt1_x4(svcount_t, uint16_t const *);
19078__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_bf16_x4)))
19079svbfloat16x4_t svldnt1_x4(svcount_t, bfloat16_t const *);
19080__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f16_x4)))
19081svfloat16x4_t svldnt1_x4(svcount_t, float16_t const *);
19082__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s16_x4)))
19083svint16x4_t svldnt1_x4(svcount_t, int16_t const *);
19084__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_u32_x4)))
19085svuint32x4_t svldnt1_x4(svcount_t, uint32_t const *);
19086__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_f32_x4)))
19087svfloat32x4_t svldnt1_x4(svcount_t, float32_t const *);
19088__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_s32_x4)))
19089svint32x4_t svldnt1_x4(svcount_t, int32_t const *);
19090__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u8_x2)))
19091svuint8x2_t svldnt1_vnum_x2(svcount_t, uint8_t const *, int64_t);
19092__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s8_x2)))
19093svint8x2_t svldnt1_vnum_x2(svcount_t, int8_t const *, int64_t);
19094__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_mf8_x2)))
19095svmfloat8x2_t svldnt1_vnum_x2(svcount_t, mfloat8_t const *, int64_t);
19096__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u64_x2)))
19097svuint64x2_t svldnt1_vnum_x2(svcount_t, uint64_t const *, int64_t);
19098__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f64_x2)))
19099svfloat64x2_t svldnt1_vnum_x2(svcount_t, float64_t const *, int64_t);
19100__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s64_x2)))
19101svint64x2_t svldnt1_vnum_x2(svcount_t, int64_t const *, int64_t);
19102__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u16_x2)))
19103svuint16x2_t svldnt1_vnum_x2(svcount_t, uint16_t const *, int64_t);
19104__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_bf16_x2)))
19105svbfloat16x2_t svldnt1_vnum_x2(svcount_t, bfloat16_t const *, int64_t);
19106__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f16_x2)))
19107svfloat16x2_t svldnt1_vnum_x2(svcount_t, float16_t const *, int64_t);
19108__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s16_x2)))
19109svint16x2_t svldnt1_vnum_x2(svcount_t, int16_t const *, int64_t);
19110__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u32_x2)))
19111svuint32x2_t svldnt1_vnum_x2(svcount_t, uint32_t const *, int64_t);
19112__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f32_x2)))
19113svfloat32x2_t svldnt1_vnum_x2(svcount_t, float32_t const *, int64_t);
19114__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s32_x2)))
19115svint32x2_t svldnt1_vnum_x2(svcount_t, int32_t const *, int64_t);
19116__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u8_x4)))
19117svuint8x4_t svldnt1_vnum_x4(svcount_t, uint8_t const *, int64_t);
19118__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s8_x4)))
19119svint8x4_t svldnt1_vnum_x4(svcount_t, int8_t const *, int64_t);
19120__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_mf8_x4)))
19121svmfloat8x4_t svldnt1_vnum_x4(svcount_t, mfloat8_t const *, int64_t);
19122__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u64_x4)))
19123svuint64x4_t svldnt1_vnum_x4(svcount_t, uint64_t const *, int64_t);
19124__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f64_x4)))
19125svfloat64x4_t svldnt1_vnum_x4(svcount_t, float64_t const *, int64_t);
19126__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s64_x4)))
19127svint64x4_t svldnt1_vnum_x4(svcount_t, int64_t const *, int64_t);
19128__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u16_x4)))
19129svuint16x4_t svldnt1_vnum_x4(svcount_t, uint16_t const *, int64_t);
19130__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_bf16_x4)))
19131svbfloat16x4_t svldnt1_vnum_x4(svcount_t, bfloat16_t const *, int64_t);
19132__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f16_x4)))
19133svfloat16x4_t svldnt1_vnum_x4(svcount_t, float16_t const *, int64_t);
19134__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s16_x4)))
19135svint16x4_t svldnt1_vnum_x4(svcount_t, int16_t const *, int64_t);
19136__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_u32_x4)))
19137svuint32x4_t svldnt1_vnum_x4(svcount_t, uint32_t const *, int64_t);
19138__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_f32_x4)))
19139svfloat32x4_t svldnt1_vnum_x4(svcount_t, float32_t const *, int64_t);
19140__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svldnt1_vnum_s32_x4)))
19141svint32x4_t svldnt1_vnum_x4(svcount_t, int32_t const *, int64_t);
19142__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svreinterpret_b)))
19143svbool_t svreinterpret(svcount_t);
19144__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svreinterpret_c)))
19145svcount_t svreinterpret(svbool_t);
19146__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u8_x2)))
19147void svst1(svcount_t, uint8_t *, svuint8x2_t);
19148__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s8_x2)))
19149void svst1(svcount_t, int8_t *, svint8x2_t);
19150__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_mf8_x2)))
19151void svst1(svcount_t, mfloat8_t *, svmfloat8x2_t);
19152__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u64_x2)))
19153void svst1(svcount_t, uint64_t *, svuint64x2_t);
19154__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f64_x2)))
19155void svst1(svcount_t, float64_t *, svfloat64x2_t);
19156__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s64_x2)))
19157void svst1(svcount_t, int64_t *, svint64x2_t);
19158__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u16_x2)))
19159void svst1(svcount_t, uint16_t *, svuint16x2_t);
19160__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_bf16_x2)))
19161void svst1(svcount_t, bfloat16_t *, svbfloat16x2_t);
19162__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f16_x2)))
19163void svst1(svcount_t, float16_t *, svfloat16x2_t);
19164__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s16_x2)))
19165void svst1(svcount_t, int16_t *, svint16x2_t);
19166__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u32_x2)))
19167void svst1(svcount_t, uint32_t *, svuint32x2_t);
19168__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f32_x2)))
19169void svst1(svcount_t, float32_t *, svfloat32x2_t);
19170__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s32_x2)))
19171void svst1(svcount_t, int32_t *, svint32x2_t);
19172__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u8_x4)))
19173void svst1(svcount_t, uint8_t *, svuint8x4_t);
19174__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s8_x4)))
19175void svst1(svcount_t, int8_t *, svint8x4_t);
19176__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_mf8_x4)))
19177void svst1(svcount_t, mfloat8_t *, svmfloat8x4_t);
19178__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u64_x4)))
19179void svst1(svcount_t, uint64_t *, svuint64x4_t);
19180__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f64_x4)))
19181void svst1(svcount_t, float64_t *, svfloat64x4_t);
19182__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s64_x4)))
19183void svst1(svcount_t, int64_t *, svint64x4_t);
19184__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u16_x4)))
19185void svst1(svcount_t, uint16_t *, svuint16x4_t);
19186__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_bf16_x4)))
19187void svst1(svcount_t, bfloat16_t *, svbfloat16x4_t);
19188__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f16_x4)))
19189void svst1(svcount_t, float16_t *, svfloat16x4_t);
19190__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s16_x4)))
19191void svst1(svcount_t, int16_t *, svint16x4_t);
19192__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_u32_x4)))
19193void svst1(svcount_t, uint32_t *, svuint32x4_t);
19194__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_f32_x4)))
19195void svst1(svcount_t, float32_t *, svfloat32x4_t);
19196__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_s32_x4)))
19197void svst1(svcount_t, int32_t *, svint32x4_t);
19198__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u8_x2)))
19199void svst1_vnum(svcount_t, uint8_t *, int64_t, svuint8x2_t);
19200__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s8_x2)))
19201void svst1_vnum(svcount_t, int8_t *, int64_t, svint8x2_t);
19202__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_mf8_x2)))
19203void svst1_vnum(svcount_t, mfloat8_t *, int64_t, svmfloat8x2_t);
19204__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u64_x2)))
19205void svst1_vnum(svcount_t, uint64_t *, int64_t, svuint64x2_t);
19206__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f64_x2)))
19207void svst1_vnum(svcount_t, float64_t *, int64_t, svfloat64x2_t);
19208__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s64_x2)))
19209void svst1_vnum(svcount_t, int64_t *, int64_t, svint64x2_t);
19210__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u16_x2)))
19211void svst1_vnum(svcount_t, uint16_t *, int64_t, svuint16x2_t);
19212__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_bf16_x2)))
19213void svst1_vnum(svcount_t, bfloat16_t *, int64_t, svbfloat16x2_t);
19214__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f16_x2)))
19215void svst1_vnum(svcount_t, float16_t *, int64_t, svfloat16x2_t);
19216__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s16_x2)))
19217void svst1_vnum(svcount_t, int16_t *, int64_t, svint16x2_t);
19218__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u32_x2)))
19219void svst1_vnum(svcount_t, uint32_t *, int64_t, svuint32x2_t);
19220__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f32_x2)))
19221void svst1_vnum(svcount_t, float32_t *, int64_t, svfloat32x2_t);
19222__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s32_x2)))
19223void svst1_vnum(svcount_t, int32_t *, int64_t, svint32x2_t);
19224__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u8_x4)))
19225void svst1_vnum(svcount_t, uint8_t *, int64_t, svuint8x4_t);
19226__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s8_x4)))
19227void svst1_vnum(svcount_t, int8_t *, int64_t, svint8x4_t);
19228__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_mf8_x4)))
19229void svst1_vnum(svcount_t, mfloat8_t *, int64_t, svmfloat8x4_t);
19230__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u64_x4)))
19231void svst1_vnum(svcount_t, uint64_t *, int64_t, svuint64x4_t);
19232__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f64_x4)))
19233void svst1_vnum(svcount_t, float64_t *, int64_t, svfloat64x4_t);
19234__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s64_x4)))
19235void svst1_vnum(svcount_t, int64_t *, int64_t, svint64x4_t);
19236__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u16_x4)))
19237void svst1_vnum(svcount_t, uint16_t *, int64_t, svuint16x4_t);
19238__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_bf16_x4)))
19239void svst1_vnum(svcount_t, bfloat16_t *, int64_t, svbfloat16x4_t);
19240__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f16_x4)))
19241void svst1_vnum(svcount_t, float16_t *, int64_t, svfloat16x4_t);
19242__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s16_x4)))
19243void svst1_vnum(svcount_t, int16_t *, int64_t, svint16x4_t);
19244__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_u32_x4)))
19245void svst1_vnum(svcount_t, uint32_t *, int64_t, svuint32x4_t);
19246__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_f32_x4)))
19247void svst1_vnum(svcount_t, float32_t *, int64_t, svfloat32x4_t);
19248__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svst1_vnum_s32_x4)))
19249void svst1_vnum(svcount_t, int32_t *, int64_t, svint32x4_t);
19250__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u8_x2)))
19251void svstnt1(svcount_t, uint8_t *, svuint8x2_t);
19252__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s8_x2)))
19253void svstnt1(svcount_t, int8_t *, svint8x2_t);
19254__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_mf8_x2)))
19255void svstnt1(svcount_t, mfloat8_t *, svmfloat8x2_t);
19256__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u64_x2)))
19257void svstnt1(svcount_t, uint64_t *, svuint64x2_t);
19258__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f64_x2)))
19259void svstnt1(svcount_t, float64_t *, svfloat64x2_t);
19260__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s64_x2)))
19261void svstnt1(svcount_t, int64_t *, svint64x2_t);
19262__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u16_x2)))
19263void svstnt1(svcount_t, uint16_t *, svuint16x2_t);
19264__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_bf16_x2)))
19265void svstnt1(svcount_t, bfloat16_t *, svbfloat16x2_t);
19266__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f16_x2)))
19267void svstnt1(svcount_t, float16_t *, svfloat16x2_t);
19268__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s16_x2)))
19269void svstnt1(svcount_t, int16_t *, svint16x2_t);
19270__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u32_x2)))
19271void svstnt1(svcount_t, uint32_t *, svuint32x2_t);
19272__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f32_x2)))
19273void svstnt1(svcount_t, float32_t *, svfloat32x2_t);
19274__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s32_x2)))
19275void svstnt1(svcount_t, int32_t *, svint32x2_t);
19276__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u8_x4)))
19277void svstnt1(svcount_t, uint8_t *, svuint8x4_t);
19278__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s8_x4)))
19279void svstnt1(svcount_t, int8_t *, svint8x4_t);
19280__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_mf8_x4)))
19281void svstnt1(svcount_t, mfloat8_t *, svmfloat8x4_t);
19282__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u64_x4)))
19283void svstnt1(svcount_t, uint64_t *, svuint64x4_t);
19284__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f64_x4)))
19285void svstnt1(svcount_t, float64_t *, svfloat64x4_t);
19286__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s64_x4)))
19287void svstnt1(svcount_t, int64_t *, svint64x4_t);
19288__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u16_x4)))
19289void svstnt1(svcount_t, uint16_t *, svuint16x4_t);
19290__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_bf16_x4)))
19291void svstnt1(svcount_t, bfloat16_t *, svbfloat16x4_t);
19292__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f16_x4)))
19293void svstnt1(svcount_t, float16_t *, svfloat16x4_t);
19294__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s16_x4)))
19295void svstnt1(svcount_t, int16_t *, svint16x4_t);
19296__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_u32_x4)))
19297void svstnt1(svcount_t, uint32_t *, svuint32x4_t);
19298__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_f32_x4)))
19299void svstnt1(svcount_t, float32_t *, svfloat32x4_t);
19300__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_s32_x4)))
19301void svstnt1(svcount_t, int32_t *, svint32x4_t);
19302__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u8_x2)))
19303void svstnt1_vnum(svcount_t, uint8_t *, int64_t, svuint8x2_t);
19304__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s8_x2)))
19305void svstnt1_vnum(svcount_t, int8_t *, int64_t, svint8x2_t);
19306__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_mf8_x2)))
19307void svstnt1_vnum(svcount_t, mfloat8_t *, int64_t, svmfloat8x2_t);
19308__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u64_x2)))
19309void svstnt1_vnum(svcount_t, uint64_t *, int64_t, svuint64x2_t);
19310__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f64_x2)))
19311void svstnt1_vnum(svcount_t, float64_t *, int64_t, svfloat64x2_t);
19312__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s64_x2)))
19313void svstnt1_vnum(svcount_t, int64_t *, int64_t, svint64x2_t);
19314__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u16_x2)))
19315void svstnt1_vnum(svcount_t, uint16_t *, int64_t, svuint16x2_t);
19316__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_bf16_x2)))
19317void svstnt1_vnum(svcount_t, bfloat16_t *, int64_t, svbfloat16x2_t);
19318__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f16_x2)))
19319void svstnt1_vnum(svcount_t, float16_t *, int64_t, svfloat16x2_t);
19320__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s16_x2)))
19321void svstnt1_vnum(svcount_t, int16_t *, int64_t, svint16x2_t);
19322__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u32_x2)))
19323void svstnt1_vnum(svcount_t, uint32_t *, int64_t, svuint32x2_t);
19324__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f32_x2)))
19325void svstnt1_vnum(svcount_t, float32_t *, int64_t, svfloat32x2_t);
19326__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s32_x2)))
19327void svstnt1_vnum(svcount_t, int32_t *, int64_t, svint32x2_t);
19328__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u8_x4)))
19329void svstnt1_vnum(svcount_t, uint8_t *, int64_t, svuint8x4_t);
19330__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s8_x4)))
19331void svstnt1_vnum(svcount_t, int8_t *, int64_t, svint8x4_t);
19332__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_mf8_x4)))
19333void svstnt1_vnum(svcount_t, mfloat8_t *, int64_t, svmfloat8x4_t);
19334__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u64_x4)))
19335void svstnt1_vnum(svcount_t, uint64_t *, int64_t, svuint64x4_t);
19336__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f64_x4)))
19337void svstnt1_vnum(svcount_t, float64_t *, int64_t, svfloat64x4_t);
19338__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s64_x4)))
19339void svstnt1_vnum(svcount_t, int64_t *, int64_t, svint64x4_t);
19340__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u16_x4)))
19341void svstnt1_vnum(svcount_t, uint16_t *, int64_t, svuint16x4_t);
19342__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_bf16_x4)))
19343void svstnt1_vnum(svcount_t, bfloat16_t *, int64_t, svbfloat16x4_t);
19344__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f16_x4)))
19345void svstnt1_vnum(svcount_t, float16_t *, int64_t, svfloat16x4_t);
19346__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s16_x4)))
19347void svstnt1_vnum(svcount_t, int16_t *, int64_t, svint16x4_t);
19348__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_u32_x4)))
19349void svstnt1_vnum(svcount_t, uint32_t *, int64_t, svuint32x4_t);
19350__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_f32_x4)))
19351void svstnt1_vnum(svcount_t, float32_t *, int64_t, svfloat32x4_t);
19352__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svstnt1_vnum_s32_x4)))
19353void svstnt1_vnum(svcount_t, int32_t *, int64_t, svint32x4_t);
19354__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c8_s64)))
19355svcount_t svwhilege_c8(int64_t, int64_t, uint64_t);
19356__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c32_s64)))
19357svcount_t svwhilege_c32(int64_t, int64_t, uint64_t);
19358__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c64_s64)))
19359svcount_t svwhilege_c64(int64_t, int64_t, uint64_t);
19360__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c16_s64)))
19361svcount_t svwhilege_c16(int64_t, int64_t, uint64_t);
19362__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c8_u64)))
19363svcount_t svwhilege_c8(uint64_t, uint64_t, uint64_t);
19364__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c32_u64)))
19365svcount_t svwhilege_c32(uint64_t, uint64_t, uint64_t);
19366__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c64_u64)))
19367svcount_t svwhilege_c64(uint64_t, uint64_t, uint64_t);
19368__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilege_c16_u64)))
19369svcount_t svwhilege_c16(uint64_t, uint64_t, uint64_t);
19370__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c8_s64)))
19371svcount_t svwhilegt_c8(int64_t, int64_t, uint64_t);
19372__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c32_s64)))
19373svcount_t svwhilegt_c32(int64_t, int64_t, uint64_t);
19374__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c64_s64)))
19375svcount_t svwhilegt_c64(int64_t, int64_t, uint64_t);
19376__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c16_s64)))
19377svcount_t svwhilegt_c16(int64_t, int64_t, uint64_t);
19378__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c8_u64)))
19379svcount_t svwhilegt_c8(uint64_t, uint64_t, uint64_t);
19380__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c32_u64)))
19381svcount_t svwhilegt_c32(uint64_t, uint64_t, uint64_t);
19382__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c64_u64)))
19383svcount_t svwhilegt_c64(uint64_t, uint64_t, uint64_t);
19384__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilegt_c16_u64)))
19385svcount_t svwhilegt_c16(uint64_t, uint64_t, uint64_t);
19386__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c8_s64)))
19387svcount_t svwhilele_c8(int64_t, int64_t, uint64_t);
19388__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c32_s64)))
19389svcount_t svwhilele_c32(int64_t, int64_t, uint64_t);
19390__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c64_s64)))
19391svcount_t svwhilele_c64(int64_t, int64_t, uint64_t);
19392__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c16_s64)))
19393svcount_t svwhilele_c16(int64_t, int64_t, uint64_t);
19394__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c8_u64)))
19395svcount_t svwhilele_c8(uint64_t, uint64_t, uint64_t);
19396__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c32_u64)))
19397svcount_t svwhilele_c32(uint64_t, uint64_t, uint64_t);
19398__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c64_u64)))
19399svcount_t svwhilele_c64(uint64_t, uint64_t, uint64_t);
19400__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilele_c16_u64)))
19401svcount_t svwhilele_c16(uint64_t, uint64_t, uint64_t);
19402__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c8_u64)))
19403svcount_t svwhilelt_c8(uint64_t, uint64_t, uint64_t);
19404__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c32_u64)))
19405svcount_t svwhilelt_c32(uint64_t, uint64_t, uint64_t);
19406__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c64_u64)))
19407svcount_t svwhilelt_c64(uint64_t, uint64_t, uint64_t);
19408__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c16_u64)))
19409svcount_t svwhilelt_c16(uint64_t, uint64_t, uint64_t);
19410__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c8_s64)))
19411svcount_t svwhilelt_c8(int64_t, int64_t, uint64_t);
19412__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c32_s64)))
19413svcount_t svwhilelt_c32(int64_t, int64_t, uint64_t);
19414__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c64_s64)))
19415svcount_t svwhilelt_c64(int64_t, int64_t, uint64_t);
19416__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svwhilelt_c16_s64)))
19417svcount_t svwhilelt_c16(int64_t, int64_t, uint64_t);
1906219418__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svabd_n_f64_m)))
1906319419svfloat64_t svabd_n_f64_m(svbool_t, svfloat64_t, float64_t);
1906419420__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svabd_n_f32_m)))
......@@ -31877,6 +32233,30 @@ __aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpa_f32)))
3187732233svfloat32_t svexpa(svuint32_t);
3187832234__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svexpa_f16)))
3187932235svfloat16_t svexpa(svuint16_t);
32236__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_u32)))
32237svuint32_t svcompact_u32(svbool_t, svuint32_t);
32238__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_u64)))
32239svuint64_t svcompact_u64(svbool_t, svuint64_t);
32240__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_f64)))
32241svfloat64_t svcompact_f64(svbool_t, svfloat64_t);
32242__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_f32)))
32243svfloat32_t svcompact_f32(svbool_t, svfloat32_t);
32244__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_s32)))
32245svint32_t svcompact_s32(svbool_t, svint32_t);
32246__ai __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_s64)))
32247svint64_t svcompact_s64(svbool_t, svint64_t);
32248__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_u32)))
32249svuint32_t svcompact(svbool_t, svuint32_t);
32250__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_u64)))
32251svuint64_t svcompact(svbool_t, svuint64_t);
32252__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_f64)))
32253svfloat64_t svcompact(svbool_t, svfloat64_t);
32254__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_f32)))
32255svfloat32_t svcompact(svbool_t, svfloat32_t);
32256__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_s32)))
32257svint32_t svcompact(svbool_t, svint32_t);
32258__aio __attribute__((__clang_arm_builtin_alias(__builtin_sve_svcompact_s64)))
32259svint64_t svcompact(svbool_t, svint64_t);
3188032260#define svcvtnt_bf16_x svcvtnt_bf16_m
3188132261#define svcvtnt_bf16_f32_x svcvtnt_bf16_f32_m
3188232262#define svcvtnt_f16_x svcvtnt_f16_m
lib/include/avx10_2_512bf16intrin.h+19-12
......@@ -21,9 +21,15 @@ typedef __bf16 __m512bh_u __attribute__((__vector_size__(64), __aligned__(1)));
2121
2222/* Define the default attributes for the functions in this file. */
2323#define __DEFAULT_FN_ATTRS512 \
24 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-512"), \
24 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2525 __min_vector_width__(512)))
2626
27#if defined(__cplusplus) && (__cplusplus >= 201103L)
28#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512 constexpr
29#else
30#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512
31#endif
32
2733static __inline __m512bh __DEFAULT_FN_ATTRS512 _mm512_setzero_pbh(void) {
2834 return __builtin_bit_cast(__m512bh, _mm512_setzero_ps());
2935}
......@@ -167,13 +173,13 @@ _mm512_mask_blend_pbh(__mmask32 __U, __m512bh __A, __m512bh __W) {
167173 (__v32bf)__A);
168174}
169175
170static __inline__ __m512bh __DEFAULT_FN_ATTRS512
176static __inline__ __m512bh __DEFAULT_FN_ATTRS512_CONSTEXPR
171177_mm512_permutex2var_pbh(__m512bh __A, __m512i __I, __m512bh __B) {
172178 return (__m512bh)__builtin_ia32_vpermi2varhi512((__v32hi)__A, (__v32hi)__I,
173179 (__v32hi)__B);
174180}
175181
176static __inline__ __m512bh __DEFAULT_FN_ATTRS512
182static __inline__ __m512bh __DEFAULT_FN_ATTRS512_CONSTEXPR
177183_mm512_permutexvar_pbh(__m512i __A, __m512bh __B) {
178184 return (__m512bh)__builtin_ia32_permvarhi512((__v32hi)__B, (__v32hi)__A);
179185}
......@@ -423,7 +429,7 @@ _mm512_maskz_rsqrt_pbh(__mmask32 __U, __m512bh __A) {
423429 (__v32bf)_mm512_setzero_pbh(), (__mmask32)(__U)))
424430
425431static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_sqrt_pbh(__m512bh __A) {
426 return (__m512bh)__builtin_ia32_vsqrtbf16512((__v32bf)__A);
432 return __builtin_elementwise_sqrt(__A);
427433}
428434
429435static __inline__ __m512bh __DEFAULT_FN_ATTRS512
......@@ -441,8 +447,8 @@ _mm512_maskz_sqrt_pbh(__mmask32 __U, __m512bh __A) {
441447
442448static __inline__ __m512bh __DEFAULT_FN_ATTRS512
443449_mm512_fmadd_pbh(__m512bh __A, __m512bh __B, __m512bh __C) {
444 return (__m512bh)__builtin_ia32_vfmaddbf16512((__v32bf)__A, (__v32bf)__B,
445 (__v32bf)__C);
450 return (__m512bh)__builtin_elementwise_fma((__v32bf)__A, (__v32bf)__B,
451 (__v32bf)__C);
446452}
447453
448454static __inline__ __m512bh __DEFAULT_FN_ATTRS512
......@@ -469,8 +475,8 @@ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_maskz_fmadd_pbh(
469475
470476static __inline__ __m512bh __DEFAULT_FN_ATTRS512
471477_mm512_fmsub_pbh(__m512bh __A, __m512bh __B, __m512bh __C) {
472 return (__m512bh)__builtin_ia32_vfmaddbf16512((__v32bf)__A, (__v32bf)__B,
473 -(__v32bf)__C);
478 return (__m512bh)__builtin_elementwise_fma((__v32bf)__A, (__v32bf)__B,
479 -(__v32bf)__C);
474480}
475481
476482static __inline__ __m512bh __DEFAULT_FN_ATTRS512
......@@ -497,8 +503,8 @@ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_maskz_fmsub_pbh(
497503
498504static __inline__ __m512bh __DEFAULT_FN_ATTRS512
499505_mm512_fnmadd_pbh(__m512bh __A, __m512bh __B, __m512bh __C) {
500 return (__m512bh)__builtin_ia32_vfmaddbf16512((__v32bf)__A, -(__v32bf)__B,
501 (__v32bf)__C);
506 return (__m512bh)__builtin_elementwise_fma((__v32bf)__A, -(__v32bf)__B,
507 (__v32bf)__C);
502508}
503509
504510static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_mask_fnmadd_pbh(
......@@ -527,8 +533,8 @@ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_maskz_fnmadd_pbh(
527533
528534static __inline__ __m512bh __DEFAULT_FN_ATTRS512
529535_mm512_fnmsub_pbh(__m512bh __A, __m512bh __B, __m512bh __C) {
530 return (__m512bh)__builtin_ia32_vfmaddbf16512((__v32bf)__A, -(__v32bf)__B,
531 -(__v32bf)__C);
536 return (__m512bh)__builtin_elementwise_fma((__v32bf)__A, -(__v32bf)__B,
537 -(__v32bf)__C);
532538}
533539
534540static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_mask_fnmsub_pbh(
......@@ -555,6 +561,7 @@ static __inline__ __m512bh __DEFAULT_FN_ATTRS512 _mm512_maskz_fnmsub_pbh(
555561 (__v32bf)_mm512_setzero_pbh());
556562}
557563
564#undef __DEFAULT_FN_ATTRS512_CONSTEXPR
558565#undef __DEFAULT_FN_ATTRS512
559566
560567#endif
lib/include/avx10_2_512convertintrin.h+1-1
......@@ -18,7 +18,7 @@
1818
1919/* Define the default attributes for the functions in this file. */
2020#define __DEFAULT_FN_ATTRS512 \
21 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-512"), \
21 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2222 __min_vector_width__(512)))
2323
2424static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_cvtx2ps_ph(__m512 __A,
lib/include/avx10_2_512niintrin.h+31-31
......@@ -17,7 +17,7 @@
1717#define __AVX10_2_512NIINTRIN_H
1818
1919#define __DEFAULT_FN_ATTRS \
20 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-512"), \
20 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2121 __min_vector_width__(512)))
2222
2323/* VNNI FP16 */
......@@ -64,8 +64,8 @@ static __inline__ __m512 __DEFAULT_FN_ATTRS _mm512_maskz_dpph_ps(__mmask16 __U,
6464static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_dpbssd_epi32(__m512i __W,
6565 __m512i __A,
6666 __m512i __B) {
67 return (__m512i)__builtin_ia32_vpdpbssd512((__v16si)__W, (__v16si)__A,
68 (__v16si)__B);
67 return (__m512i)__builtin_ia32_vpdpbssd512((__v16si)__W, (__v64qi)__A,
68 (__v64qi)__B);
6969}
7070
7171static __inline__ __m512i __DEFAULT_FN_ATTRS
......@@ -84,8 +84,8 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpbssd_epi32(
8484static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_dpbssds_epi32(__m512i __W,
8585 __m512i __A,
8686 __m512i __B) {
87 return (__m512i)__builtin_ia32_vpdpbssds512((__v16si)__W, (__v16si)__A,
88 (__v16si)__B);
87 return (__m512i)__builtin_ia32_vpdpbssds512((__v16si)__W, (__v64qi)__A,
88 (__v64qi)__B);
8989}
9090
9191static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_dpbssds_epi32(
......@@ -104,8 +104,8 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpbssds_epi32(
104104static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_dpbsud_epi32(__m512i __W,
105105 __m512i __A,
106106 __m512i __B) {
107 return (__m512i)__builtin_ia32_vpdpbsud512((__v16si)__W, (__v16si)__A,
108 (__v16si)__B);
107 return (__m512i)__builtin_ia32_vpdpbsud512((__v16si)__W, (__v64qi)__A,
108 (__v64qu)__B);
109109}
110110
111111static __inline__ __m512i __DEFAULT_FN_ATTRS
......@@ -124,8 +124,8 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpbsud_epi32(
124124static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_dpbsuds_epi32(__m512i __W,
125125 __m512i __A,
126126 __m512i __B) {
127 return (__m512i)__builtin_ia32_vpdpbsuds512((__v16si)__W, (__v16si)__A,
128 (__v16si)__B);
127 return (__m512i)__builtin_ia32_vpdpbsuds512((__v16si)__W, (__v64qi)__A,
128 (__v64qu)__B);
129129}
130130
131131static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_dpbsuds_epi32(
......@@ -144,8 +144,8 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpbsuds_epi32(
144144static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_dpbuud_epi32(__m512i __W,
145145 __m512i __A,
146146 __m512i __B) {
147 return (__m512i)__builtin_ia32_vpdpbuud512((__v16si)__W, (__v16si)__A,
148 (__v16si)__B);
147 return (__m512i)__builtin_ia32_vpdpbuud512((__v16si)__W, (__v64qu)__A,
148 (__v64qu)__B);
149149}
150150
151151static __inline__ __m512i __DEFAULT_FN_ATTRS
......@@ -164,8 +164,8 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpbuud_epi32(
164164static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_dpbuuds_epi32(__m512i __W,
165165 __m512i __A,
166166 __m512i __B) {
167 return (__m512i)__builtin_ia32_vpdpbuuds512((__v16si)__W, (__v16si)__A,
168 (__v16si)__B);
167 return (__m512i)__builtin_ia32_vpdpbuuds512((__v16si)__W, (__v64qu)__A,
168 (__v64qu)__B);
169169}
170170
171171static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_dpbuuds_epi32(
......@@ -185,8 +185,8 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpbuuds_epi32(
185185static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_dpwsud_epi32(__m512i __A,
186186 __m512i __B,
187187 __m512i __C) {
188 return (__m512i)__builtin_ia32_vpdpwsud512((__v16si)__A, (__v16si)__B,
189 (__v16si)__C);
188 return (__m512i)__builtin_ia32_vpdpwsud512((__v16si)__A, (__v32hi)__B,
189 (__v32hu)__C);
190190}
191191
192192static __inline__ __m512i __DEFAULT_FN_ATTRS
......@@ -197,7 +197,7 @@ _mm512_mask_dpwsud_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C) {
197197}
198198
199199static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpwsud_epi32(
200 __m512i __A, __mmask16 __U, __m512i __B, __m512i __C) {
200 __mmask16 __U, __m512i __A, __m512i __B, __m512i __C) {
201201 return (__m512i)__builtin_ia32_selectd_512(
202202 (__mmask16)__U, (__v16si)_mm512_dpwsud_epi32(__A, __B, __C),
203203 (__v16si)_mm512_setzero_si512());
......@@ -206,8 +206,8 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpwsud_epi32(
206206static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_dpwsuds_epi32(__m512i __A,
207207 __m512i __B,
208208 __m512i __C) {
209 return (__m512i)__builtin_ia32_vpdpwsuds512((__v16si)__A, (__v16si)__B,
210 (__v16si)__C);
209 return (__m512i)__builtin_ia32_vpdpwsuds512((__v16si)__A, (__v32hi)__B,
210 (__v32hu)__C);
211211}
212212
213213static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_dpwsuds_epi32(
......@@ -218,7 +218,7 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_dpwsuds_epi32(
218218}
219219
220220static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpwsuds_epi32(
221 __m512i __A, __mmask16 __U, __m512i __B, __m512i __C) {
221 __mmask16 __U, __m512i __A, __m512i __B, __m512i __C) {
222222 return (__m512i)__builtin_ia32_selectd_512(
223223 (__mmask16)__U, (__v16si)_mm512_dpwsuds_epi32(__A, __B, __C),
224224 (__v16si)_mm512_setzero_si512());
......@@ -227,8 +227,8 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpwsuds_epi32(
227227static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_dpwusd_epi32(__m512i __A,
228228 __m512i __B,
229229 __m512i __C) {
230 return (__m512i)__builtin_ia32_vpdpwusd512((__v16si)__A, (__v16si)__B,
231 (__v16si)__C);
230 return (__m512i)__builtin_ia32_vpdpwusd512((__v16si)__A, (__v32hu)__B,
231 (__v32hi)__C);
232232}
233233
234234static __inline__ __m512i __DEFAULT_FN_ATTRS
......@@ -239,7 +239,7 @@ _mm512_mask_dpwusd_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C) {
239239}
240240
241241static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpwusd_epi32(
242 __m512i __A, __mmask16 __U, __m512i __B, __m512i __C) {
242 __mmask16 __U, __m512i __A, __m512i __B, __m512i __C) {
243243 return (__m512i)__builtin_ia32_selectd_512(
244244 (__mmask16)__U, (__v16si)_mm512_dpwusd_epi32(__A, __B, __C),
245245 (__v16si)_mm512_setzero_si512());
......@@ -248,8 +248,8 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpwusd_epi32(
248248static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_dpwusds_epi32(__m512i __A,
249249 __m512i __B,
250250 __m512i __C) {
251 return (__m512i)__builtin_ia32_vpdpwusds512((__v16si)__A, (__v16si)__B,
252 (__v16si)__C);
251 return (__m512i)__builtin_ia32_vpdpwusds512((__v16si)__A, (__v32hu)__B,
252 (__v32hi)__C);
253253}
254254
255255static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_dpwusds_epi32(
......@@ -260,7 +260,7 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_dpwusds_epi32(
260260}
261261
262262static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpwusds_epi32(
263 __m512i __A, __mmask16 __U, __m512i __B, __m512i __C) {
263 __mmask16 __U, __m512i __A, __m512i __B, __m512i __C) {
264264 return (__m512i)__builtin_ia32_selectd_512(
265265 (__mmask16)__U, (__v16si)_mm512_dpwusds_epi32(__A, __B, __C),
266266 (__v16si)_mm512_setzero_si512());
......@@ -269,8 +269,8 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpwusds_epi32(
269269static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_dpwuud_epi32(__m512i __A,
270270 __m512i __B,
271271 __m512i __C) {
272 return (__m512i)__builtin_ia32_vpdpwuud512((__v16si)__A, (__v16si)__B,
273 (__v16si)__C);
272 return (__m512i)__builtin_ia32_vpdpwuud512((__v16si)__A, (__v32hu)__B,
273 (__v32hu)__C);
274274}
275275
276276static __inline__ __m512i __DEFAULT_FN_ATTRS
......@@ -281,7 +281,7 @@ _mm512_mask_dpwuud_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C) {
281281}
282282
283283static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpwuud_epi32(
284 __m512i __A, __mmask16 __U, __m512i __B, __m512i __C) {
284 __mmask16 __U, __m512i __A, __m512i __B, __m512i __C) {
285285 return (__m512i)__builtin_ia32_selectd_512(
286286 (__mmask16)__U, (__v16si)_mm512_dpwuud_epi32(__A, __B, __C),
287287 (__v16si)_mm512_setzero_si512());
......@@ -290,8 +290,8 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpwuud_epi32(
290290static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_dpwuuds_epi32(__m512i __A,
291291 __m512i __B,
292292 __m512i __C) {
293 return (__m512i)__builtin_ia32_vpdpwuuds512((__v16si)__A, (__v16si)__B,
294 (__v16si)__C);
293 return (__m512i)__builtin_ia32_vpdpwuuds512((__v16si)__A, (__v32hu)__B,
294 (__v32hu)__C);
295295}
296296
297297static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_dpwuuds_epi32(
......@@ -302,7 +302,7 @@ static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_dpwuuds_epi32(
302302}
303303
304304static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_dpwuuds_epi32(
305 __m512i __A, __mmask16 __U, __m512i __B, __m512i __C) {
305 __mmask16 __U, __m512i __A, __m512i __B, __m512i __C) {
306306 return (__m512i)__builtin_ia32_selectd_512(
307307 (__mmask16)__U, (__v16si)_mm512_dpwuuds_epi32(__A, __B, __C),
308308 (__v16si)_mm512_setzero_si512());
lib/include/avx10_2_512satcvtdsintrin.h+1-1
......@@ -16,7 +16,7 @@
1616
1717/* Define the default attributes for the functions in this file. */
1818#define __DEFAULT_FN_ATTRS \
19 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-512"), \
19 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2020 __min_vector_width__(512)))
2121
2222// 512 bit : Double -> Int
lib/include/avx10_2bf16intrin.h+54-45
......@@ -21,12 +21,20 @@ typedef __bf16 __m256bh_u __attribute__((__vector_size__(32), __aligned__(1)));
2121
2222/* Define the default attributes for the functions in this file. */
2323#define __DEFAULT_FN_ATTRS256 \
24 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-256"), \
24 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2525 __min_vector_width__(256)))
2626#define __DEFAULT_FN_ATTRS128 \
27 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-256"), \
27 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2828 __min_vector_width__(128)))
2929
30#if defined(__cplusplus) && (__cplusplus >= 201103L)
31#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
32#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
33#else
34#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
35#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
36#endif
37
3038static __inline __m256bh __DEFAULT_FN_ATTRS256 _mm256_setzero_pbh(void) {
3139 return __builtin_bit_cast(__m256bh, _mm256_setzero_ps());
3240}
......@@ -213,12 +221,12 @@ static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_move_sbh(__m128bh __a,
213221 return __a;
214222}
215223
216static __inline__ __m128bh __DEFAULT_FN_ATTRS128
224static __inline__ __m128bh __DEFAULT_FN_ATTRS128_CONSTEXPR
217225_mm_mask_move_sbh(__m128bh __W, __mmask8 __U, __m128bh __A, __m128bh __B) {
218226 return __builtin_ia32_selectsbf_128(__U, _mm_move_sbh(__A, __B), __W);
219227}
220228
221static __inline__ __m128bh __DEFAULT_FN_ATTRS128
229static __inline__ __m128bh __DEFAULT_FN_ATTRS128_CONSTEXPR
222230_mm_maskz_move_sbh(__mmask8 __U, __m128bh __A, __m128bh __B) {
223231 return __builtin_ia32_selectsbf_128(__U, _mm_move_sbh(__A, __B),
224232 _mm_setzero_pbh());
......@@ -287,24 +295,24 @@ _mm256_mask_blend_pbh(__mmask16 __U, __m256bh __A, __m256bh __W) {
287295 (__v16bf)__A);
288296}
289297
290static __inline__ __m128bh __DEFAULT_FN_ATTRS128
298static __inline__ __m128bh __DEFAULT_FN_ATTRS128_CONSTEXPR
291299_mm_permutex2var_pbh(__m128bh __A, __m128i __I, __m128bh __B) {
292300 return (__m128bh)__builtin_ia32_vpermi2varhi128((__v8hi)__A, (__v8hi)__I,
293301 (__v8hi)__B);
294302}
295303
296static __inline__ __m256bh __DEFAULT_FN_ATTRS256
304static __inline__ __m256bh __DEFAULT_FN_ATTRS256_CONSTEXPR
297305_mm256_permutex2var_pbh(__m256bh __A, __m256i __I, __m256bh __B) {
298306 return (__m256bh)__builtin_ia32_vpermi2varhi256((__v16hi)__A, (__v16hi)__I,
299307 (__v16hi)__B);
300308}
301309
302static __inline__ __m128bh __DEFAULT_FN_ATTRS128
310static __inline__ __m128bh __DEFAULT_FN_ATTRS128_CONSTEXPR
303311_mm_permutexvar_pbh(__m128i __A, __m128bh __B) {
304312 return (__m128bh)__builtin_ia32_permvarhi128((__v8hi)__B, (__v8hi)__A);
305313}
306314
307static __inline__ __m256bh __DEFAULT_FN_ATTRS256
315static __inline__ __m256bh __DEFAULT_FN_ATTRS256_CONSTEXPR
308316_mm256_permutexvar_pbh(__m256i __A, __m256bh __B) {
309317 return (__m256bh)__builtin_ia32_permvarhi256((__v16hi)__B, (__v16hi)__A);
310318}
......@@ -519,34 +527,34 @@ _mm_maskz_min_pbh(__mmask8 __U, __m128bh __A, __m128bh __B) {
519527 (__mmask8)__U, (__v8bf)_mm_min_pbh(__A, __B), (__v8bf)_mm_setzero_pbh());
520528}
521529
522static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comieq_sbh(__m128bh A,
523 __m128bh B) {
524 return __builtin_ia32_vcomisbf16eq((__v8bf)A, (__v8bf)B);
530static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comieq_sbh(__m128bh __A,
531 __m128bh __B) {
532 return __builtin_ia32_vcomisbf16eq((__v8bf)__A, (__v8bf)__B);
525533}
526534
527static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comilt_sbh(__m128bh A,
528 __m128bh B) {
529 return __builtin_ia32_vcomisbf16lt((__v8bf)A, (__v8bf)B);
535static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comilt_sbh(__m128bh __A,
536 __m128bh __B) {
537 return __builtin_ia32_vcomisbf16lt((__v8bf)__A, (__v8bf)__B);
530538}
531539
532static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comile_sbh(__m128bh A,
533 __m128bh B) {
534 return __builtin_ia32_vcomisbf16le((__v8bf)A, (__v8bf)B);
540static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comile_sbh(__m128bh __A,
541 __m128bh __B) {
542 return __builtin_ia32_vcomisbf16le((__v8bf)__A, (__v8bf)__B);
535543}
536544
537static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comigt_sbh(__m128bh A,
538 __m128bh B) {
539 return __builtin_ia32_vcomisbf16gt((__v8bf)A, (__v8bf)B);
545static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comigt_sbh(__m128bh __A,
546 __m128bh __B) {
547 return __builtin_ia32_vcomisbf16gt((__v8bf)__A, (__v8bf)__B);
540548}
541549
542static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comige_sbh(__m128bh A,
543 __m128bh B) {
544 return __builtin_ia32_vcomisbf16ge((__v8bf)A, (__v8bf)B);
550static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comige_sbh(__m128bh __A,
551 __m128bh __B) {
552 return __builtin_ia32_vcomisbf16ge((__v8bf)__A, (__v8bf)__B);
545553}
546554
547static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comineq_sbh(__m128bh A,
548 __m128bh B) {
549 return __builtin_ia32_vcomisbf16neq((__v8bf)A, (__v8bf)B);
555static __inline__ int __DEFAULT_FN_ATTRS128 _mm_comineq_sbh(__m128bh __A,
556 __m128bh __B) {
557 return __builtin_ia32_vcomisbf16neq((__v8bf)__A, (__v8bf)__B);
550558}
551559
552560#define _mm256_cmp_pbh_mask(__A, __B, __P) \
......@@ -818,7 +826,7 @@ _mm_maskz_rsqrt_pbh(__mmask8 __U, __m128bh __A) {
818826 (__v8bf)_mm_setzero_pbh(), (__mmask8)(__U)))
819827
820828static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_sqrt_pbh(__m256bh __A) {
821 return (__m256bh)__builtin_ia32_vsqrtbf16256((__v16bf)__A);
829 return __builtin_elementwise_sqrt(__A);
822830}
823831
824832static __inline__ __m256bh __DEFAULT_FN_ATTRS256
......@@ -835,7 +843,7 @@ _mm256_maskz_sqrt_pbh(__mmask16 __U, __m256bh __A) {
835843}
836844
837845static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_sqrt_pbh(__m128bh __A) {
838 return (__m128bh)__builtin_ia32_vsqrtbf16((__v8bf)__A);
846 return __builtin_elementwise_sqrt(__A);
839847}
840848
841849static __inline__ __m128bh __DEFAULT_FN_ATTRS128
......@@ -852,8 +860,8 @@ _mm_maskz_sqrt_pbh(__mmask8 __U, __m128bh __A) {
852860
853861static __inline__ __m256bh __DEFAULT_FN_ATTRS256
854862_mm256_fmadd_pbh(__m256bh __A, __m256bh __B, __m256bh __C) {
855 return (__m256bh)__builtin_ia32_vfmaddbf16256((__v16bf)__A, (__v16bf)__B,
856 (__v16bf)__C);
863 return (__m256bh)__builtin_elementwise_fma((__v16bf)__A, (__v16bf)__B,
864 (__v16bf)__C);
857865}
858866
859867static __inline__ __m256bh __DEFAULT_FN_ATTRS256
......@@ -880,8 +888,8 @@ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_maskz_fmadd_pbh(
880888
881889static __inline__ __m256bh __DEFAULT_FN_ATTRS256
882890_mm256_fmsub_pbh(__m256bh __A, __m256bh __B, __m256bh __C) {
883 return (__m256bh)__builtin_ia32_vfmaddbf16256((__v16bf)__A, (__v16bf)__B,
884 -(__v16bf)__C);
891 return (__m256bh)__builtin_elementwise_fma((__v16bf)__A, (__v16bf)__B,
892 -(__v16bf)__C);
885893}
886894
887895static __inline__ __m256bh __DEFAULT_FN_ATTRS256
......@@ -908,8 +916,8 @@ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_maskz_fmsub_pbh(
908916
909917static __inline__ __m256bh __DEFAULT_FN_ATTRS256
910918_mm256_fnmadd_pbh(__m256bh __A, __m256bh __B, __m256bh __C) {
911 return (__m256bh)__builtin_ia32_vfmaddbf16256((__v16bf)__A, -(__v16bf)__B,
912 (__v16bf)__C);
919 return (__m256bh)__builtin_elementwise_fma((__v16bf)__A, -(__v16bf)__B,
920 (__v16bf)__C);
913921}
914922
915923static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_mask_fnmadd_pbh(
......@@ -938,8 +946,8 @@ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_maskz_fnmadd_pbh(
938946
939947static __inline__ __m256bh __DEFAULT_FN_ATTRS256
940948_mm256_fnmsub_pbh(__m256bh __A, __m256bh __B, __m256bh __C) {
941 return (__m256bh)__builtin_ia32_vfmaddbf16256((__v16bf)__A, -(__v16bf)__B,
942 -(__v16bf)__C);
949 return (__m256bh)__builtin_elementwise_fma((__v16bf)__A, -(__v16bf)__B,
950 -(__v16bf)__C);
943951}
944952
945953static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_mask_fnmsub_pbh(
......@@ -969,8 +977,8 @@ static __inline__ __m256bh __DEFAULT_FN_ATTRS256 _mm256_maskz_fnmsub_pbh(
969977static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_fmadd_pbh(__m128bh __A,
970978 __m128bh __B,
971979 __m128bh __C) {
972 return (__m128bh)__builtin_ia32_vfmaddbf16128((__v8bf)__A, (__v8bf)__B,
973 (__v8bf)__C);
980 return (__m128bh)__builtin_elementwise_fma((__v8bf)__A, (__v8bf)__B,
981 (__v8bf)__C);
974982}
975983
976984static __inline__ __m128bh __DEFAULT_FN_ATTRS128
......@@ -997,8 +1005,8 @@ _mm_maskz_fmadd_pbh(__mmask8 __U, __m128bh __A, __m128bh __B, __m128bh __C) {
9971005static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_fmsub_pbh(__m128bh __A,
9981006 __m128bh __B,
9991007 __m128bh __C) {
1000 return (__m128bh)__builtin_ia32_vfmaddbf16128((__v8bf)__A, (__v8bf)__B,
1001 -(__v8bf)__C);
1008 return (__m128bh)__builtin_elementwise_fma((__v8bf)__A, (__v8bf)__B,
1009 -(__v8bf)__C);
10021010}
10031011
10041012static __inline__ __m128bh __DEFAULT_FN_ATTRS128
......@@ -1025,8 +1033,8 @@ _mm_maskz_fmsub_pbh(__mmask8 __U, __m128bh __A, __m128bh __B, __m128bh __C) {
10251033static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_fnmadd_pbh(__m128bh __A,
10261034 __m128bh __B,
10271035 __m128bh __C) {
1028 return (__m128bh)__builtin_ia32_vfmaddbf16128((__v8bf)__A, -(__v8bf)__B,
1029 (__v8bf)__C);
1036 return (__m128bh)__builtin_elementwise_fma((__v8bf)__A, -(__v8bf)__B,
1037 (__v8bf)__C);
10301038}
10311039
10321040static __inline__ __m128bh __DEFAULT_FN_ATTRS128
......@@ -1053,8 +1061,8 @@ _mm_maskz_fnmadd_pbh(__mmask8 __U, __m128bh __A, __m128bh __B, __m128bh __C) {
10531061static __inline__ __m128bh __DEFAULT_FN_ATTRS128 _mm_fnmsub_pbh(__m128bh __A,
10541062 __m128bh __B,
10551063 __m128bh __C) {
1056 return (__m128bh)__builtin_ia32_vfmaddbf16128((__v8bf)__A, -(__v8bf)__B,
1057 -(__v8bf)__C);
1064 return (__m128bh)__builtin_elementwise_fma((__v8bf)__A, -(__v8bf)__B,
1065 -(__v8bf)__C);
10581066}
10591067
10601068static __inline__ __m128bh __DEFAULT_FN_ATTRS128
......@@ -1080,6 +1088,7 @@ _mm_maskz_fnmsub_pbh(__mmask8 __U, __m128bh __A, __m128bh __B, __m128bh __C) {
10801088
10811089#undef __DEFAULT_FN_ATTRS128
10821090#undef __DEFAULT_FN_ATTRS256
1083
1091#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
1092#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
10841093#endif
10851094#endif
lib/include/avx10_2convertintrin.h+2-2
......@@ -18,10 +18,10 @@
1818
1919/* Define the default attributes for the functions in this file. */
2020#define __DEFAULT_FN_ATTRS128 \
21 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-256"), \
21 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2222 __min_vector_width__(128)))
2323#define __DEFAULT_FN_ATTRS256 \
24 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-256"), \
24 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2525 __min_vector_width__(256)))
2626
2727// clang-format off
lib/include/avx10_2copyintrin.h+1-1
......@@ -16,7 +16,7 @@
1616
1717/* Define the default attributes for the functions in this file. */
1818#define __DEFAULT_FN_ATTRS128 \
19 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-256"), \
19 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2020 __min_vector_width__(128)))
2121
2222/// Constructs a 128-bit integer vector, setting the lower 32 bits to the
lib/include/avx10_2niintrin.h+14-14
......@@ -16,10 +16,10 @@
1616#define __AVX10_2NIINTRIN_H
1717
1818#define __DEFAULT_FN_ATTRS128 \
19 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-256"), \
19 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2020 __min_vector_width__(128)))
2121#define __DEFAULT_FN_ATTRS256 \
22 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-256"), \
22 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2323 __min_vector_width__(256)))
2424
2525/* VNNI FP16 */
......@@ -253,7 +253,7 @@ _mm_mask_dpwsud_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
253253}
254254
255255static __inline__ __m128i __DEFAULT_FN_ATTRS128
256_mm_maskz_dpwsud_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
256_mm_maskz_dpwsud_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {
257257 return (__m128i)__builtin_ia32_selectd_128(
258258 (__mmask8)__U, (__v4si)_mm_dpwsud_epi32(__A, __B, __C),
259259 (__v4si)_mm_setzero_si128());
......@@ -266,7 +266,7 @@ _mm256_mask_dpwsud_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
266266}
267267
268268static __inline__ __m256i __DEFAULT_FN_ATTRS256
269_mm256_maskz_dpwsud_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
269_mm256_maskz_dpwsud_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {
270270 return (__m256i)__builtin_ia32_selectd_256(
271271 (__mmask8)__U, (__v8si)_mm256_dpwsud_epi32(__A, __B, __C),
272272 (__v8si)_mm256_setzero_si256());
......@@ -279,7 +279,7 @@ _mm_mask_dpwsuds_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
279279}
280280
281281static __inline__ __m128i __DEFAULT_FN_ATTRS128
282_mm_maskz_dpwsuds_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
282_mm_maskz_dpwsuds_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {
283283 return (__m128i)__builtin_ia32_selectd_128(
284284 (__mmask8)__U, (__v4si)_mm_dpwsuds_epi32(__A, __B, __C),
285285 (__v4si)_mm_setzero_si128());
......@@ -292,7 +292,7 @@ _mm256_mask_dpwsuds_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
292292}
293293
294294static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_dpwsuds_epi32(
295 __m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
295 __mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {
296296 return (__m256i)__builtin_ia32_selectd_256(
297297 (__mmask8)__U, (__v8si)_mm256_dpwsuds_epi32(__A, __B, __C),
298298 (__v8si)_mm256_setzero_si256());
......@@ -305,7 +305,7 @@ _mm_mask_dpwusd_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
305305}
306306
307307static __inline__ __m128i __DEFAULT_FN_ATTRS128
308_mm_maskz_dpwusd_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
308_mm_maskz_dpwusd_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {
309309 return (__m128i)__builtin_ia32_selectd_128(
310310 (__mmask8)__U, (__v4si)_mm_dpwusd_epi32(__A, __B, __C),
311311 (__v4si)_mm_setzero_si128());
......@@ -318,7 +318,7 @@ _mm256_mask_dpwusd_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
318318}
319319
320320static __inline__ __m256i __DEFAULT_FN_ATTRS256
321_mm256_maskz_dpwusd_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
321_mm256_maskz_dpwusd_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {
322322 return (__m256i)__builtin_ia32_selectd_256(
323323 (__mmask8)__U, (__v8si)_mm256_dpwusd_epi32(__A, __B, __C),
324324 (__v8si)_mm256_setzero_si256());
......@@ -331,7 +331,7 @@ _mm_mask_dpwusds_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
331331}
332332
333333static __inline__ __m128i __DEFAULT_FN_ATTRS128
334_mm_maskz_dpwusds_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
334_mm_maskz_dpwusds_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {
335335 return (__m128i)__builtin_ia32_selectd_128(
336336 (__mmask8)__U, (__v4si)_mm_dpwusds_epi32(__A, __B, __C),
337337 (__v4si)_mm_setzero_si128());
......@@ -344,7 +344,7 @@ _mm256_mask_dpwusds_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
344344}
345345
346346static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_dpwusds_epi32(
347 __m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
347 __mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {
348348 return (__m256i)__builtin_ia32_selectd_256(
349349 (__mmask8)__U, (__v8si)_mm256_dpwusds_epi32(__A, __B, __C),
350350 (__v8si)_mm256_setzero_si256());
......@@ -357,7 +357,7 @@ _mm_mask_dpwuud_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
357357}
358358
359359static __inline__ __m128i __DEFAULT_FN_ATTRS128
360_mm_maskz_dpwuud_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
360_mm_maskz_dpwuud_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {
361361 return (__m128i)__builtin_ia32_selectd_128(
362362 (__mmask8)__U, (__v4si)_mm_dpwuud_epi32(__A, __B, __C),
363363 (__v4si)_mm_setzero_si128());
......@@ -370,7 +370,7 @@ _mm256_mask_dpwuud_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
370370}
371371
372372static __inline__ __m256i __DEFAULT_FN_ATTRS256
373_mm256_maskz_dpwuud_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
373_mm256_maskz_dpwuud_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {
374374 return (__m256i)__builtin_ia32_selectd_256(
375375 (__mmask8)__U, (__v8si)_mm256_dpwuud_epi32(__A, __B, __C),
376376 (__v8si)_mm256_setzero_si256());
......@@ -383,7 +383,7 @@ _mm_mask_dpwuuds_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
383383}
384384
385385static __inline__ __m128i __DEFAULT_FN_ATTRS128
386_mm_maskz_dpwuuds_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C) {
386_mm_maskz_dpwuuds_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C) {
387387 return (__m128i)__builtin_ia32_selectd_128(
388388 (__mmask8)__U, (__v4si)_mm_dpwuuds_epi32(__A, __B, __C),
389389 (__v4si)_mm_setzero_si128());
......@@ -396,7 +396,7 @@ _mm256_mask_dpwuuds_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
396396}
397397
398398static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_dpwuuds_epi32(
399 __m256i __A, __mmask8 __U, __m256i __B, __m256i __C) {
399 __mmask8 __U, __m256i __A, __m256i __B, __m256i __C) {
400400 return (__m256i)__builtin_ia32_selectd_256(
401401 (__mmask8)__U, (__v8si)_mm256_dpwuuds_epi32(__A, __B, __C),
402402 (__v8si)_mm256_setzero_si256());
lib/include/avx10_2satcvtdsintrin.h+2-2
......@@ -17,11 +17,11 @@
1717
1818/* Define the default attributes for the functions in this file. */
1919#define __DEFAULT_FN_ATTRS256 \
20 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-256"), \
20 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2121 __min_vector_width__(256)))
2222
2323#define __DEFAULT_FN_ATTRS128 \
24 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2-256"), \
24 __attribute__((__always_inline__, __nodebug__, __target__("avx10.2"), \
2525 __min_vector_width__(128)))
2626
2727#define _mm_cvtts_roundsd_i32(__A, __R) \
lib/include/avx2intrin.h+275-377
......@@ -15,20 +15,19 @@
1515#define __AVX2INTRIN_H
1616
1717/* Define the default attributes for the functions in this file. */
18#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
19#define __DEFAULT_FN_ATTRS256 \
20 __attribute__((__always_inline__, __nodebug__, \
21 __target__("avx2,no-evex512"), __min_vector_width__(256)))
22#define __DEFAULT_FN_ATTRS128 \
23 __attribute__((__always_inline__, __nodebug__, \
24 __target__("avx2,no-evex512"), __min_vector_width__(128)))
25#else
2618#define __DEFAULT_FN_ATTRS256 \
2719 __attribute__((__always_inline__, __nodebug__, __target__("avx2"), \
2820 __min_vector_width__(256)))
2921#define __DEFAULT_FN_ATTRS128 \
3022 __attribute__((__always_inline__, __nodebug__, __target__("avx2"), \
3123 __min_vector_width__(128)))
24
25#if defined(__cplusplus) && (__cplusplus >= 201103L)
26#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
27#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
28#else
29#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
30#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
3231#endif
3332
3433/* SSE4 Multiple Packed Sums of Absolute Difference. */
......@@ -104,10 +103,9 @@
104103/// \param __a
105104/// A 256-bit integer vector.
106105/// \returns A 256-bit integer vector containing the result.
107static __inline__ __m256i __DEFAULT_FN_ATTRS256
108_mm256_abs_epi8(__m256i __a)
109{
110 return (__m256i)__builtin_elementwise_abs((__v32qs)__a);
106static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
107_mm256_abs_epi8(__m256i __a) {
108 return (__m256i)__builtin_elementwise_abs((__v32qs)__a);
111109}
112110
113111/// Computes the absolute value of each signed 16-bit element in the 256-bit
......@@ -121,10 +119,9 @@ _mm256_abs_epi8(__m256i __a)
121119/// \param __a
122120/// A 256-bit vector of [16 x i16].
123121/// \returns A 256-bit vector of [16 x i16] containing the result.
124static __inline__ __m256i __DEFAULT_FN_ATTRS256
125_mm256_abs_epi16(__m256i __a)
126{
127 return (__m256i)__builtin_elementwise_abs((__v16hi)__a);
122static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
123_mm256_abs_epi16(__m256i __a) {
124 return (__m256i)__builtin_elementwise_abs((__v16hi)__a);
128125}
129126
130127/// Computes the absolute value of each signed 32-bit element in the 256-bit
......@@ -138,10 +135,9 @@ _mm256_abs_epi16(__m256i __a)
138135/// \param __a
139136/// A 256-bit vector of [8 x i32].
140137/// \returns A 256-bit vector of [8 x i32] containing the result.
141static __inline__ __m256i __DEFAULT_FN_ATTRS256
142_mm256_abs_epi32(__m256i __a)
143{
144 return (__m256i)__builtin_elementwise_abs((__v8si)__a);
138static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
139_mm256_abs_epi32(__m256i __a) {
140 return (__m256i)__builtin_elementwise_abs((__v8si)__a);
145141}
146142
147143/// Converts the elements of two 256-bit vectors of [16 x i16] to 8-bit
......@@ -169,9 +165,8 @@ _mm256_abs_epi32(__m256i __a)
169165/// A 256-bit vector of [16 x i16] used to generate result[127:64] and
170166/// result[255:192].
171167/// \returns A 256-bit integer vector containing the result.
172static __inline__ __m256i __DEFAULT_FN_ATTRS256
173_mm256_packs_epi16(__m256i __a, __m256i __b)
174{
168static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
169_mm256_packs_epi16(__m256i __a, __m256i __b) {
175170 return (__m256i)__builtin_ia32_packsswb256((__v16hi)__a, (__v16hi)__b);
176171}
177172
......@@ -201,9 +196,8 @@ _mm256_packs_epi16(__m256i __a, __m256i __b)
201196/// A 256-bit vector of [8 x i32] used to generate result[127:64] and
202197/// result[255:192].
203198/// \returns A 256-bit vector of [16 x i16] containing the result.
204static __inline__ __m256i __DEFAULT_FN_ATTRS256
205_mm256_packs_epi32(__m256i __a, __m256i __b)
206{
199static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
200_mm256_packs_epi32(__m256i __a, __m256i __b) {
207201 return (__m256i)__builtin_ia32_packssdw256((__v8si)__a, (__v8si)__b);
208202}
209203
......@@ -232,9 +226,8 @@ _mm256_packs_epi32(__m256i __a, __m256i __b)
232226/// A 256-bit vector of [16 x i16] used to generate result[127:64] and
233227/// result[255:192].
234228/// \returns A 256-bit integer vector containing the result.
235static __inline__ __m256i __DEFAULT_FN_ATTRS256
236_mm256_packus_epi16(__m256i __a, __m256i __b)
237{
229static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
230_mm256_packus_epi16(__m256i __a, __m256i __b) {
238231 return (__m256i)__builtin_ia32_packuswb256((__v16hi)__a, (__v16hi)__b);
239232}
240233
......@@ -264,9 +257,8 @@ _mm256_packus_epi16(__m256i __a, __m256i __b)
264257/// A 256-bit vector of [8 x i32] used to generate result[127:64] and
265258/// result[255:192].
266259/// \returns A 256-bit vector of [16 x i16] containing the result.
267static __inline__ __m256i __DEFAULT_FN_ATTRS256
268_mm256_packus_epi32(__m256i __V1, __m256i __V2)
269{
260static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
261_mm256_packus_epi32(__m256i __V1, __m256i __V2) {
270262 return (__m256i) __builtin_ia32_packusdw256((__v8si)__V1, (__v8si)__V2);
271263}
272264
......@@ -283,9 +275,8 @@ _mm256_packus_epi32(__m256i __V1, __m256i __V2)
283275/// \param __b
284276/// A 256-bit integer vector containing one of the source operands.
285277/// \returns A 256-bit integer vector containing the sums.
286static __inline__ __m256i __DEFAULT_FN_ATTRS256
287_mm256_add_epi8(__m256i __a, __m256i __b)
288{
278static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
279_mm256_add_epi8(__m256i __a, __m256i __b) {
289280 return (__m256i)((__v32qu)__a + (__v32qu)__b);
290281}
291282
......@@ -302,9 +293,8 @@ _mm256_add_epi8(__m256i __a, __m256i __b)
302293/// \param __b
303294/// A 256-bit vector of [16 x i16] containing one of the source operands.
304295/// \returns A 256-bit vector of [16 x i16] containing the sums.
305static __inline__ __m256i __DEFAULT_FN_ATTRS256
306_mm256_add_epi16(__m256i __a, __m256i __b)
307{
296static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
297_mm256_add_epi16(__m256i __a, __m256i __b) {
308298 return (__m256i)((__v16hu)__a + (__v16hu)__b);
309299}
310300
......@@ -321,9 +311,8 @@ _mm256_add_epi16(__m256i __a, __m256i __b)
321311/// \param __b
322312/// A 256-bit vector of [8 x i32] containing one of the source operands.
323313/// \returns A 256-bit vector of [8 x i32] containing the sums.
324static __inline__ __m256i __DEFAULT_FN_ATTRS256
325_mm256_add_epi32(__m256i __a, __m256i __b)
326{
314static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
315_mm256_add_epi32(__m256i __a, __m256i __b) {
327316 return (__m256i)((__v8su)__a + (__v8su)__b);
328317}
329318
......@@ -340,9 +329,8 @@ _mm256_add_epi32(__m256i __a, __m256i __b)
340329/// \param __b
341330/// A 256-bit vector of [4 x i64] containing one of the source operands.
342331/// \returns A 256-bit vector of [4 x i64] containing the sums.
343static __inline__ __m256i __DEFAULT_FN_ATTRS256
344_mm256_add_epi64(__m256i __a, __m256i __b)
345{
332static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
333_mm256_add_epi64(__m256i __a, __m256i __b) {
346334 return (__m256i)((__v4du)__a + (__v4du)__b);
347335}
348336
......@@ -359,9 +347,8 @@ _mm256_add_epi64(__m256i __a, __m256i __b)
359347/// \param __b
360348/// A 256-bit integer vector containing one of the source operands.
361349/// \returns A 256-bit integer vector containing the sums.
362static __inline__ __m256i __DEFAULT_FN_ATTRS256
363_mm256_adds_epi8(__m256i __a, __m256i __b)
364{
350static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
351_mm256_adds_epi8(__m256i __a, __m256i __b) {
365352 return (__m256i)__builtin_elementwise_add_sat((__v32qs)__a, (__v32qs)__b);
366353}
367354
......@@ -377,9 +364,8 @@ _mm256_adds_epi8(__m256i __a, __m256i __b)
377364/// \param __b
378365/// A 256-bit vector of [16 x i16] containing one of the source operands.
379366/// \returns A 256-bit vector of [16 x i16] containing the sums.
380static __inline__ __m256i __DEFAULT_FN_ATTRS256
381_mm256_adds_epi16(__m256i __a, __m256i __b)
382{
367static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
368_mm256_adds_epi16(__m256i __a, __m256i __b) {
383369 return (__m256i)__builtin_elementwise_add_sat((__v16hi)__a, (__v16hi)__b);
384370}
385371
......@@ -396,9 +382,8 @@ _mm256_adds_epi16(__m256i __a, __m256i __b)
396382/// \param __b
397383/// A 256-bit integer vector containing one of the source operands.
398384/// \returns A 256-bit integer vector containing the sums.
399static __inline__ __m256i __DEFAULT_FN_ATTRS256
400_mm256_adds_epu8(__m256i __a, __m256i __b)
401{
385static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
386_mm256_adds_epu8(__m256i __a, __m256i __b) {
402387 return (__m256i)__builtin_elementwise_add_sat((__v32qu)__a, (__v32qu)__b);
403388}
404389
......@@ -414,9 +399,8 @@ _mm256_adds_epu8(__m256i __a, __m256i __b)
414399/// \param __b
415400/// A 256-bit vector of [16 x i16] containing one of the source operands.
416401/// \returns A 256-bit vector of [16 x i16] containing the sums.
417static __inline__ __m256i __DEFAULT_FN_ATTRS256
418_mm256_adds_epu16(__m256i __a, __m256i __b)
419{
402static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
403_mm256_adds_epu16(__m256i __a, __m256i __b) {
420404 return (__m256i)__builtin_elementwise_add_sat((__v16hu)__a, (__v16hu)__b);
421405}
422406
......@@ -460,7 +444,7 @@ _mm256_adds_epu16(__m256i __a, __m256i __b)
460444/// \param __b
461445/// A 256-bit integer vector.
462446/// \returns A 256-bit integer vector containing the result.
463static __inline__ __m256i __DEFAULT_FN_ATTRS256
447static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
464448_mm256_and_si256(__m256i __a, __m256i __b)
465449{
466450 return (__m256i)((__v4du)__a & (__v4du)__b);
......@@ -478,7 +462,7 @@ _mm256_and_si256(__m256i __a, __m256i __b)
478462/// \param __b
479463/// A 256-bit integer vector.
480464/// \returns A 256-bit integer vector containing the result.
481static __inline__ __m256i __DEFAULT_FN_ATTRS256
465static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
482466_mm256_andnot_si256(__m256i __a, __m256i __b)
483467{
484468 return (__m256i)(~(__v4du)__a & (__v4du)__b);
......@@ -504,10 +488,9 @@ _mm256_andnot_si256(__m256i __a, __m256i __b)
504488/// \param __b
505489/// A 256-bit integer vector.
506490/// \returns A 256-bit integer vector containing the result.
507static __inline__ __m256i __DEFAULT_FN_ATTRS256
508_mm256_avg_epu8(__m256i __a, __m256i __b)
509{
510 return (__m256i)__builtin_ia32_pavgb256((__v32qi)__a, (__v32qi)__b);
491static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
492_mm256_avg_epu8(__m256i __a, __m256i __b) {
493 return (__m256i)__builtin_ia32_pavgb256((__v32qu)__a, (__v32qu)__b);
511494}
512495
513496/// Computes the averages of the corresponding unsigned 16-bit integers in
......@@ -530,10 +513,9 @@ _mm256_avg_epu8(__m256i __a, __m256i __b)
530513/// \param __b
531514/// A 256-bit vector of [16 x i16].
532515/// \returns A 256-bit vector of [16 x i16] containing the result.
533static __inline__ __m256i __DEFAULT_FN_ATTRS256
534_mm256_avg_epu16(__m256i __a, __m256i __b)
535{
536 return (__m256i)__builtin_ia32_pavgw256((__v16hi)__a, (__v16hi)__b);
516static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
517_mm256_avg_epu16(__m256i __a, __m256i __b) {
518 return (__m256i)__builtin_ia32_pavgw256((__v16hu)__a, (__v16hu)__b);
537519}
538520
539521/// Merges 8-bit integer values from either of the two 256-bit vectors
......@@ -565,9 +547,8 @@ _mm256_avg_epu16(__m256i __a, __m256i __b)
565547/// is 0, the byte is copied from \a __V1; otherwise, it is copied from
566548/// \a __V2.
567549/// \returns A 256-bit integer vector containing the result.
568static __inline__ __m256i __DEFAULT_FN_ATTRS256
569_mm256_blendv_epi8(__m256i __V1, __m256i __V2, __m256i __M)
570{
550static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
551_mm256_blendv_epi8(__m256i __V1, __m256i __V2, __m256i __M) {
571552 return (__m256i)__builtin_ia32_pblendvb256((__v32qi)__V1, (__v32qi)__V2,
572553 (__v32qi)__M);
573554}
......@@ -633,7 +614,7 @@ _mm256_blendv_epi8(__m256i __V1, __m256i __V2, __m256i __M)
633614/// \param __b
634615/// A 256-bit integer vector containing one of the inputs.
635616/// \returns A 256-bit integer vector containing the result.
636static __inline__ __m256i __DEFAULT_FN_ATTRS256
617static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
637618_mm256_cmpeq_epi8(__m256i __a, __m256i __b)
638619{
639620 return (__m256i)((__v32qi)__a == (__v32qi)__b);
......@@ -659,7 +640,7 @@ _mm256_cmpeq_epi8(__m256i __a, __m256i __b)
659640/// \param __b
660641/// A 256-bit vector of [16 x i16] containing one of the inputs.
661642/// \returns A 256-bit vector of [16 x i16] containing the result.
662static __inline__ __m256i __DEFAULT_FN_ATTRS256
643static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
663644_mm256_cmpeq_epi16(__m256i __a, __m256i __b)
664645{
665646 return (__m256i)((__v16hi)__a == (__v16hi)__b);
......@@ -685,7 +666,7 @@ _mm256_cmpeq_epi16(__m256i __a, __m256i __b)
685666/// \param __b
686667/// A 256-bit vector of [8 x i32] containing one of the inputs.
687668/// \returns A 256-bit vector of [8 x i32] containing the result.
688static __inline__ __m256i __DEFAULT_FN_ATTRS256
669static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
689670_mm256_cmpeq_epi32(__m256i __a, __m256i __b)
690671{
691672 return (__m256i)((__v8si)__a == (__v8si)__b);
......@@ -711,7 +692,7 @@ _mm256_cmpeq_epi32(__m256i __a, __m256i __b)
711692/// \param __b
712693/// A 256-bit vector of [4 x i64] containing one of the inputs.
713694/// \returns A 256-bit vector of [4 x i64] containing the result.
714static __inline__ __m256i __DEFAULT_FN_ATTRS256
695static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
715696_mm256_cmpeq_epi64(__m256i __a, __m256i __b)
716697{
717698 return (__m256i)((__v4di)__a == (__v4di)__b);
......@@ -737,7 +718,7 @@ _mm256_cmpeq_epi64(__m256i __a, __m256i __b)
737718/// \param __b
738719/// A 256-bit integer vector containing one of the inputs.
739720/// \returns A 256-bit integer vector containing the result.
740static __inline__ __m256i __DEFAULT_FN_ATTRS256
721static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
741722_mm256_cmpgt_epi8(__m256i __a, __m256i __b)
742723{
743724 /* This function always performs a signed comparison, but __v32qi is a char
......@@ -765,7 +746,7 @@ _mm256_cmpgt_epi8(__m256i __a, __m256i __b)
765746/// \param __b
766747/// A 256-bit vector of [16 x i16] containing one of the inputs.
767748/// \returns A 256-bit vector of [16 x i16] containing the result.
768static __inline__ __m256i __DEFAULT_FN_ATTRS256
749static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
769750_mm256_cmpgt_epi16(__m256i __a, __m256i __b)
770751{
771752 return (__m256i)((__v16hi)__a > (__v16hi)__b);
......@@ -791,7 +772,7 @@ _mm256_cmpgt_epi16(__m256i __a, __m256i __b)
791772/// \param __b
792773/// A 256-bit vector of [8 x i32] containing one of the inputs.
793774/// \returns A 256-bit vector of [8 x i32] containing the result.
794static __inline__ __m256i __DEFAULT_FN_ATTRS256
775static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
795776_mm256_cmpgt_epi32(__m256i __a, __m256i __b)
796777{
797778 return (__m256i)((__v8si)__a > (__v8si)__b);
......@@ -817,7 +798,7 @@ _mm256_cmpgt_epi32(__m256i __a, __m256i __b)
817798/// \param __b
818799/// A 256-bit vector of [4 x i64] containing one of the inputs.
819800/// \returns A 256-bit vector of [4 x i64] containing the result.
820static __inline__ __m256i __DEFAULT_FN_ATTRS256
801static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
821802_mm256_cmpgt_epi64(__m256i __a, __m256i __b)
822803{
823804 return (__m256i)((__v4di)__a > (__v4di)__b);
......@@ -853,10 +834,9 @@ _mm256_cmpgt_epi64(__m256i __a, __m256i __b)
853834/// \param __b
854835/// A 256-bit vector of [16 x i16] containing one of the source operands.
855836/// \returns A 256-bit vector of [16 x i16] containing the sums.
856static __inline__ __m256i __DEFAULT_FN_ATTRS256
857_mm256_hadd_epi16(__m256i __a, __m256i __b)
858{
859 return (__m256i)__builtin_ia32_phaddw256((__v16hi)__a, (__v16hi)__b);
837static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
838_mm256_hadd_epi16(__m256i __a, __m256i __b) {
839 return (__m256i)__builtin_ia32_phaddw256((__v16hi)__a, (__v16hi)__b);
860840}
861841
862842/// Horizontally adds the adjacent pairs of 32-bit integers from two 256-bit
......@@ -885,10 +865,9 @@ _mm256_hadd_epi16(__m256i __a, __m256i __b)
885865/// \param __b
886866/// A 256-bit vector of [8 x i32] containing one of the source operands.
887867/// \returns A 256-bit vector of [8 x i32] containing the sums.
888static __inline__ __m256i __DEFAULT_FN_ATTRS256
889_mm256_hadd_epi32(__m256i __a, __m256i __b)
890{
891 return (__m256i)__builtin_ia32_phaddd256((__v8si)__a, (__v8si)__b);
868static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
869_mm256_hadd_epi32(__m256i __a, __m256i __b) {
870 return (__m256i)__builtin_ia32_phaddd256((__v8si)__a, (__v8si)__b);
892871}
893872
894873/// Horizontally adds the adjacent pairs of 16-bit integers from two 256-bit
......@@ -920,10 +899,9 @@ _mm256_hadd_epi32(__m256i __a, __m256i __b)
920899/// \param __b
921900/// A 256-bit vector of [16 x i16] containing one of the source operands.
922901/// \returns A 256-bit vector of [16 x i16] containing the sums.
923static __inline__ __m256i __DEFAULT_FN_ATTRS256
924_mm256_hadds_epi16(__m256i __a, __m256i __b)
925{
926 return (__m256i)__builtin_ia32_phaddsw256((__v16hi)__a, (__v16hi)__b);
902static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
903_mm256_hadds_epi16(__m256i __a, __m256i __b) {
904 return (__m256i)__builtin_ia32_phaddsw256((__v16hi)__a, (__v16hi)__b);
927905}
928906
929907/// Horizontally subtracts adjacent pairs of 16-bit integers from two 256-bit
......@@ -956,10 +934,9 @@ _mm256_hadds_epi16(__m256i __a, __m256i __b)
956934/// \param __b
957935/// A 256-bit vector of [16 x i16] containing one of the source operands.
958936/// \returns A 256-bit vector of [16 x i16] containing the differences.
959static __inline__ __m256i __DEFAULT_FN_ATTRS256
960_mm256_hsub_epi16(__m256i __a, __m256i __b)
961{
962 return (__m256i)__builtin_ia32_phsubw256((__v16hi)__a, (__v16hi)__b);
937static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
938_mm256_hsub_epi16(__m256i __a, __m256i __b) {
939 return (__m256i)__builtin_ia32_phsubw256((__v16hi)__a, (__v16hi)__b);
963940}
964941
965942/// Horizontally subtracts adjacent pairs of 32-bit integers from two 256-bit
......@@ -988,10 +965,9 @@ _mm256_hsub_epi16(__m256i __a, __m256i __b)
988965/// \param __b
989966/// A 256-bit vector of [8 x i32] containing one of the source operands.
990967/// \returns A 256-bit vector of [8 x i32] containing the differences.
991static __inline__ __m256i __DEFAULT_FN_ATTRS256
992_mm256_hsub_epi32(__m256i __a, __m256i __b)
993{
994 return (__m256i)__builtin_ia32_phsubd256((__v8si)__a, (__v8si)__b);
968static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
969_mm256_hsub_epi32(__m256i __a, __m256i __b) {
970 return (__m256i)__builtin_ia32_phsubd256((__v8si)__a, (__v8si)__b);
995971}
996972
997973/// Horizontally subtracts adjacent pairs of 16-bit integers from two 256-bit
......@@ -1024,10 +1000,9 @@ _mm256_hsub_epi32(__m256i __a, __m256i __b)
10241000/// \param __b
10251001/// A 256-bit vector of [16 x i16] containing one of the source operands.
10261002/// \returns A 256-bit vector of [16 x i16] containing the differences.
1027static __inline__ __m256i __DEFAULT_FN_ATTRS256
1028_mm256_hsubs_epi16(__m256i __a, __m256i __b)
1029{
1030 return (__m256i)__builtin_ia32_phsubsw256((__v16hi)__a, (__v16hi)__b);
1003static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1004_mm256_hsubs_epi16(__m256i __a, __m256i __b) {
1005 return (__m256i)__builtin_ia32_phsubsw256((__v16hi)__a, (__v16hi)__b);
10311006}
10321007
10331008/// Multiplies each unsigned byte from the 256-bit integer vector in \a __a
......@@ -1054,10 +1029,9 @@ _mm256_hsubs_epi16(__m256i __a, __m256i __b)
10541029/// \param __b
10551030/// A 256-bit vector containing one of the source operands.
10561031/// \returns A 256-bit vector of [16 x i16] containing the result.
1057static __inline__ __m256i __DEFAULT_FN_ATTRS256
1058_mm256_maddubs_epi16(__m256i __a, __m256i __b)
1059{
1060 return (__m256i)__builtin_ia32_pmaddubsw256((__v32qi)__a, (__v32qi)__b);
1032static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1033_mm256_maddubs_epi16(__m256i __a, __m256i __b) {
1034 return (__m256i)__builtin_ia32_pmaddubsw256((__v32qi)__a, (__v32qi)__b);
10611035}
10621036
10631037/// Multiplies corresponding 16-bit elements of two 256-bit vectors of
......@@ -1086,9 +1060,8 @@ _mm256_maddubs_epi16(__m256i __a, __m256i __b)
10861060/// \param __b
10871061/// A 256-bit vector of [16 x i16] containing one of the source operands.
10881062/// \returns A 256-bit vector of [8 x i32] containing the result.
1089static __inline__ __m256i __DEFAULT_FN_ATTRS256
1090_mm256_madd_epi16(__m256i __a, __m256i __b)
1091{
1063static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1064_mm256_madd_epi16(__m256i __a, __m256i __b) {
10921065 return (__m256i)__builtin_ia32_pmaddwd256((__v16hi)__a, (__v16hi)__b);
10931066}
10941067
......@@ -1105,9 +1078,8 @@ _mm256_madd_epi16(__m256i __a, __m256i __b)
11051078/// \param __b
11061079/// A 256-bit integer vector.
11071080/// \returns A 256-bit integer vector containing the result.
1108static __inline__ __m256i __DEFAULT_FN_ATTRS256
1109_mm256_max_epi8(__m256i __a, __m256i __b)
1110{
1081static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1082_mm256_max_epi8(__m256i __a, __m256i __b) {
11111083 return (__m256i)__builtin_elementwise_max((__v32qs)__a, (__v32qs)__b);
11121084}
11131085
......@@ -1124,9 +1096,8 @@ _mm256_max_epi8(__m256i __a, __m256i __b)
11241096/// \param __b
11251097/// A 256-bit vector of [16 x i16].
11261098/// \returns A 256-bit vector of [16 x i16] containing the result.
1127static __inline__ __m256i __DEFAULT_FN_ATTRS256
1128_mm256_max_epi16(__m256i __a, __m256i __b)
1129{
1099static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1100_mm256_max_epi16(__m256i __a, __m256i __b) {
11301101 return (__m256i)__builtin_elementwise_max((__v16hi)__a, (__v16hi)__b);
11311102}
11321103
......@@ -1143,9 +1114,8 @@ _mm256_max_epi16(__m256i __a, __m256i __b)
11431114/// \param __b
11441115/// A 256-bit vector of [8 x i32].
11451116/// \returns A 256-bit vector of [8 x i32] containing the result.
1146static __inline__ __m256i __DEFAULT_FN_ATTRS256
1147_mm256_max_epi32(__m256i __a, __m256i __b)
1148{
1117static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1118_mm256_max_epi32(__m256i __a, __m256i __b) {
11491119 return (__m256i)__builtin_elementwise_max((__v8si)__a, (__v8si)__b);
11501120}
11511121
......@@ -1162,9 +1132,8 @@ _mm256_max_epi32(__m256i __a, __m256i __b)
11621132/// \param __b
11631133/// A 256-bit integer vector.
11641134/// \returns A 256-bit integer vector containing the result.
1165static __inline__ __m256i __DEFAULT_FN_ATTRS256
1166_mm256_max_epu8(__m256i __a, __m256i __b)
1167{
1135static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1136_mm256_max_epu8(__m256i __a, __m256i __b) {
11681137 return (__m256i)__builtin_elementwise_max((__v32qu)__a, (__v32qu)__b);
11691138}
11701139
......@@ -1181,9 +1150,8 @@ _mm256_max_epu8(__m256i __a, __m256i __b)
11811150/// \param __b
11821151/// A 256-bit vector of [16 x i16].
11831152/// \returns A 256-bit vector of [16 x i16] containing the result.
1184static __inline__ __m256i __DEFAULT_FN_ATTRS256
1185_mm256_max_epu16(__m256i __a, __m256i __b)
1186{
1153static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1154_mm256_max_epu16(__m256i __a, __m256i __b) {
11871155 return (__m256i)__builtin_elementwise_max((__v16hu)__a, (__v16hu)__b);
11881156}
11891157
......@@ -1200,9 +1168,8 @@ _mm256_max_epu16(__m256i __a, __m256i __b)
12001168/// \param __b
12011169/// A 256-bit vector of [8 x i32].
12021170/// \returns A 256-bit vector of [8 x i32] containing the result.
1203static __inline__ __m256i __DEFAULT_FN_ATTRS256
1204_mm256_max_epu32(__m256i __a, __m256i __b)
1205{
1171static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1172_mm256_max_epu32(__m256i __a, __m256i __b) {
12061173 return (__m256i)__builtin_elementwise_max((__v8su)__a, (__v8su)__b);
12071174}
12081175
......@@ -1219,9 +1186,8 @@ _mm256_max_epu32(__m256i __a, __m256i __b)
12191186/// \param __b
12201187/// A 256-bit integer vector.
12211188/// \returns A 256-bit integer vector containing the result.
1222static __inline__ __m256i __DEFAULT_FN_ATTRS256
1223_mm256_min_epi8(__m256i __a, __m256i __b)
1224{
1189static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1190_mm256_min_epi8(__m256i __a, __m256i __b) {
12251191 return (__m256i)__builtin_elementwise_min((__v32qs)__a, (__v32qs)__b);
12261192}
12271193
......@@ -1238,9 +1204,8 @@ _mm256_min_epi8(__m256i __a, __m256i __b)
12381204/// \param __b
12391205/// A 256-bit vector of [16 x i16].
12401206/// \returns A 256-bit vector of [16 x i16] containing the result.
1241static __inline__ __m256i __DEFAULT_FN_ATTRS256
1242_mm256_min_epi16(__m256i __a, __m256i __b)
1243{
1207static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1208_mm256_min_epi16(__m256i __a, __m256i __b) {
12441209 return (__m256i)__builtin_elementwise_min((__v16hi)__a, (__v16hi)__b);
12451210}
12461211
......@@ -1257,9 +1222,8 @@ _mm256_min_epi16(__m256i __a, __m256i __b)
12571222/// \param __b
12581223/// A 256-bit vector of [8 x i32].
12591224/// \returns A 256-bit vector of [8 x i32] containing the result.
1260static __inline__ __m256i __DEFAULT_FN_ATTRS256
1261_mm256_min_epi32(__m256i __a, __m256i __b)
1262{
1225static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1226_mm256_min_epi32(__m256i __a, __m256i __b) {
12631227 return (__m256i)__builtin_elementwise_min((__v8si)__a, (__v8si)__b);
12641228}
12651229
......@@ -1276,9 +1240,8 @@ _mm256_min_epi32(__m256i __a, __m256i __b)
12761240/// \param __b
12771241/// A 256-bit integer vector.
12781242/// \returns A 256-bit integer vector containing the result.
1279static __inline__ __m256i __DEFAULT_FN_ATTRS256
1280_mm256_min_epu8(__m256i __a, __m256i __b)
1281{
1243static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1244_mm256_min_epu8(__m256i __a, __m256i __b) {
12821245 return (__m256i)__builtin_elementwise_min((__v32qu)__a, (__v32qu)__b);
12831246}
12841247
......@@ -1295,9 +1258,8 @@ _mm256_min_epu8(__m256i __a, __m256i __b)
12951258/// \param __b
12961259/// A 256-bit vector of [16 x i16].
12971260/// \returns A 256-bit vector of [16 x i16] containing the result.
1298static __inline__ __m256i __DEFAULT_FN_ATTRS256
1299_mm256_min_epu16(__m256i __a, __m256i __b)
1300{
1261static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1262_mm256_min_epu16(__m256i __a, __m256i __b) {
13011263 return (__m256i)__builtin_elementwise_min((__v16hu)__a, (__v16hu)__b);
13021264}
13031265
......@@ -1314,9 +1276,8 @@ _mm256_min_epu16(__m256i __a, __m256i __b)
13141276/// \param __b
13151277/// A 256-bit vector of [8 x i32].
13161278/// \returns A 256-bit vector of [8 x i32] containing the result.
1317static __inline__ __m256i __DEFAULT_FN_ATTRS256
1318_mm256_min_epu32(__m256i __a, __m256i __b)
1319{
1279static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1280_mm256_min_epu32(__m256i __a, __m256i __b) {
13201281 return (__m256i)__builtin_elementwise_min((__v8su)__a, (__v8su)__b);
13211282}
13221283
......@@ -1337,9 +1298,8 @@ _mm256_min_epu32(__m256i __a, __m256i __b)
13371298/// \param __a
13381299/// A 256-bit integer vector containing the source bytes.
13391300/// \returns The 32-bit integer mask.
1340static __inline__ int __DEFAULT_FN_ATTRS256
1341_mm256_movemask_epi8(__m256i __a)
1342{
1301static __inline__ int __DEFAULT_FN_ATTRS256_CONSTEXPR
1302_mm256_movemask_epi8(__m256i __a) {
13431303 return __builtin_ia32_pmovmskb256((__v32qi)__a);
13441304}
13451305
......@@ -1363,9 +1323,8 @@ _mm256_movemask_epi8(__m256i __a)
13631323/// A 128-bit integer vector containing the source bytes.
13641324/// \returns A 256-bit vector of [16 x i16] containing the sign-extended
13651325/// values.
1366static __inline__ __m256i __DEFAULT_FN_ATTRS256
1367_mm256_cvtepi8_epi16(__m128i __V)
1368{
1326static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1327_mm256_cvtepi8_epi16(__m128i __V) {
13691328 /* This function always performs a signed extension, but __v16qi is a char
13701329 which may be signed or unsigned, so use __v16qs. */
13711330 return (__m256i)__builtin_convertvector((__v16qs)__V, __v16hi);
......@@ -1391,9 +1350,8 @@ _mm256_cvtepi8_epi16(__m128i __V)
13911350/// A 128-bit integer vector containing the source bytes.
13921351/// \returns A 256-bit vector of [8 x i32] containing the sign-extended
13931352/// values.
1394static __inline__ __m256i __DEFAULT_FN_ATTRS256
1395_mm256_cvtepi8_epi32(__m128i __V)
1396{
1353static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1354_mm256_cvtepi8_epi32(__m128i __V) {
13971355 /* This function always performs a signed extension, but __v16qi is a char
13981356 which may be signed or unsigned, so use __v16qs. */
13991357 return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1, 2, 3, 4, 5, 6, 7), __v8si);
......@@ -1418,9 +1376,8 @@ _mm256_cvtepi8_epi32(__m128i __V)
14181376/// A 128-bit integer vector containing the source bytes.
14191377/// \returns A 256-bit vector of [4 x i64] containing the sign-extended
14201378/// values.
1421static __inline__ __m256i __DEFAULT_FN_ATTRS256
1422_mm256_cvtepi8_epi64(__m128i __V)
1423{
1379static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1380_mm256_cvtepi8_epi64(__m128i __V) {
14241381 /* This function always performs a signed extension, but __v16qi is a char
14251382 which may be signed or unsigned, so use __v16qs. */
14261383 return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__V, (__v16qs)__V, 0, 1, 2, 3), __v4di);
......@@ -1446,9 +1403,8 @@ _mm256_cvtepi8_epi64(__m128i __V)
14461403/// A 128-bit vector of [8 x i16] containing the source values.
14471404/// \returns A 256-bit vector of [8 x i32] containing the sign-extended
14481405/// values.
1449static __inline__ __m256i __DEFAULT_FN_ATTRS256
1450_mm256_cvtepi16_epi32(__m128i __V)
1451{
1406static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1407_mm256_cvtepi16_epi32(__m128i __V) {
14521408 return (__m256i)__builtin_convertvector((__v8hi)__V, __v8si);
14531409}
14541410
......@@ -1471,9 +1427,8 @@ _mm256_cvtepi16_epi32(__m128i __V)
14711427/// A 128-bit vector of [8 x i16] containing the source values.
14721428/// \returns A 256-bit vector of [4 x i64] containing the sign-extended
14731429/// values.
1474static __inline__ __m256i __DEFAULT_FN_ATTRS256
1475_mm256_cvtepi16_epi64(__m128i __V)
1476{
1430static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1431_mm256_cvtepi16_epi64(__m128i __V) {
14771432 return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1, 2, 3), __v4di);
14781433}
14791434
......@@ -1496,9 +1451,8 @@ _mm256_cvtepi16_epi64(__m128i __V)
14961451/// A 128-bit vector of [4 x i32] containing the source values.
14971452/// \returns A 256-bit vector of [4 x i64] containing the sign-extended
14981453/// values.
1499static __inline__ __m256i __DEFAULT_FN_ATTRS256
1500_mm256_cvtepi32_epi64(__m128i __V)
1501{
1454static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1455_mm256_cvtepi32_epi64(__m128i __V) {
15021456 return (__m256i)__builtin_convertvector((__v4si)__V, __v4di);
15031457}
15041458
......@@ -1522,9 +1476,8 @@ _mm256_cvtepi32_epi64(__m128i __V)
15221476/// A 128-bit integer vector containing the source bytes.
15231477/// \returns A 256-bit vector of [16 x i16] containing the zero-extended
15241478/// values.
1525static __inline__ __m256i __DEFAULT_FN_ATTRS256
1526_mm256_cvtepu8_epi16(__m128i __V)
1527{
1479static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1480_mm256_cvtepu8_epi16(__m128i __V) {
15281481 return (__m256i)__builtin_convertvector((__v16qu)__V, __v16hi);
15291482}
15301483
......@@ -1548,9 +1501,8 @@ _mm256_cvtepu8_epi16(__m128i __V)
15481501/// A 128-bit integer vector containing the source bytes.
15491502/// \returns A 256-bit vector of [8 x i32] containing the zero-extended
15501503/// values.
1551static __inline__ __m256i __DEFAULT_FN_ATTRS256
1552_mm256_cvtepu8_epi32(__m128i __V)
1553{
1504static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1505_mm256_cvtepu8_epi32(__m128i __V) {
15541506 return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3, 4, 5, 6, 7), __v8si);
15551507}
15561508
......@@ -1573,9 +1525,8 @@ _mm256_cvtepu8_epi32(__m128i __V)
15731525/// A 128-bit integer vector containing the source bytes.
15741526/// \returns A 256-bit vector of [4 x i64] containing the zero-extended
15751527/// values.
1576static __inline__ __m256i __DEFAULT_FN_ATTRS256
1577_mm256_cvtepu8_epi64(__m128i __V)
1578{
1528static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1529_mm256_cvtepu8_epi64(__m128i __V) {
15791530 return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3), __v4di);
15801531}
15811532
......@@ -1599,9 +1550,8 @@ _mm256_cvtepu8_epi64(__m128i __V)
15991550/// A 128-bit vector of [8 x i16] containing the source values.
16001551/// \returns A 256-bit vector of [8 x i32] containing the zero-extended
16011552/// values.
1602static __inline__ __m256i __DEFAULT_FN_ATTRS256
1603_mm256_cvtepu16_epi32(__m128i __V)
1604{
1553static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1554_mm256_cvtepu16_epi32(__m128i __V) {
16051555 return (__m256i)__builtin_convertvector((__v8hu)__V, __v8si);
16061556}
16071557
......@@ -1624,9 +1574,8 @@ _mm256_cvtepu16_epi32(__m128i __V)
16241574/// A 128-bit vector of [8 x i16] containing the source values.
16251575/// \returns A 256-bit vector of [4 x i64] containing the zero-extended
16261576/// values.
1627static __inline__ __m256i __DEFAULT_FN_ATTRS256
1628_mm256_cvtepu16_epi64(__m128i __V)
1629{
1577static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1578_mm256_cvtepu16_epi64(__m128i __V) {
16301579 return (__m256i)__builtin_convertvector(__builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1, 2, 3), __v4di);
16311580}
16321581
......@@ -1649,9 +1598,8 @@ _mm256_cvtepu16_epi64(__m128i __V)
16491598/// A 128-bit vector of [4 x i32] containing the source values.
16501599/// \returns A 256-bit vector of [4 x i64] containing the zero-extended
16511600/// values.
1652static __inline__ __m256i __DEFAULT_FN_ATTRS256
1653_mm256_cvtepu32_epi64(__m128i __V)
1654{
1601static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1602_mm256_cvtepu32_epi64(__m128i __V) {
16551603 return (__m256i)__builtin_convertvector((__v4su)__V, __v4di);
16561604}
16571605
......@@ -1675,9 +1623,8 @@ _mm256_cvtepu32_epi64(__m128i __V)
16751623/// \param __b
16761624/// A 256-bit vector of [8 x i32] containing one of the source operands.
16771625/// \returns A 256-bit vector of [4 x i64] containing the products.
1678static __inline__ __m256i __DEFAULT_FN_ATTRS256
1679_mm256_mul_epi32(__m256i __a, __m256i __b)
1680{
1626static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1627_mm256_mul_epi32(__m256i __a, __m256i __b) {
16811628 return (__m256i)__builtin_ia32_pmuldq256((__v8si)__a, (__v8si)__b);
16821629}
16831630
......@@ -1702,9 +1649,8 @@ _mm256_mul_epi32(__m256i __a, __m256i __b)
17021649/// \param __b
17031650/// A 256-bit vector of [16 x i16] containing one of the source operands.
17041651/// \returns A 256-bit vector of [16 x i16] containing the rounded products.
1705static __inline__ __m256i __DEFAULT_FN_ATTRS256
1706_mm256_mulhrs_epi16(__m256i __a, __m256i __b)
1707{
1652static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1653_mm256_mulhrs_epi16(__m256i __a, __m256i __b) {
17081654 return (__m256i)__builtin_ia32_pmulhrsw256((__v16hi)__a, (__v16hi)__b);
17091655}
17101656
......@@ -1721,10 +1667,9 @@ _mm256_mulhrs_epi16(__m256i __a, __m256i __b)
17211667/// \param __b
17221668/// A 256-bit vector of [16 x i16] containing one of the source operands.
17231669/// \returns A 256-bit vector of [16 x i16] containing the products.
1724static __inline__ __m256i __DEFAULT_FN_ATTRS256
1725_mm256_mulhi_epu16(__m256i __a, __m256i __b)
1726{
1727 return (__m256i)__builtin_ia32_pmulhuw256((__v16hi)__a, (__v16hi)__b);
1670static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1671_mm256_mulhi_epu16(__m256i __a, __m256i __b) {
1672 return (__m256i)__builtin_ia32_pmulhuw256((__v16hu)__a, (__v16hu)__b);
17281673}
17291674
17301675/// Multiplies signed 16-bit integer elements of two 256-bit vectors of
......@@ -1740,7 +1685,7 @@ _mm256_mulhi_epu16(__m256i __a, __m256i __b)
17401685/// \param __b
17411686/// A 256-bit vector of [16 x i16] containing one of the source operands.
17421687/// \returns A 256-bit vector of [16 x i16] containing the products.
1743static __inline__ __m256i __DEFAULT_FN_ATTRS256
1688static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
17441689_mm256_mulhi_epi16(__m256i __a, __m256i __b)
17451690{
17461691 return (__m256i)__builtin_ia32_pmulhw256((__v16hi)__a, (__v16hi)__b);
......@@ -1759,7 +1704,7 @@ _mm256_mulhi_epi16(__m256i __a, __m256i __b)
17591704/// \param __b
17601705/// A 256-bit vector of [16 x i16] containing one of the source operands.
17611706/// \returns A 256-bit vector of [16 x i16] containing the products.
1762static __inline__ __m256i __DEFAULT_FN_ATTRS256
1707static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
17631708_mm256_mullo_epi16(__m256i __a, __m256i __b)
17641709{
17651710 return (__m256i)((__v16hu)__a * (__v16hu)__b);
......@@ -1778,9 +1723,8 @@ _mm256_mullo_epi16(__m256i __a, __m256i __b)
17781723/// \param __b
17791724/// A 256-bit vector of [8 x i32] containing one of the source operands.
17801725/// \returns A 256-bit vector of [8 x i32] containing the products.
1781static __inline__ __m256i __DEFAULT_FN_ATTRS256
1782_mm256_mullo_epi32 (__m256i __a, __m256i __b)
1783{
1726static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1727_mm256_mullo_epi32(__m256i __a, __m256i __b) {
17841728 return (__m256i)((__v8su)__a * (__v8su)__b);
17851729}
17861730
......@@ -1804,9 +1748,8 @@ _mm256_mullo_epi32 (__m256i __a, __m256i __b)
18041748/// \param __b
18051749/// A 256-bit vector of [8 x i32] containing one of the source operands.
18061750/// \returns A 256-bit vector of [4 x i64] containing the products.
1807static __inline__ __m256i __DEFAULT_FN_ATTRS256
1808_mm256_mul_epu32(__m256i __a, __m256i __b)
1809{
1751static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1752_mm256_mul_epu32(__m256i __a, __m256i __b) {
18101753 return __builtin_ia32_pmuludq256((__v8si)__a, (__v8si)__b);
18111754}
18121755
......@@ -1822,7 +1765,7 @@ _mm256_mul_epu32(__m256i __a, __m256i __b)
18221765/// \param __b
18231766/// A 256-bit integer vector.
18241767/// \returns A 256-bit integer vector containing the result.
1825static __inline__ __m256i __DEFAULT_FN_ATTRS256
1768static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
18261769_mm256_or_si256(__m256i __a, __m256i __b)
18271770{
18281771 return (__m256i)((__v4du)__a | (__v4du)__b);
......@@ -1906,9 +1849,8 @@ _mm256_sad_epu8(__m256i __a, __m256i __b)
19061849/// control byte specify the index (within the same 128-bit half) of \a __a
19071850/// to copy to the result byte.
19081851/// \returns A 256-bit integer vector containing the result.
1909static __inline__ __m256i __DEFAULT_FN_ATTRS256
1910_mm256_shuffle_epi8(__m256i __a, __m256i __b)
1911{
1852static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1853_mm256_shuffle_epi8(__m256i __a, __m256i __b) {
19121854 return (__m256i)__builtin_ia32_pshufb256((__v32qi)__a, (__v32qi)__b);
19131855}
19141856
......@@ -2033,10 +1975,9 @@ _mm256_shuffle_epi8(__m256i __a, __m256i __b)
20331975/// \param __b
20341976/// A 256-bit integer vector].
20351977/// \returns A 256-bit integer vector containing the result.
2036static __inline__ __m256i __DEFAULT_FN_ATTRS256
2037_mm256_sign_epi8(__m256i __a, __m256i __b)
2038{
2039 return (__m256i)__builtin_ia32_psignb256((__v32qi)__a, (__v32qi)__b);
1978static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1979_mm256_sign_epi8(__m256i __a, __m256i __b) {
1980 return (__m256i)__builtin_ia32_psignb256((__v32qi)__a, (__v32qi)__b);
20401981}
20411982
20421983/// Sets each element of the result to the corresponding element of the
......@@ -2054,10 +1995,9 @@ _mm256_sign_epi8(__m256i __a, __m256i __b)
20541995/// \param __b
20551996/// A 256-bit vector of [16 x i16].
20561997/// \returns A 256-bit vector of [16 x i16] containing the result.
2057static __inline__ __m256i __DEFAULT_FN_ATTRS256
2058_mm256_sign_epi16(__m256i __a, __m256i __b)
2059{
2060 return (__m256i)__builtin_ia32_psignw256((__v16hi)__a, (__v16hi)__b);
1998static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1999_mm256_sign_epi16(__m256i __a, __m256i __b) {
2000 return (__m256i)__builtin_ia32_psignw256((__v16hi)__a, (__v16hi)__b);
20612001}
20622002
20632003/// Sets each element of the result to the corresponding element of the
......@@ -2075,10 +2015,9 @@ _mm256_sign_epi16(__m256i __a, __m256i __b)
20752015/// \param __b
20762016/// A 256-bit vector of [8 x i32].
20772017/// \returns A 256-bit vector of [8 x i32] containing the result.
2078static __inline__ __m256i __DEFAULT_FN_ATTRS256
2079_mm256_sign_epi32(__m256i __a, __m256i __b)
2080{
2081 return (__m256i)__builtin_ia32_psignd256((__v8si)__a, (__v8si)__b);
2018static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2019_mm256_sign_epi32(__m256i __a, __m256i __b) {
2020 return (__m256i)__builtin_ia32_psignd256((__v8si)__a, (__v8si)__b);
20822021}
20832022
20842023/// Shifts each 128-bit half of the 256-bit integer vector \a a left by
......@@ -2098,8 +2037,9 @@ _mm256_sign_epi32(__m256i __a, __m256i __b)
20982037/// \param imm
20992038/// An unsigned immediate value specifying the shift count (in bytes).
21002039/// \returns A 256-bit integer vector containing the result.
2101#define _mm256_slli_si256(a, imm) \
2102 ((__m256i)__builtin_ia32_pslldqi256_byteshift((__v4di)(__m256i)(a), (int)(imm)))
2040#define _mm256_slli_si256(a, imm) \
2041 ((__m256i)__builtin_ia32_pslldqi256_byteshift((__v32qi)(__m256i)(a), \
2042 (int)(imm)))
21032043
21042044/// Shifts each 128-bit half of the 256-bit integer vector \a a left by
21052045/// \a imm bytes, shifting in zero bytes, and returns the result. If \a imm
......@@ -2118,8 +2058,9 @@ _mm256_sign_epi32(__m256i __a, __m256i __b)
21182058/// \param imm
21192059/// An unsigned immediate value specifying the shift count (in bytes).
21202060/// \returns A 256-bit integer vector containing the result.
2121#define _mm256_bslli_epi128(a, imm) \
2122 ((__m256i)__builtin_ia32_pslldqi256_byteshift((__v4di)(__m256i)(a), (int)(imm)))
2061#define _mm256_bslli_epi128(a, imm) \
2062 ((__m256i)__builtin_ia32_pslldqi256_byteshift((__v32qi)(__m256i)(a), \
2063 (int)(imm)))
21232064
21242065/// Shifts each 16-bit element of the 256-bit vector of [16 x i16] in \a __a
21252066/// left by \a __count bits, shifting in zero bits, and returns the result.
......@@ -2134,9 +2075,8 @@ _mm256_sign_epi32(__m256i __a, __m256i __b)
21342075/// \param __count
21352076/// An unsigned integer value specifying the shift count (in bits).
21362077/// \returns A 256-bit vector of [16 x i16] containing the result.
2137static __inline__ __m256i __DEFAULT_FN_ATTRS256
2138_mm256_slli_epi16(__m256i __a, int __count)
2139{
2078static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2079_mm256_slli_epi16(__m256i __a, int __count) {
21402080 return (__m256i)__builtin_ia32_psllwi256((__v16hi)__a, __count);
21412081}
21422082
......@@ -2155,9 +2095,8 @@ _mm256_slli_epi16(__m256i __a, int __count)
21552095/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
21562096/// shift count (in bits). The upper element is ignored.
21572097/// \returns A 256-bit vector of [16 x i16] containing the result.
2158static __inline__ __m256i __DEFAULT_FN_ATTRS256
2159_mm256_sll_epi16(__m256i __a, __m128i __count)
2160{
2098static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2099_mm256_sll_epi16(__m256i __a, __m128i __count) {
21612100 return (__m256i)__builtin_ia32_psllw256((__v16hi)__a, (__v8hi)__count);
21622101}
21632102
......@@ -2174,9 +2113,8 @@ _mm256_sll_epi16(__m256i __a, __m128i __count)
21742113/// \param __count
21752114/// An unsigned integer value specifying the shift count (in bits).
21762115/// \returns A 256-bit vector of [8 x i32] containing the result.
2177static __inline__ __m256i __DEFAULT_FN_ATTRS256
2178_mm256_slli_epi32(__m256i __a, int __count)
2179{
2116static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2117_mm256_slli_epi32(__m256i __a, int __count) {
21802118 return (__m256i)__builtin_ia32_pslldi256((__v8si)__a, __count);
21812119}
21822120
......@@ -2195,9 +2133,8 @@ _mm256_slli_epi32(__m256i __a, int __count)
21952133/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
21962134/// shift count (in bits). The upper element is ignored.
21972135/// \returns A 256-bit vector of [8 x i32] containing the result.
2198static __inline__ __m256i __DEFAULT_FN_ATTRS256
2199_mm256_sll_epi32(__m256i __a, __m128i __count)
2200{
2136static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2137_mm256_sll_epi32(__m256i __a, __m128i __count) {
22012138 return (__m256i)__builtin_ia32_pslld256((__v8si)__a, (__v4si)__count);
22022139}
22032140
......@@ -2214,9 +2151,8 @@ _mm256_sll_epi32(__m256i __a, __m128i __count)
22142151/// \param __count
22152152/// An unsigned integer value specifying the shift count (in bits).
22162153/// \returns A 256-bit vector of [4 x i64] containing the result.
2217static __inline__ __m256i __DEFAULT_FN_ATTRS256
2218_mm256_slli_epi64(__m256i __a, int __count)
2219{
2154static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2155_mm256_slli_epi64(__m256i __a, int __count) {
22202156 return __builtin_ia32_psllqi256((__v4di)__a, __count);
22212157}
22222158
......@@ -2235,9 +2171,8 @@ _mm256_slli_epi64(__m256i __a, int __count)
22352171/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
22362172/// shift count (in bits). The upper element is ignored.
22372173/// \returns A 256-bit vector of [4 x i64] containing the result.
2238static __inline__ __m256i __DEFAULT_FN_ATTRS256
2239_mm256_sll_epi64(__m256i __a, __m128i __count)
2240{
2174static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2175_mm256_sll_epi64(__m256i __a, __m128i __count) {
22412176 return __builtin_ia32_psllq256((__v4di)__a, __count);
22422177}
22432178
......@@ -2255,9 +2190,8 @@ _mm256_sll_epi64(__m256i __a, __m128i __count)
22552190/// \param __count
22562191/// An unsigned integer value specifying the shift count (in bits).
22572192/// \returns A 256-bit vector of [16 x i16] containing the result.
2258static __inline__ __m256i __DEFAULT_FN_ATTRS256
2259_mm256_srai_epi16(__m256i __a, int __count)
2260{
2193static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2194_mm256_srai_epi16(__m256i __a, int __count) {
22612195 return (__m256i)__builtin_ia32_psrawi256((__v16hi)__a, __count);
22622196}
22632197
......@@ -2277,9 +2211,8 @@ _mm256_srai_epi16(__m256i __a, int __count)
22772211/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
22782212/// shift count (in bits). The upper element is ignored.
22792213/// \returns A 256-bit vector of [16 x i16] containing the result.
2280static __inline__ __m256i __DEFAULT_FN_ATTRS256
2281_mm256_sra_epi16(__m256i __a, __m128i __count)
2282{
2214static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2215_mm256_sra_epi16(__m256i __a, __m128i __count) {
22832216 return (__m256i)__builtin_ia32_psraw256((__v16hi)__a, (__v8hi)__count);
22842217}
22852218
......@@ -2297,9 +2230,8 @@ _mm256_sra_epi16(__m256i __a, __m128i __count)
22972230/// \param __count
22982231/// An unsigned integer value specifying the shift count (in bits).
22992232/// \returns A 256-bit vector of [8 x i32] containing the result.
2300static __inline__ __m256i __DEFAULT_FN_ATTRS256
2301_mm256_srai_epi32(__m256i __a, int __count)
2302{
2233static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2234_mm256_srai_epi32(__m256i __a, int __count) {
23032235 return (__m256i)__builtin_ia32_psradi256((__v8si)__a, __count);
23042236}
23052237
......@@ -2319,9 +2251,8 @@ _mm256_srai_epi32(__m256i __a, int __count)
23192251/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
23202252/// shift count (in bits). The upper element is ignored.
23212253/// \returns A 256-bit vector of [8 x i32] containing the result.
2322static __inline__ __m256i __DEFAULT_FN_ATTRS256
2323_mm256_sra_epi32(__m256i __a, __m128i __count)
2324{
2254static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2255_mm256_sra_epi32(__m256i __a, __m128i __count) {
23252256 return (__m256i)__builtin_ia32_psrad256((__v8si)__a, (__v4si)__count);
23262257}
23272258
......@@ -2342,8 +2273,9 @@ _mm256_sra_epi32(__m256i __a, __m128i __count)
23422273/// \param imm
23432274/// An unsigned immediate value specifying the shift count (in bytes).
23442275/// \returns A 256-bit integer vector containing the result.
2345#define _mm256_srli_si256(a, imm) \
2346 ((__m256i)__builtin_ia32_psrldqi256_byteshift((__m256i)(a), (int)(imm)))
2276#define _mm256_srli_si256(a, imm) \
2277 ((__m256i)__builtin_ia32_psrldqi256_byteshift((__v32qi)(__m256i)(a), \
2278 (int)(imm)))
23472279
23482280/// Shifts each 128-bit half of the 256-bit integer vector in \a a right by
23492281/// \a imm bytes, shifting in zero bytes, and returns the result. If
......@@ -2362,8 +2294,9 @@ _mm256_sra_epi32(__m256i __a, __m128i __count)
23622294/// \param imm
23632295/// An unsigned immediate value specifying the shift count (in bytes).
23642296/// \returns A 256-bit integer vector containing the result.
2365#define _mm256_bsrli_epi128(a, imm) \
2366 ((__m256i)__builtin_ia32_psrldqi256_byteshift((__m256i)(a), (int)(imm)))
2297#define _mm256_bsrli_epi128(a, imm) \
2298 ((__m256i)__builtin_ia32_psrldqi256_byteshift((__v32qi)(__m256i)(a), \
2299 (int)(imm)))
23672300
23682301/// Shifts each 16-bit element of the 256-bit vector of [16 x i16] in \a __a
23692302/// right by \a __count bits, shifting in zero bits, and returns the result.
......@@ -2378,9 +2311,8 @@ _mm256_sra_epi32(__m256i __a, __m128i __count)
23782311/// \param __count
23792312/// An unsigned integer value specifying the shift count (in bits).
23802313/// \returns A 256-bit vector of [16 x i16] containing the result.
2381static __inline__ __m256i __DEFAULT_FN_ATTRS256
2382_mm256_srli_epi16(__m256i __a, int __count)
2383{
2314static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2315_mm256_srli_epi16(__m256i __a, int __count) {
23842316 return (__m256i)__builtin_ia32_psrlwi256((__v16hi)__a, __count);
23852317}
23862318
......@@ -2399,9 +2331,8 @@ _mm256_srli_epi16(__m256i __a, int __count)
23992331/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
24002332/// shift count (in bits). The upper element is ignored.
24012333/// \returns A 256-bit vector of [16 x i16] containing the result.
2402static __inline__ __m256i __DEFAULT_FN_ATTRS256
2403_mm256_srl_epi16(__m256i __a, __m128i __count)
2404{
2334static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2335_mm256_srl_epi16(__m256i __a, __m128i __count) {
24052336 return (__m256i)__builtin_ia32_psrlw256((__v16hi)__a, (__v8hi)__count);
24062337}
24072338
......@@ -2418,9 +2349,8 @@ _mm256_srl_epi16(__m256i __a, __m128i __count)
24182349/// \param __count
24192350/// An unsigned integer value specifying the shift count (in bits).
24202351/// \returns A 256-bit vector of [8 x i32] containing the result.
2421static __inline__ __m256i __DEFAULT_FN_ATTRS256
2422_mm256_srli_epi32(__m256i __a, int __count)
2423{
2352static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2353_mm256_srli_epi32(__m256i __a, int __count) {
24242354 return (__m256i)__builtin_ia32_psrldi256((__v8si)__a, __count);
24252355}
24262356
......@@ -2439,9 +2369,8 @@ _mm256_srli_epi32(__m256i __a, int __count)
24392369/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
24402370/// shift count (in bits). The upper element is ignored.
24412371/// \returns A 256-bit vector of [8 x i32] containing the result.
2442static __inline__ __m256i __DEFAULT_FN_ATTRS256
2443_mm256_srl_epi32(__m256i __a, __m128i __count)
2444{
2372static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2373_mm256_srl_epi32(__m256i __a, __m128i __count) {
24452374 return (__m256i)__builtin_ia32_psrld256((__v8si)__a, (__v4si)__count);
24462375}
24472376
......@@ -2458,9 +2387,8 @@ _mm256_srl_epi32(__m256i __a, __m128i __count)
24582387/// \param __count
24592388/// An unsigned integer value specifying the shift count (in bits).
24602389/// \returns A 256-bit vector of [4 x i64] containing the result.
2461static __inline__ __m256i __DEFAULT_FN_ATTRS256
2462_mm256_srli_epi64(__m256i __a, int __count)
2463{
2390static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2391_mm256_srli_epi64(__m256i __a, int __count) {
24642392 return __builtin_ia32_psrlqi256((__v4di)__a, __count);
24652393}
24662394
......@@ -2479,9 +2407,8 @@ _mm256_srli_epi64(__m256i __a, int __count)
24792407/// A 128-bit vector of [2 x i64] whose lower element gives the unsigned
24802408/// shift count (in bits). The upper element is ignored.
24812409/// \returns A 256-bit vector of [4 x i64] containing the result.
2482static __inline__ __m256i __DEFAULT_FN_ATTRS256
2483_mm256_srl_epi64(__m256i __a, __m128i __count)
2484{
2410static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2411_mm256_srl_epi64(__m256i __a, __m128i __count) {
24852412 return __builtin_ia32_psrlq256((__v4di)__a, __count);
24862413}
24872414
......@@ -2506,9 +2433,8 @@ _mm256_srl_epi64(__m256i __a, __m128i __count)
25062433/// \param __b
25072434/// A 256-bit integer vector containing the subtrahends.
25082435/// \returns A 256-bit integer vector containing the differences.
2509static __inline__ __m256i __DEFAULT_FN_ATTRS256
2510_mm256_sub_epi8(__m256i __a, __m256i __b)
2511{
2436static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2437_mm256_sub_epi8(__m256i __a, __m256i __b) {
25122438 return (__m256i)((__v32qu)__a - (__v32qu)__b);
25132439}
25142440
......@@ -2533,9 +2459,8 @@ _mm256_sub_epi8(__m256i __a, __m256i __b)
25332459/// \param __b
25342460/// A 256-bit vector of [16 x i16] containing the subtrahends.
25352461/// \returns A 256-bit vector of [16 x i16] containing the differences.
2536static __inline__ __m256i __DEFAULT_FN_ATTRS256
2537_mm256_sub_epi16(__m256i __a, __m256i __b)
2538{
2462static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2463_mm256_sub_epi16(__m256i __a, __m256i __b) {
25392464 return (__m256i)((__v16hu)__a - (__v16hu)__b);
25402465}
25412466
......@@ -2559,9 +2484,8 @@ _mm256_sub_epi16(__m256i __a, __m256i __b)
25592484/// \param __b
25602485/// A 256-bit vector of [8 x i32] containing the subtrahends.
25612486/// \returns A 256-bit vector of [8 x i32] containing the differences.
2562static __inline__ __m256i __DEFAULT_FN_ATTRS256
2563_mm256_sub_epi32(__m256i __a, __m256i __b)
2564{
2487static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2488_mm256_sub_epi32(__m256i __a, __m256i __b) {
25652489 return (__m256i)((__v8su)__a - (__v8su)__b);
25662490}
25672491
......@@ -2585,9 +2509,8 @@ _mm256_sub_epi32(__m256i __a, __m256i __b)
25852509/// \param __b
25862510/// A 256-bit vector of [4 x i64] containing the subtrahends.
25872511/// \returns A 256-bit vector of [4 x i64] containing the differences.
2588static __inline__ __m256i __DEFAULT_FN_ATTRS256
2589_mm256_sub_epi64(__m256i __a, __m256i __b)
2590{
2512static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2513_mm256_sub_epi64(__m256i __a, __m256i __b) {
25912514 return (__m256i)((__v4du)__a - (__v4du)__b);
25922515}
25932516
......@@ -2611,9 +2534,8 @@ _mm256_sub_epi64(__m256i __a, __m256i __b)
26112534/// \param __b
26122535/// A 256-bit integer vector containing the subtrahends.
26132536/// \returns A 256-bit integer vector containing the differences.
2614static __inline__ __m256i __DEFAULT_FN_ATTRS256
2615_mm256_subs_epi8(__m256i __a, __m256i __b)
2616{
2537static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2538_mm256_subs_epi8(__m256i __a, __m256i __b) {
26172539 return (__m256i)__builtin_elementwise_sub_sat((__v32qs)__a, (__v32qs)__b);
26182540}
26192541
......@@ -2637,9 +2559,8 @@ _mm256_subs_epi8(__m256i __a, __m256i __b)
26372559/// \param __b
26382560/// A 256-bit vector of [16 x i16] containing the subtrahends.
26392561/// \returns A 256-bit vector of [16 x i16] containing the differences.
2640static __inline__ __m256i __DEFAULT_FN_ATTRS256
2641_mm256_subs_epi16(__m256i __a, __m256i __b)
2642{
2562static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2563_mm256_subs_epi16(__m256i __a, __m256i __b) {
26432564 return (__m256i)__builtin_elementwise_sub_sat((__v16hi)__a, (__v16hi)__b);
26442565}
26452566
......@@ -2664,9 +2585,8 @@ _mm256_subs_epi16(__m256i __a, __m256i __b)
26642585/// \param __b
26652586/// A 256-bit integer vector containing the subtrahends.
26662587/// \returns A 256-bit integer vector containing the differences.
2667static __inline__ __m256i __DEFAULT_FN_ATTRS256
2668_mm256_subs_epu8(__m256i __a, __m256i __b)
2669{
2588static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2589_mm256_subs_epu8(__m256i __a, __m256i __b) {
26702590 return (__m256i)__builtin_elementwise_sub_sat((__v32qu)__a, (__v32qu)__b);
26712591}
26722592
......@@ -2690,9 +2610,8 @@ _mm256_subs_epu8(__m256i __a, __m256i __b)
26902610/// \param __b
26912611/// A 256-bit vector of [16 x i16] containing the subtrahends.
26922612/// \returns A 256-bit vector of [16 x i16] containing the differences.
2693static __inline__ __m256i __DEFAULT_FN_ATTRS256
2694_mm256_subs_epu16(__m256i __a, __m256i __b)
2695{
2613static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2614_mm256_subs_epu16(__m256i __a, __m256i __b) {
26962615 return (__m256i)__builtin_elementwise_sub_sat((__v16hu)__a, (__v16hu)__b);
26972616}
26982617
......@@ -2724,9 +2643,8 @@ _mm256_subs_epu16(__m256i __a, __m256i __b)
27242643/// A 256-bit integer vector used as the source for the odd-numbered bytes
27252644/// of the result.
27262645/// \returns A 256-bit integer vector containing the result.
2727static __inline__ __m256i __DEFAULT_FN_ATTRS256
2728_mm256_unpackhi_epi8(__m256i __a, __m256i __b)
2729{
2646static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2647_mm256_unpackhi_epi8(__m256i __a, __m256i __b) {
27302648 return (__m256i)__builtin_shufflevector((__v32qi)__a, (__v32qi)__b, 8, 32+8, 9, 32+9, 10, 32+10, 11, 32+11, 12, 32+12, 13, 32+13, 14, 32+14, 15, 32+15, 24, 32+24, 25, 32+25, 26, 32+26, 27, 32+27, 28, 32+28, 29, 32+29, 30, 32+30, 31, 32+31);
27312649}
27322650
......@@ -2759,9 +2677,8 @@ _mm256_unpackhi_epi8(__m256i __a, __m256i __b)
27592677/// A 256-bit vector of [16 x i16] used as the source for the odd-numbered
27602678/// elements of the result.
27612679/// \returns A 256-bit vector of [16 x i16] containing the result.
2762static __inline__ __m256i __DEFAULT_FN_ATTRS256
2763_mm256_unpackhi_epi16(__m256i __a, __m256i __b)
2764{
2680static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2681_mm256_unpackhi_epi16(__m256i __a, __m256i __b) {
27652682 return (__m256i)__builtin_shufflevector((__v16hi)__a, (__v16hi)__b, 4, 16+4, 5, 16+5, 6, 16+6, 7, 16+7, 12, 16+12, 13, 16+13, 14, 16+14, 15, 16+15);
27662683}
27672684
......@@ -2793,9 +2710,8 @@ _mm256_unpackhi_epi16(__m256i __a, __m256i __b)
27932710/// A 256-bit vector of [8 x i32] used as the source for the odd-numbered
27942711/// elements of the result.
27952712/// \returns A 256-bit vector of [8 x i32] containing the result.
2796static __inline__ __m256i __DEFAULT_FN_ATTRS256
2797_mm256_unpackhi_epi32(__m256i __a, __m256i __b)
2798{
2713static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2714_mm256_unpackhi_epi32(__m256i __a, __m256i __b) {
27992715 return (__m256i)__builtin_shufflevector((__v8si)__a, (__v8si)__b, 2, 8+2, 3, 8+3, 6, 8+6, 7, 8+7);
28002716}
28012717
......@@ -2823,9 +2739,8 @@ _mm256_unpackhi_epi32(__m256i __a, __m256i __b)
28232739/// A 256-bit vector of [4 x i64] used as the source for the odd-numbered
28242740/// elements of the result.
28252741/// \returns A 256-bit vector of [4 x i64] containing the result.
2826static __inline__ __m256i __DEFAULT_FN_ATTRS256
2827_mm256_unpackhi_epi64(__m256i __a, __m256i __b)
2828{
2742static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2743_mm256_unpackhi_epi64(__m256i __a, __m256i __b) {
28292744 return (__m256i)__builtin_shufflevector((__v4di)__a, (__v4di)__b, 1, 4+1, 3, 4+3);
28302745}
28312746
......@@ -2857,9 +2772,8 @@ _mm256_unpackhi_epi64(__m256i __a, __m256i __b)
28572772/// A 256-bit integer vector used as the source for the odd-numbered bytes
28582773/// of the result.
28592774/// \returns A 256-bit integer vector containing the result.
2860static __inline__ __m256i __DEFAULT_FN_ATTRS256
2861_mm256_unpacklo_epi8(__m256i __a, __m256i __b)
2862{
2775static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2776_mm256_unpacklo_epi8(__m256i __a, __m256i __b) {
28632777 return (__m256i)__builtin_shufflevector((__v32qi)__a, (__v32qi)__b, 0, 32+0, 1, 32+1, 2, 32+2, 3, 32+3, 4, 32+4, 5, 32+5, 6, 32+6, 7, 32+7, 16, 32+16, 17, 32+17, 18, 32+18, 19, 32+19, 20, 32+20, 21, 32+21, 22, 32+22, 23, 32+23);
28642778}
28652779
......@@ -2892,9 +2806,8 @@ _mm256_unpacklo_epi8(__m256i __a, __m256i __b)
28922806/// A 256-bit vector of [16 x i16] used as the source for the odd-numbered
28932807/// elements of the result.
28942808/// \returns A 256-bit vector of [16 x i16] containing the result.
2895static __inline__ __m256i __DEFAULT_FN_ATTRS256
2896_mm256_unpacklo_epi16(__m256i __a, __m256i __b)
2897{
2809static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2810_mm256_unpacklo_epi16(__m256i __a, __m256i __b) {
28982811 return (__m256i)__builtin_shufflevector((__v16hi)__a, (__v16hi)__b, 0, 16+0, 1, 16+1, 2, 16+2, 3, 16+3, 8, 16+8, 9, 16+9, 10, 16+10, 11, 16+11);
28992812}
29002813
......@@ -2926,9 +2839,8 @@ _mm256_unpacklo_epi16(__m256i __a, __m256i __b)
29262839/// A 256-bit vector of [8 x i32] used as the source for the odd-numbered
29272840/// elements of the result.
29282841/// \returns A 256-bit vector of [8 x i32] containing the result.
2929static __inline__ __m256i __DEFAULT_FN_ATTRS256
2930_mm256_unpacklo_epi32(__m256i __a, __m256i __b)
2931{
2842static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2843_mm256_unpacklo_epi32(__m256i __a, __m256i __b) {
29322844 return (__m256i)__builtin_shufflevector((__v8si)__a, (__v8si)__b, 0, 8+0, 1, 8+1, 4, 8+4, 5, 8+5);
29332845}
29342846
......@@ -2956,9 +2868,8 @@ _mm256_unpacklo_epi32(__m256i __a, __m256i __b)
29562868/// A 256-bit vector of [4 x i64] used as the source for the odd-numbered
29572869/// elements of the result.
29582870/// \returns A 256-bit vector of [4 x i64] containing the result.
2959static __inline__ __m256i __DEFAULT_FN_ATTRS256
2960_mm256_unpacklo_epi64(__m256i __a, __m256i __b)
2961{
2871static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2872_mm256_unpacklo_epi64(__m256i __a, __m256i __b) {
29622873 return (__m256i)__builtin_shufflevector((__v4di)__a, (__v4di)__b, 0, 4+0, 2, 4+2);
29632874}
29642875
......@@ -2974,7 +2885,7 @@ _mm256_unpacklo_epi64(__m256i __a, __m256i __b)
29742885/// \param __b
29752886/// A 256-bit integer vector.
29762887/// \returns A 256-bit integer vector containing the result.
2977static __inline__ __m256i __DEFAULT_FN_ATTRS256
2888static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
29782889_mm256_xor_si256(__m256i __a, __m256i __b)
29792890{
29802891 return (__m256i)((__v4du)__a ^ (__v4du)__b);
......@@ -3009,9 +2920,8 @@ _mm256_stream_load_si256(const void *__V)
30092920/// \param __X
30102921/// A 128-bit vector of [4 x float] whose low element will be broadcast.
30112922/// \returns A 128-bit vector of [4 x float] containing the result.
3012static __inline__ __m128 __DEFAULT_FN_ATTRS128
3013_mm_broadcastss_ps(__m128 __X)
3014{
2923static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2924_mm_broadcastss_ps(__m128 __X) {
30152925 return (__m128)__builtin_shufflevector((__v4sf)__X, (__v4sf)__X, 0, 0, 0, 0);
30162926}
30172927
......@@ -3026,9 +2936,8 @@ _mm_broadcastss_ps(__m128 __X)
30262936/// \param __a
30272937/// A 128-bit vector of [2 x double] whose low element will be broadcast.
30282938/// \returns A 128-bit vector of [2 x double] containing the result.
3029static __inline__ __m128d __DEFAULT_FN_ATTRS128
3030_mm_broadcastsd_pd(__m128d __a)
3031{
2939static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2940_mm_broadcastsd_pd(__m128d __a) {
30322941 return __builtin_shufflevector((__v2df)__a, (__v2df)__a, 0, 0);
30332942}
30342943
......@@ -3043,9 +2952,8 @@ _mm_broadcastsd_pd(__m128d __a)
30432952/// \param __X
30442953/// A 128-bit vector of [4 x float] whose low element will be broadcast.
30452954/// \returns A 256-bit vector of [8 x float] containing the result.
3046static __inline__ __m256 __DEFAULT_FN_ATTRS256
3047_mm256_broadcastss_ps(__m128 __X)
3048{
2955static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
2956_mm256_broadcastss_ps(__m128 __X) {
30492957 return (__m256)__builtin_shufflevector((__v4sf)__X, (__v4sf)__X, 0, 0, 0, 0, 0, 0, 0, 0);
30502958}
30512959
......@@ -3060,9 +2968,8 @@ _mm256_broadcastss_ps(__m128 __X)
30602968/// \param __X
30612969/// A 128-bit vector of [2 x double] whose low element will be broadcast.
30622970/// \returns A 256-bit vector of [4 x double] containing the result.
3063static __inline__ __m256d __DEFAULT_FN_ATTRS256
3064_mm256_broadcastsd_pd(__m128d __X)
3065{
2971static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
2972_mm256_broadcastsd_pd(__m128d __X) {
30662973 return (__m256d)__builtin_shufflevector((__v2df)__X, (__v2df)__X, 0, 0, 0, 0);
30672974}
30682975
......@@ -3076,9 +2983,8 @@ _mm256_broadcastsd_pd(__m128d __X)
30762983/// \param __X
30772984/// A 128-bit integer vector to be broadcast.
30782985/// \returns A 256-bit integer vector containing the result.
3079static __inline__ __m256i __DEFAULT_FN_ATTRS256
3080_mm256_broadcastsi128_si256(__m128i __X)
3081{
2986static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2987_mm256_broadcastsi128_si256(__m128i __X) {
30822988 return (__m256i)__builtin_shufflevector((__v2di)__X, (__v2di)__X, 0, 1, 0, 1);
30832989}
30842990
......@@ -3168,9 +3074,8 @@ _mm256_broadcastsi128_si256(__m128i __X)
31683074/// \param __X
31693075/// A 128-bit integer vector whose low byte will be broadcast.
31703076/// \returns A 256-bit integer vector containing the result.
3171static __inline__ __m256i __DEFAULT_FN_ATTRS256
3172_mm256_broadcastb_epi8(__m128i __X)
3173{
3077static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3078_mm256_broadcastb_epi8(__m128i __X) {
31743079 return (__m256i)__builtin_shufflevector((__v16qi)__X, (__v16qi)__X, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
31753080}
31763081
......@@ -3184,9 +3089,8 @@ _mm256_broadcastb_epi8(__m128i __X)
31843089/// \param __X
31853090/// A 128-bit vector of [8 x i16] whose low element will be broadcast.
31863091/// \returns A 256-bit vector of [16 x i16] containing the result.
3187static __inline__ __m256i __DEFAULT_FN_ATTRS256
3188_mm256_broadcastw_epi16(__m128i __X)
3189{
3092static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3093_mm256_broadcastw_epi16(__m128i __X) {
31903094 return (__m256i)__builtin_shufflevector((__v8hi)__X, (__v8hi)__X, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
31913095}
31923096
......@@ -3200,9 +3104,8 @@ _mm256_broadcastw_epi16(__m128i __X)
32003104/// \param __X
32013105/// A 128-bit vector of [4 x i32] whose low element will be broadcast.
32023106/// \returns A 256-bit vector of [8 x i32] containing the result.
3203static __inline__ __m256i __DEFAULT_FN_ATTRS256
3204_mm256_broadcastd_epi32(__m128i __X)
3205{
3107static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3108_mm256_broadcastd_epi32(__m128i __X) {
32063109 return (__m256i)__builtin_shufflevector((__v4si)__X, (__v4si)__X, 0, 0, 0, 0, 0, 0, 0, 0);
32073110}
32083111
......@@ -3216,9 +3119,8 @@ _mm256_broadcastd_epi32(__m128i __X)
32163119/// \param __X
32173120/// A 128-bit vector of [2 x i64] whose low element will be broadcast.
32183121/// \returns A 256-bit vector of [4 x i64] containing the result.
3219static __inline__ __m256i __DEFAULT_FN_ATTRS256
3220_mm256_broadcastq_epi64(__m128i __X)
3221{
3122static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3123_mm256_broadcastq_epi64(__m128i __X) {
32223124 return (__m256i)__builtin_shufflevector((__v2di)__X, (__v2di)__X, 0, 0, 0, 0);
32233125}
32243126
......@@ -3232,9 +3134,8 @@ _mm256_broadcastq_epi64(__m128i __X)
32323134/// \param __X
32333135/// A 128-bit integer vector whose low byte will be broadcast.
32343136/// \returns A 128-bit integer vector containing the result.
3235static __inline__ __m128i __DEFAULT_FN_ATTRS128
3236_mm_broadcastb_epi8(__m128i __X)
3237{
3137static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3138_mm_broadcastb_epi8(__m128i __X) {
32383139 return (__m128i)__builtin_shufflevector((__v16qi)__X, (__v16qi)__X, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
32393140}
32403141
......@@ -3248,9 +3149,8 @@ _mm_broadcastb_epi8(__m128i __X)
32483149/// \param __X
32493150/// A 128-bit vector of [8 x i16] whose low element will be broadcast.
32503151/// \returns A 128-bit vector of [8 x i16] containing the result.
3251static __inline__ __m128i __DEFAULT_FN_ATTRS128
3252_mm_broadcastw_epi16(__m128i __X)
3253{
3152static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3153_mm_broadcastw_epi16(__m128i __X) {
32543154 return (__m128i)__builtin_shufflevector((__v8hi)__X, (__v8hi)__X, 0, 0, 0, 0, 0, 0, 0, 0);
32553155}
32563156
......@@ -3264,9 +3164,8 @@ _mm_broadcastw_epi16(__m128i __X)
32643164/// \param __X
32653165/// A 128-bit vector of [4 x i32] whose low element will be broadcast.
32663166/// \returns A 128-bit vector of [4 x i32] containing the result.
3267static __inline__ __m128i __DEFAULT_FN_ATTRS128
3268_mm_broadcastd_epi32(__m128i __X)
3269{
3167static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3168_mm_broadcastd_epi32(__m128i __X) {
32703169 return (__m128i)__builtin_shufflevector((__v4si)__X, (__v4si)__X, 0, 0, 0, 0);
32713170}
32723171
......@@ -3280,9 +3179,8 @@ _mm_broadcastd_epi32(__m128i __X)
32803179/// \param __X
32813180/// A 128-bit vector of [2 x i64] whose low element will be broadcast.
32823181/// \returns A 128-bit vector of [2 x i64] containing the result.
3283static __inline__ __m128i __DEFAULT_FN_ATTRS128
3284_mm_broadcastq_epi64(__m128i __X)
3285{
3182static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3183_mm_broadcastq_epi64(__m128i __X) {
32863184 return (__m128i)__builtin_shufflevector((__v2di)__X, (__v2di)__X, 0, 0);
32873185}
32883186
......@@ -3308,9 +3206,8 @@ _mm_broadcastq_epi64(__m128i __X)
33083206/// A 256-bit vector of [8 x i32] containing indexes of values to use from
33093207/// \a __a.
33103208/// \returns A 256-bit vector of [8 x i32] containing the result.
3311static __inline__ __m256i __DEFAULT_FN_ATTRS256
3312_mm256_permutevar8x32_epi32(__m256i __a, __m256i __b)
3313{
3209static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3210_mm256_permutevar8x32_epi32(__m256i __a, __m256i __b) {
33143211 return (__m256i)__builtin_ia32_permvarsi256((__v8si)__a, (__v8si)__b);
33153212}
33163213
......@@ -3366,9 +3263,8 @@ _mm256_permutevar8x32_epi32(__m256i __a, __m256i __b)
33663263/// A 256-bit vector of [8 x i32] containing indexes of values to use from
33673264/// \a __a.
33683265/// \returns A 256-bit vector of [8 x float] containing the result.
3369static __inline__ __m256 __DEFAULT_FN_ATTRS256
3370_mm256_permutevar8x32_ps(__m256 __a, __m256i __b)
3371{
3266static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
3267_mm256_permutevar8x32_ps(__m256 __a, __m256i __b) {
33723268 return (__m256)__builtin_ia32_permvarsf256((__v8sf)__a, (__v8si)__b);
33733269}
33743270
......@@ -3756,7 +3652,7 @@ _mm_maskstore_epi64(long long *__X, __m128i __M, __m128i __Y)
37563652/// A 256-bit vector of [8 x i32] containing the unsigned shift counts (in
37573653/// bits).
37583654/// \returns A 256-bit vector of [8 x i32] containing the result.
3759static __inline__ __m256i __DEFAULT_FN_ATTRS256
3655static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
37603656_mm256_sllv_epi32(__m256i __X, __m256i __Y)
37613657{
37623658 return (__m256i)__builtin_ia32_psllv8si((__v8si)__X, (__v8si)__Y);
......@@ -3778,7 +3674,7 @@ _mm256_sllv_epi32(__m256i __X, __m256i __Y)
37783674/// A 128-bit vector of [4 x i32] containing the unsigned shift counts (in
37793675/// bits).
37803676/// \returns A 128-bit vector of [4 x i32] containing the result.
3781static __inline__ __m128i __DEFAULT_FN_ATTRS128
3677static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
37823678_mm_sllv_epi32(__m128i __X, __m128i __Y)
37833679{
37843680 return (__m128i)__builtin_ia32_psllv4si((__v4si)__X, (__v4si)__Y);
......@@ -3800,7 +3696,7 @@ _mm_sllv_epi32(__m128i __X, __m128i __Y)
38003696/// A 256-bit vector of [4 x i64] containing the unsigned shift counts (in
38013697/// bits).
38023698/// \returns A 256-bit vector of [4 x i64] containing the result.
3803static __inline__ __m256i __DEFAULT_FN_ATTRS256
3699static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
38043700_mm256_sllv_epi64(__m256i __X, __m256i __Y)
38053701{
38063702 return (__m256i)__builtin_ia32_psllv4di((__v4di)__X, (__v4di)__Y);
......@@ -3822,7 +3718,7 @@ _mm256_sllv_epi64(__m256i __X, __m256i __Y)
38223718/// A 128-bit vector of [2 x i64] containing the unsigned shift counts (in
38233719/// bits).
38243720/// \returns A 128-bit vector of [2 x i64] containing the result.
3825static __inline__ __m128i __DEFAULT_FN_ATTRS128
3721static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
38263722_mm_sllv_epi64(__m128i __X, __m128i __Y)
38273723{
38283724 return (__m128i)__builtin_ia32_psllv2di((__v2di)__X, (__v2di)__Y);
......@@ -3845,7 +3741,7 @@ _mm_sllv_epi64(__m128i __X, __m128i __Y)
38453741/// A 256-bit vector of [8 x i32] containing the unsigned shift counts (in
38463742/// bits).
38473743/// \returns A 256-bit vector of [8 x i32] containing the result.
3848static __inline__ __m256i __DEFAULT_FN_ATTRS256
3744static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
38493745_mm256_srav_epi32(__m256i __X, __m256i __Y)
38503746{
38513747 return (__m256i)__builtin_ia32_psrav8si((__v8si)__X, (__v8si)__Y);
......@@ -3868,7 +3764,7 @@ _mm256_srav_epi32(__m256i __X, __m256i __Y)
38683764/// A 128-bit vector of [4 x i32] containing the unsigned shift counts (in
38693765/// bits).
38703766/// \returns A 128-bit vector of [4 x i32] containing the result.
3871static __inline__ __m128i __DEFAULT_FN_ATTRS128
3767static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
38723768_mm_srav_epi32(__m128i __X, __m128i __Y)
38733769{
38743770 return (__m128i)__builtin_ia32_psrav4si((__v4si)__X, (__v4si)__Y);
......@@ -3890,7 +3786,7 @@ _mm_srav_epi32(__m128i __X, __m128i __Y)
38903786/// A 256-bit vector of [8 x i32] containing the unsigned shift counts (in
38913787/// bits).
38923788/// \returns A 256-bit vector of [8 x i32] containing the result.
3893static __inline__ __m256i __DEFAULT_FN_ATTRS256
3789static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
38943790_mm256_srlv_epi32(__m256i __X, __m256i __Y)
38953791{
38963792 return (__m256i)__builtin_ia32_psrlv8si((__v8si)__X, (__v8si)__Y);
......@@ -3912,7 +3808,7 @@ _mm256_srlv_epi32(__m256i __X, __m256i __Y)
39123808/// A 128-bit vector of [4 x i32] containing the unsigned shift counts (in
39133809/// bits).
39143810/// \returns A 128-bit vector of [4 x i32] containing the result.
3915static __inline__ __m128i __DEFAULT_FN_ATTRS128
3811static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
39163812_mm_srlv_epi32(__m128i __X, __m128i __Y)
39173813{
39183814 return (__m128i)__builtin_ia32_psrlv4si((__v4si)__X, (__v4si)__Y);
......@@ -3934,7 +3830,7 @@ _mm_srlv_epi32(__m128i __X, __m128i __Y)
39343830/// A 256-bit vector of [4 x i64] containing the unsigned shift counts (in
39353831/// bits).
39363832/// \returns A 256-bit vector of [4 x i64] containing the result.
3937static __inline__ __m256i __DEFAULT_FN_ATTRS256
3833static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
39383834_mm256_srlv_epi64(__m256i __X, __m256i __Y)
39393835{
39403836 return (__m256i)__builtin_ia32_psrlv4di((__v4di)__X, (__v4di)__Y);
......@@ -3956,7 +3852,7 @@ _mm256_srlv_epi64(__m256i __X, __m256i __Y)
39563852/// A 128-bit vector of [2 x i64] containing the unsigned shift counts (in
39573853/// bits).
39583854/// \returns A 128-bit vector of [2 x i64] containing the result.
3959static __inline__ __m128i __DEFAULT_FN_ATTRS128
3855static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
39603856_mm_srlv_epi64(__m128i __X, __m128i __Y)
39613857{
39623858 return (__m128i)__builtin_ia32_psrlv2di((__v2di)__X, (__v2di)__Y);
......@@ -5289,5 +5185,7 @@ _mm_srlv_epi64(__m128i __X, __m128i __Y)
52895185
52905186#undef __DEFAULT_FN_ATTRS256
52915187#undef __DEFAULT_FN_ATTRS128
5188#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
5189#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
52925190
52935191#endif /* __AVX2INTRIN_H */
lib/include/avx512bf16intrin.h+25-16
......@@ -19,12 +19,19 @@ typedef __bf16 __v32bf __attribute__((__vector_size__(64), __aligned__(64)));
1919typedef __bf16 __m512bh __attribute__((__vector_size__(64), __aligned__(64)));
2020typedef __bf16 __bfloat16 __attribute__((deprecated("use __bf16 instead")));
2121
22#define __DEFAULT_FN_ATTRS512 \
23 __attribute__((__always_inline__, __nodebug__, __target__("avx512bf16,evex512"), \
22#define __DEFAULT_FN_ATTRS512 \
23 __attribute__((__always_inline__, __nodebug__, __target__("avx512bf16"), \
2424 __min_vector_width__(512)))
2525#define __DEFAULT_FN_ATTRS \
26 __attribute__((__always_inline__, __nodebug__, \
27 __target__("avx512bf16,no-evex512")))
26 __attribute__((__always_inline__, __nodebug__, __target__("avx512bf16")))
27
28#if defined(__cplusplus) && (__cplusplus >= 201103L)
29#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512 constexpr
30#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
31#else
32#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512
33#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
34#endif
2835
2936/// Convert One BF16 Data to One Single Float Data.
3037///
......@@ -36,8 +43,8 @@ typedef __bf16 __bfloat16 __attribute__((deprecated("use __bf16 instead")));
3643/// A bfloat data.
3744/// \returns A float data whose sign field and exponent field keep unchanged,
3845/// and fraction field is extended to 23 bits.
39static __inline__ float __DEFAULT_FN_ATTRS _mm_cvtsbh_ss(__bf16 __A) {
40 return __builtin_ia32_cvtsbf162ss_32(__A);
46static __inline__ float __DEFAULT_FN_ATTRS_CONSTEXPR _mm_cvtsbh_ss(__bf16 __A) {
47 return (float)(__A);
4148}
4249
4350/// Convert Two Packed Single Data to One Packed BF16 Data.
......@@ -236,9 +243,9 @@ _mm512_maskz_dpbf16_ps(__mmask16 __U, __m512 __D, __m512bh __A, __m512bh __B) {
236243/// \param __A
237244/// A 256-bit vector of [16 x bfloat].
238245/// \returns A 512-bit vector of [16 x float] come from conversion of __A
239static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_cvtpbh_ps(__m256bh __A) {
240 return _mm512_castsi512_ps((__m512i)_mm512_slli_epi32(
241 (__m512i)_mm512_cvtepi16_epi32((__m256i)__A), 16));
246static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
247_mm512_cvtpbh_ps(__m256bh __A) {
248 return (__m512) __builtin_convertvector(__A, __v16sf);
242249}
243250
244251/// Convert Packed BF16 Data to Packed float Data using zeroing mask.
......@@ -251,10 +258,11 @@ static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_cvtpbh_ps(__m256bh __A) {
251258/// \param __A
252259/// A 256-bit vector of [16 x bfloat].
253260/// \returns A 512-bit vector of [16 x float] come from conversion of __A
254static __inline__ __m512 __DEFAULT_FN_ATTRS512
261static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
255262_mm512_maskz_cvtpbh_ps(__mmask16 __U, __m256bh __A) {
256 return _mm512_castsi512_ps((__m512i)_mm512_slli_epi32(
257 (__m512i)_mm512_maskz_cvtepi16_epi32((__mmask16)__U, (__m256i)__A), 16));
263 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
264 (__v16sf)_mm512_cvtpbh_ps(__A),
265 (__v16sf)_mm512_setzero_ps());
258266}
259267
260268/// Convert Packed BF16 Data to Packed float Data using merging mask.
......@@ -269,15 +277,16 @@ _mm512_maskz_cvtpbh_ps(__mmask16 __U, __m256bh __A) {
269277/// \param __A
270278/// A 256-bit vector of [16 x bfloat].
271279/// \returns A 512-bit vector of [16 x float] come from conversion of __A
272static __inline__ __m512 __DEFAULT_FN_ATTRS512
280static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
273281_mm512_mask_cvtpbh_ps(__m512 __S, __mmask16 __U, __m256bh __A) {
274 return _mm512_castsi512_ps((__m512i)_mm512_mask_slli_epi32(
275 (__m512i)__S, (__mmask16)__U,
276 (__m512i)_mm512_cvtepi16_epi32((__m256i)__A), 16));
282 return (__m512)__builtin_ia32_selectps_512(
283 (__mmask16)__U, (__v16sf)_mm512_cvtpbh_ps(__A), (__v16sf)__S);
277284}
278285
279286#undef __DEFAULT_FN_ATTRS
287#undef __DEFAULT_FN_ATTRS_CONSTEXPR
280288#undef __DEFAULT_FN_ATTRS512
289#undef __DEFAULT_FN_ATTRS512_CONSTEXPR
281290
282291#endif
283292#endif
lib/include/avx512bitalgintrin.h+19-30
......@@ -15,53 +15,44 @@
1515#define __AVX512BITALGINTRIN_H
1616
1717/* Define the default attributes for the functions in this file. */
18#if defined(__cplusplus) && (__cplusplus >= 201103L)
1819#define __DEFAULT_FN_ATTRS \
19 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512bitalg,evex512"), \
20 __attribute__((__always_inline__, __nodebug__, __target__("avx512bitalg"), \
21 __min_vector_width__(512))) constexpr
22#else
23#define __DEFAULT_FN_ATTRS \
24 __attribute__((__always_inline__, __nodebug__, __target__("avx512bitalg"), \
2125 __min_vector_width__(512)))
26#endif
2227
23static __inline__ __m512i __DEFAULT_FN_ATTRS
24_mm512_popcnt_epi16(__m512i __A)
25{
28static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_popcnt_epi16(__m512i __A) {
2629 return (__m512i)__builtin_elementwise_popcount((__v32hu)__A);
2730}
2831
2932static __inline__ __m512i __DEFAULT_FN_ATTRS
30_mm512_mask_popcnt_epi16(__m512i __A, __mmask32 __U, __m512i __B)
31{
32 return (__m512i) __builtin_ia32_selectw_512((__mmask32) __U,
33 (__v32hi) _mm512_popcnt_epi16(__B),
34 (__v32hi) __A);
33_mm512_mask_popcnt_epi16(__m512i __A, __mmask32 __U, __m512i __B) {
34 return (__m512i)__builtin_ia32_selectw_512(
35 (__mmask32)__U, (__v32hi)_mm512_popcnt_epi16(__B), (__v32hi)__A);
3536}
3637
3738static __inline__ __m512i __DEFAULT_FN_ATTRS
38_mm512_maskz_popcnt_epi16(__mmask32 __U, __m512i __B)
39{
40 return _mm512_mask_popcnt_epi16((__m512i) _mm512_setzero_si512(),
41 __U,
42 __B);
39_mm512_maskz_popcnt_epi16(__mmask32 __U, __m512i __B) {
40 return _mm512_mask_popcnt_epi16((__m512i)_mm512_setzero_si512(), __U, __B);
4341}
4442
45static __inline__ __m512i __DEFAULT_FN_ATTRS
46_mm512_popcnt_epi8(__m512i __A)
47{
43static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_popcnt_epi8(__m512i __A) {
4844 return (__m512i)__builtin_elementwise_popcount((__v64qu)__A);
4945}
5046
5147static __inline__ __m512i __DEFAULT_FN_ATTRS
52_mm512_mask_popcnt_epi8(__m512i __A, __mmask64 __U, __m512i __B)
53{
54 return (__m512i) __builtin_ia32_selectb_512((__mmask64) __U,
55 (__v64qi) _mm512_popcnt_epi8(__B),
56 (__v64qi) __A);
48_mm512_mask_popcnt_epi8(__m512i __A, __mmask64 __U, __m512i __B) {
49 return (__m512i)__builtin_ia32_selectb_512(
50 (__mmask64)__U, (__v64qi)_mm512_popcnt_epi8(__B), (__v64qi)__A);
5751}
5852
5953static __inline__ __m512i __DEFAULT_FN_ATTRS
60_mm512_maskz_popcnt_epi8(__mmask64 __U, __m512i __B)
61{
62 return _mm512_mask_popcnt_epi8((__m512i) _mm512_setzero_si512(),
63 __U,
64 __B);
54_mm512_maskz_popcnt_epi8(__mmask64 __U, __m512i __B) {
55 return _mm512_mask_popcnt_epi8((__m512i)_mm512_setzero_si512(), __U, __B);
6556}
6657
6758static __inline__ __mmask64 __DEFAULT_FN_ATTRS
......@@ -80,7 +71,5 @@ _mm512_bitshuffle_epi64_mask(__m512i __A, __m512i __B)
8071 __B);
8172}
8273
83
8474#undef __DEFAULT_FN_ATTRS
85
8675#endif
lib/include/avx512bwintrin.h+386-505
......@@ -19,153 +19,150 @@ typedef unsigned long long __mmask64;
1919
2020/* Define the default attributes for the functions in this file. */
2121#define __DEFAULT_FN_ATTRS512 \
22 __attribute__((__always_inline__, __nodebug__, \
23 __target__("avx512bw,evex512"), __min_vector_width__(512)))
22 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw"), \
23 __min_vector_width__(512)))
2424#define __DEFAULT_FN_ATTRS \
25 __attribute__((__always_inline__, __nodebug__, \
26 __target__("avx512bw,no-evex512")))
25 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw")))
26
27#if defined(__cplusplus) && (__cplusplus >= 201103L)
28#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512 constexpr
29#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
30#else
31#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512
32#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
33#endif
2734
28static __inline __mmask32 __DEFAULT_FN_ATTRS
29_knot_mask32(__mmask32 __M)
30{
35static __inline __mmask32
36 __DEFAULT_FN_ATTRS_CONSTEXPR _knot_mask32(__mmask32 __M) {
3137 return __builtin_ia32_knotsi(__M);
3238}
3339
34static __inline __mmask64 __DEFAULT_FN_ATTRS _knot_mask64(__mmask64 __M) {
40static __inline __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR
41_knot_mask64(__mmask64 __M) {
3542 return __builtin_ia32_knotdi(__M);
3643}
3744
38static __inline__ __mmask32 __DEFAULT_FN_ATTRS
39_kand_mask32(__mmask32 __A, __mmask32 __B)
40{
45static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR
46_kand_mask32(__mmask32 __A, __mmask32 __B) {
4147 return (__mmask32)__builtin_ia32_kandsi((__mmask32)__A, (__mmask32)__B);
4248}
4349
44static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kand_mask64(__mmask64 __A,
45 __mmask64 __B) {
50static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR
51_kand_mask64(__mmask64 __A, __mmask64 __B) {
4652 return (__mmask64)__builtin_ia32_kanddi((__mmask64)__A, (__mmask64)__B);
4753}
4854
49static __inline__ __mmask32 __DEFAULT_FN_ATTRS
50_kandn_mask32(__mmask32 __A, __mmask32 __B)
51{
55static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR
56_kandn_mask32(__mmask32 __A, __mmask32 __B) {
5257 return (__mmask32)__builtin_ia32_kandnsi((__mmask32)__A, (__mmask32)__B);
5358}
5459
55static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kandn_mask64(__mmask64 __A,
56 __mmask64 __B) {
60static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR
61_kandn_mask64(__mmask64 __A, __mmask64 __B) {
5762 return (__mmask64)__builtin_ia32_kandndi((__mmask64)__A, (__mmask64)__B);
5863}
5964
60static __inline__ __mmask32 __DEFAULT_FN_ATTRS
61_kor_mask32(__mmask32 __A, __mmask32 __B)
62{
65static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR
66_kor_mask32(__mmask32 __A, __mmask32 __B) {
6367 return (__mmask32)__builtin_ia32_korsi((__mmask32)__A, (__mmask32)__B);
6468}
6569
66static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kor_mask64(__mmask64 __A,
67 __mmask64 __B) {
70static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR
71_kor_mask64(__mmask64 __A, __mmask64 __B) {
6872 return (__mmask64)__builtin_ia32_kordi((__mmask64)__A, (__mmask64)__B);
6973}
7074
71static __inline__ __mmask32 __DEFAULT_FN_ATTRS
72_kxnor_mask32(__mmask32 __A, __mmask32 __B)
73{
75static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR
76_kxnor_mask32(__mmask32 __A, __mmask32 __B) {
7477 return (__mmask32)__builtin_ia32_kxnorsi((__mmask32)__A, (__mmask32)__B);
7578}
7679
77static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kxnor_mask64(__mmask64 __A,
78 __mmask64 __B) {
80static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR
81_kxnor_mask64(__mmask64 __A, __mmask64 __B) {
7982 return (__mmask64)__builtin_ia32_kxnordi((__mmask64)__A, (__mmask64)__B);
8083}
8184
82static __inline__ __mmask32 __DEFAULT_FN_ATTRS
83_kxor_mask32(__mmask32 __A, __mmask32 __B)
84{
85static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR
86_kxor_mask32(__mmask32 __A, __mmask32 __B) {
8587 return (__mmask32)__builtin_ia32_kxorsi((__mmask32)__A, (__mmask32)__B);
8688}
8789
88static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kxor_mask64(__mmask64 __A,
89 __mmask64 __B) {
90static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR
91_kxor_mask64(__mmask64 __A, __mmask64 __B) {
9092 return (__mmask64)__builtin_ia32_kxordi((__mmask64)__A, (__mmask64)__B);
9193}
9294
93static __inline__ unsigned char __DEFAULT_FN_ATTRS
94_kortestc_mask32_u8(__mmask32 __A, __mmask32 __B)
95{
95static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
96_kortestc_mask32_u8(__mmask32 __A, __mmask32 __B) {
9697 return (unsigned char)__builtin_ia32_kortestcsi(__A, __B);
9798}
9899
99static __inline__ unsigned char __DEFAULT_FN_ATTRS
100_kortestz_mask32_u8(__mmask32 __A, __mmask32 __B)
101{
100static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
101_kortestz_mask32_u8(__mmask32 __A, __mmask32 __B) {
102102 return (unsigned char)__builtin_ia32_kortestzsi(__A, __B);
103103}
104104
105static __inline__ unsigned char __DEFAULT_FN_ATTRS
105static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
106106_kortest_mask32_u8(__mmask32 __A, __mmask32 __B, unsigned char *__C) {
107107 *__C = (unsigned char)__builtin_ia32_kortestcsi(__A, __B);
108108 return (unsigned char)__builtin_ia32_kortestzsi(__A, __B);
109109}
110110
111static __inline__ unsigned char __DEFAULT_FN_ATTRS
111static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
112112_kortestc_mask64_u8(__mmask64 __A, __mmask64 __B) {
113113 return (unsigned char)__builtin_ia32_kortestcdi(__A, __B);
114114}
115115
116static __inline__ unsigned char __DEFAULT_FN_ATTRS
116static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
117117_kortestz_mask64_u8(__mmask64 __A, __mmask64 __B) {
118118 return (unsigned char)__builtin_ia32_kortestzdi(__A, __B);
119119}
120120
121static __inline__ unsigned char __DEFAULT_FN_ATTRS
121static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
122122_kortest_mask64_u8(__mmask64 __A, __mmask64 __B, unsigned char *__C) {
123123 *__C = (unsigned char)__builtin_ia32_kortestcdi(__A, __B);
124124 return (unsigned char)__builtin_ia32_kortestzdi(__A, __B);
125125}
126126
127static __inline__ unsigned char __DEFAULT_FN_ATTRS
128_ktestc_mask32_u8(__mmask32 __A, __mmask32 __B)
129{
127static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
128_ktestc_mask32_u8(__mmask32 __A, __mmask32 __B) {
130129 return (unsigned char)__builtin_ia32_ktestcsi(__A, __B);
131130}
132131
133static __inline__ unsigned char __DEFAULT_FN_ATTRS
134_ktestz_mask32_u8(__mmask32 __A, __mmask32 __B)
135{
132static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
133_ktestz_mask32_u8(__mmask32 __A, __mmask32 __B) {
136134 return (unsigned char)__builtin_ia32_ktestzsi(__A, __B);
137135}
138136
139static __inline__ unsigned char __DEFAULT_FN_ATTRS
137static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
140138_ktest_mask32_u8(__mmask32 __A, __mmask32 __B, unsigned char *__C) {
141139 *__C = (unsigned char)__builtin_ia32_ktestcsi(__A, __B);
142140 return (unsigned char)__builtin_ia32_ktestzsi(__A, __B);
143141}
144142
145static __inline__ unsigned char __DEFAULT_FN_ATTRS
143static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
146144_ktestc_mask64_u8(__mmask64 __A, __mmask64 __B) {
147145 return (unsigned char)__builtin_ia32_ktestcdi(__A, __B);
148146}
149147
150static __inline__ unsigned char __DEFAULT_FN_ATTRS
148static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
151149_ktestz_mask64_u8(__mmask64 __A, __mmask64 __B) {
152150 return (unsigned char)__builtin_ia32_ktestzdi(__A, __B);
153151}
154152
155static __inline__ unsigned char __DEFAULT_FN_ATTRS
153static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
156154_ktest_mask64_u8(__mmask64 __A, __mmask64 __B, unsigned char *__C) {
157155 *__C = (unsigned char)__builtin_ia32_ktestcdi(__A, __B);
158156 return (unsigned char)__builtin_ia32_ktestzdi(__A, __B);
159157}
160158
161static __inline__ __mmask32 __DEFAULT_FN_ATTRS
162_kadd_mask32(__mmask32 __A, __mmask32 __B)
163{
159static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR
160_kadd_mask32(__mmask32 __A, __mmask32 __B) {
164161 return (__mmask32)__builtin_ia32_kaddsi((__mmask32)__A, (__mmask32)__B);
165162}
166163
167static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kadd_mask64(__mmask64 __A,
168 __mmask64 __B) {
164static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR
165_kadd_mask64(__mmask64 __A, __mmask64 __B) {
169166 return (__mmask64)__builtin_ia32_kadddi((__mmask64)__A, (__mmask64)__B);
170167}
171168
......@@ -181,22 +178,22 @@ static __inline__ __mmask64 __DEFAULT_FN_ATTRS _kadd_mask64(__mmask64 __A,
181178#define _kshiftri_mask64(A, I) \
182179 ((__mmask64)__builtin_ia32_kshiftridi((__mmask64)(A), (unsigned int)(I)))
183180
184static __inline__ unsigned int __DEFAULT_FN_ATTRS
185_cvtmask32_u32(__mmask32 __A) {
181static __inline__ unsigned int
182 __DEFAULT_FN_ATTRS_CONSTEXPR _cvtmask32_u32(__mmask32 __A) {
186183 return (unsigned int)__builtin_ia32_kmovd((__mmask32)__A);
187184}
188185
189static __inline__ unsigned long long __DEFAULT_FN_ATTRS
186static __inline__ unsigned long long __DEFAULT_FN_ATTRS_CONSTEXPR
190187_cvtmask64_u64(__mmask64 __A) {
191188 return (unsigned long long)__builtin_ia32_kmovq((__mmask64)__A);
192189}
193190
194static __inline__ __mmask32 __DEFAULT_FN_ATTRS
191static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR
195192_cvtu32_mask32(unsigned int __A) {
196193 return (__mmask32)__builtin_ia32_kmovd((__mmask32)__A);
197194}
198195
199static __inline__ __mmask64 __DEFAULT_FN_ATTRS
196static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR
200197_cvtu64_mask64(unsigned long long __A) {
201198 return (__mmask64)__builtin_ia32_kmovq((__mmask64)__A);
202199}
......@@ -362,168 +359,159 @@ static __inline__ void __DEFAULT_FN_ATTRS _store_mask64(__mmask64 *__A,
362359#define _mm512_mask_cmpneq_epu16_mask(k, A, B) \
363360 _mm512_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_NE)
364361
365static __inline__ __m512i __DEFAULT_FN_ATTRS512
366_mm512_add_epi8 (__m512i __A, __m512i __B) {
362static __inline__ __m512i
363 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_add_epi8(__m512i __A, __m512i __B) {
367364 return (__m512i) ((__v64qu) __A + (__v64qu) __B);
368365}
369366
370static __inline__ __m512i __DEFAULT_FN_ATTRS512
367static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
371368_mm512_mask_add_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
372369 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
373370 (__v64qi)_mm512_add_epi8(__A, __B),
374371 (__v64qi)__W);
375372}
376373
377static __inline__ __m512i __DEFAULT_FN_ATTRS512
374static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
378375_mm512_maskz_add_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
379376 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
380377 (__v64qi)_mm512_add_epi8(__A, __B),
381378 (__v64qi)_mm512_setzero_si512());
382379}
383380
384static __inline__ __m512i __DEFAULT_FN_ATTRS512
385_mm512_sub_epi8 (__m512i __A, __m512i __B) {
381static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
382_mm512_sub_epi8(__m512i __A, __m512i __B) {
386383 return (__m512i) ((__v64qu) __A - (__v64qu) __B);
387384}
388385
389static __inline__ __m512i __DEFAULT_FN_ATTRS512
386static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
390387_mm512_mask_sub_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
391388 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
392389 (__v64qi)_mm512_sub_epi8(__A, __B),
393390 (__v64qi)__W);
394391}
395392
396static __inline__ __m512i __DEFAULT_FN_ATTRS512
393static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
397394_mm512_maskz_sub_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
398395 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
399396 (__v64qi)_mm512_sub_epi8(__A, __B),
400397 (__v64qi)_mm512_setzero_si512());
401398}
402399
403static __inline__ __m512i __DEFAULT_FN_ATTRS512
404_mm512_add_epi16 (__m512i __A, __m512i __B) {
400static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
401_mm512_add_epi16(__m512i __A, __m512i __B) {
405402 return (__m512i) ((__v32hu) __A + (__v32hu) __B);
406403}
407404
408static __inline__ __m512i __DEFAULT_FN_ATTRS512
405static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
409406_mm512_mask_add_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
410407 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
411408 (__v32hi)_mm512_add_epi16(__A, __B),
412409 (__v32hi)__W);
413410}
414411
415static __inline__ __m512i __DEFAULT_FN_ATTRS512
412static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
416413_mm512_maskz_add_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
417414 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
418415 (__v32hi)_mm512_add_epi16(__A, __B),
419416 (__v32hi)_mm512_setzero_si512());
420417}
421418
422static __inline__ __m512i __DEFAULT_FN_ATTRS512
423_mm512_sub_epi16 (__m512i __A, __m512i __B) {
419static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
420_mm512_sub_epi16(__m512i __A, __m512i __B) {
424421 return (__m512i) ((__v32hu) __A - (__v32hu) __B);
425422}
426423
427static __inline__ __m512i __DEFAULT_FN_ATTRS512
424static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
428425_mm512_mask_sub_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
429426 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
430427 (__v32hi)_mm512_sub_epi16(__A, __B),
431428 (__v32hi)__W);
432429}
433430
434static __inline__ __m512i __DEFAULT_FN_ATTRS512
431static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
435432_mm512_maskz_sub_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
436433 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
437434 (__v32hi)_mm512_sub_epi16(__A, __B),
438435 (__v32hi)_mm512_setzero_si512());
439436}
440437
441static __inline__ __m512i __DEFAULT_FN_ATTRS512
438static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
442439_mm512_mullo_epi16 (__m512i __A, __m512i __B) {
443440 return (__m512i) ((__v32hu) __A * (__v32hu) __B);
444441}
445442
446static __inline__ __m512i __DEFAULT_FN_ATTRS512
443static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
447444_mm512_mask_mullo_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
448445 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
449446 (__v32hi)_mm512_mullo_epi16(__A, __B),
450447 (__v32hi)__W);
451448}
452449
453static __inline__ __m512i __DEFAULT_FN_ATTRS512
450static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
454451_mm512_maskz_mullo_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
455452 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
456453 (__v32hi)_mm512_mullo_epi16(__A, __B),
457454 (__v32hi)_mm512_setzero_si512());
458455}
459456
460static __inline__ __m512i __DEFAULT_FN_ATTRS512
461_mm512_mask_blend_epi8 (__mmask64 __U, __m512i __A, __m512i __W)
462{
457static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
458_mm512_mask_blend_epi8(__mmask64 __U, __m512i __A, __m512i __W) {
463459 return (__m512i) __builtin_ia32_selectb_512 ((__mmask64) __U,
464460 (__v64qi) __W,
465461 (__v64qi) __A);
466462}
467463
468static __inline__ __m512i __DEFAULT_FN_ATTRS512
469_mm512_mask_blend_epi16 (__mmask32 __U, __m512i __A, __m512i __W)
470{
464static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
465_mm512_mask_blend_epi16(__mmask32 __U, __m512i __A, __m512i __W) {
471466 return (__m512i) __builtin_ia32_selectw_512 ((__mmask32) __U,
472467 (__v32hi) __W,
473468 (__v32hi) __A);
474469}
475470
476static __inline__ __m512i __DEFAULT_FN_ATTRS512
477_mm512_abs_epi8 (__m512i __A)
478{
471static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
472_mm512_abs_epi8(__m512i __A) {
479473 return (__m512i)__builtin_elementwise_abs((__v64qs)__A);
480474}
481475
482static __inline__ __m512i __DEFAULT_FN_ATTRS512
483_mm512_mask_abs_epi8 (__m512i __W, __mmask64 __U, __m512i __A)
484{
476static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
477_mm512_mask_abs_epi8(__m512i __W, __mmask64 __U, __m512i __A) {
485478 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
486479 (__v64qi)_mm512_abs_epi8(__A),
487480 (__v64qi)__W);
488481}
489482
490static __inline__ __m512i __DEFAULT_FN_ATTRS512
491_mm512_maskz_abs_epi8 (__mmask64 __U, __m512i __A)
492{
483static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
484_mm512_maskz_abs_epi8(__mmask64 __U, __m512i __A) {
493485 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
494486 (__v64qi)_mm512_abs_epi8(__A),
495487 (__v64qi)_mm512_setzero_si512());
496488}
497489
498static __inline__ __m512i __DEFAULT_FN_ATTRS512
499_mm512_abs_epi16 (__m512i __A)
500{
490static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
491_mm512_abs_epi16(__m512i __A) {
501492 return (__m512i)__builtin_elementwise_abs((__v32hi)__A);
502493}
503494
504static __inline__ __m512i __DEFAULT_FN_ATTRS512
505_mm512_mask_abs_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
506{
495static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
496_mm512_mask_abs_epi16(__m512i __W, __mmask32 __U, __m512i __A) {
507497 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
508498 (__v32hi)_mm512_abs_epi16(__A),
509499 (__v32hi)__W);
510500}
511501
512static __inline__ __m512i __DEFAULT_FN_ATTRS512
513_mm512_maskz_abs_epi16 (__mmask32 __U, __m512i __A)
514{
502static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
503_mm512_maskz_abs_epi16(__mmask32 __U, __m512i __A) {
515504 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
516505 (__v32hi)_mm512_abs_epi16(__A),
517506 (__v32hi)_mm512_setzero_si512());
518507}
519508
520static __inline__ __m512i __DEFAULT_FN_ATTRS512
521_mm512_packs_epi32(__m512i __A, __m512i __B)
522{
509static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
510_mm512_packs_epi32(__m512i __A, __m512i __B) {
523511 return (__m512i)__builtin_ia32_packssdw512((__v16si)__A, (__v16si)__B);
524512}
525513
526static __inline__ __m512i __DEFAULT_FN_ATTRS512
514static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
527515_mm512_maskz_packs_epi32(__mmask32 __M, __m512i __A, __m512i __B)
528516{
529517 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
......@@ -531,21 +519,19 @@ _mm512_maskz_packs_epi32(__mmask32 __M, __m512i __A, __m512i __B)
531519 (__v32hi)_mm512_setzero_si512());
532520}
533521
534static __inline__ __m512i __DEFAULT_FN_ATTRS512
535_mm512_mask_packs_epi32(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
536{
522static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
523_mm512_mask_packs_epi32(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
537524 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
538525 (__v32hi)_mm512_packs_epi32(__A, __B),
539526 (__v32hi)__W);
540527}
541528
542static __inline__ __m512i __DEFAULT_FN_ATTRS512
543_mm512_packs_epi16(__m512i __A, __m512i __B)
544{
529static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
530_mm512_packs_epi16(__m512i __A, __m512i __B) {
545531 return (__m512i)__builtin_ia32_packsswb512((__v32hi)__A, (__v32hi) __B);
546532}
547533
548static __inline__ __m512i __DEFAULT_FN_ATTRS512
534static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
549535_mm512_mask_packs_epi16(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
550536{
551537 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
......@@ -553,7 +539,7 @@ _mm512_mask_packs_epi16(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
553539 (__v64qi)__W);
554540}
555541
556static __inline__ __m512i __DEFAULT_FN_ATTRS512
542static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
557543_mm512_maskz_packs_epi16(__mmask64 __M, __m512i __A, __m512i __B)
558544{
559545 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
......@@ -561,13 +547,12 @@ _mm512_maskz_packs_epi16(__mmask64 __M, __m512i __A, __m512i __B)
561547 (__v64qi)_mm512_setzero_si512());
562548}
563549
564static __inline__ __m512i __DEFAULT_FN_ATTRS512
565_mm512_packus_epi32(__m512i __A, __m512i __B)
566{
550static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
551_mm512_packus_epi32(__m512i __A, __m512i __B) {
567552 return (__m512i)__builtin_ia32_packusdw512((__v16si) __A, (__v16si) __B);
568553}
569554
570static __inline__ __m512i __DEFAULT_FN_ATTRS512
555static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
571556_mm512_maskz_packus_epi32(__mmask32 __M, __m512i __A, __m512i __B)
572557{
573558 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
......@@ -575,7 +560,7 @@ _mm512_maskz_packus_epi32(__mmask32 __M, __m512i __A, __m512i __B)
575560 (__v32hi)_mm512_setzero_si512());
576561}
577562
578static __inline__ __m512i __DEFAULT_FN_ATTRS512
563static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
579564_mm512_mask_packus_epi32(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
580565{
581566 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
......@@ -583,13 +568,12 @@ _mm512_mask_packus_epi32(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
583568 (__v32hi)__W);
584569}
585570
586static __inline__ __m512i __DEFAULT_FN_ATTRS512
587_mm512_packus_epi16(__m512i __A, __m512i __B)
588{
571static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
572_mm512_packus_epi16(__m512i __A, __m512i __B) {
589573 return (__m512i)__builtin_ia32_packuswb512((__v32hi) __A, (__v32hi) __B);
590574}
591575
592static __inline__ __m512i __DEFAULT_FN_ATTRS512
576static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
593577_mm512_mask_packus_epi16(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
594578{
595579 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
......@@ -597,7 +581,7 @@ _mm512_mask_packus_epi16(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
597581 (__v64qi)__W);
598582}
599583
600static __inline__ __m512i __DEFAULT_FN_ATTRS512
584static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
601585_mm512_maskz_packus_epi16(__mmask64 __M, __m512i __A, __m512i __B)
602586{
603587 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
......@@ -605,35 +589,31 @@ _mm512_maskz_packus_epi16(__mmask64 __M, __m512i __A, __m512i __B)
605589 (__v64qi)_mm512_setzero_si512());
606590}
607591
608static __inline__ __m512i __DEFAULT_FN_ATTRS512
609_mm512_adds_epi8 (__m512i __A, __m512i __B)
610{
592static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
593_mm512_adds_epi8(__m512i __A, __m512i __B) {
611594 return (__m512i)__builtin_elementwise_add_sat((__v64qs)__A, (__v64qs)__B);
612595}
613596
614static __inline__ __m512i __DEFAULT_FN_ATTRS512
615_mm512_mask_adds_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
616{
597static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
598_mm512_mask_adds_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
617599 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
618600 (__v64qi)_mm512_adds_epi8(__A, __B),
619601 (__v64qi)__W);
620602}
621603
622static __inline__ __m512i __DEFAULT_FN_ATTRS512
623_mm512_maskz_adds_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
624{
604static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
605_mm512_maskz_adds_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
625606 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
626607 (__v64qi)_mm512_adds_epi8(__A, __B),
627608 (__v64qi)_mm512_setzero_si512());
628609}
629610
630static __inline__ __m512i __DEFAULT_FN_ATTRS512
631_mm512_adds_epi16 (__m512i __A, __m512i __B)
632{
611static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
612_mm512_adds_epi16(__m512i __A, __m512i __B) {
633613 return (__m512i)__builtin_elementwise_add_sat((__v32hi)__A, (__v32hi)__B);
634614}
635615
636static __inline__ __m512i __DEFAULT_FN_ATTRS512
616static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
637617_mm512_mask_adds_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
638618{
639619 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
......@@ -641,7 +621,7 @@ _mm512_mask_adds_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
641621 (__v32hi)__W);
642622}
643623
644static __inline__ __m512i __DEFAULT_FN_ATTRS512
624static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
645625_mm512_maskz_adds_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
646626{
647627 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
......@@ -649,13 +629,12 @@ _mm512_maskz_adds_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
649629 (__v32hi)_mm512_setzero_si512());
650630}
651631
652static __inline__ __m512i __DEFAULT_FN_ATTRS512
653_mm512_adds_epu8 (__m512i __A, __m512i __B)
654{
632static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
633_mm512_adds_epu8(__m512i __A, __m512i __B) {
655634 return (__m512i)__builtin_elementwise_add_sat((__v64qu) __A, (__v64qu) __B);
656635}
657636
658static __inline__ __m512i __DEFAULT_FN_ATTRS512
637static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
659638_mm512_mask_adds_epu8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
660639{
661640 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
......@@ -663,7 +642,7 @@ _mm512_mask_adds_epu8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
663642 (__v64qi)__W);
664643}
665644
666static __inline__ __m512i __DEFAULT_FN_ATTRS512
645static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
667646_mm512_maskz_adds_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
668647{
669648 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
......@@ -671,280 +650,238 @@ _mm512_maskz_adds_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
671650 (__v64qi)_mm512_setzero_si512());
672651}
673652
674static __inline__ __m512i __DEFAULT_FN_ATTRS512
675_mm512_adds_epu16 (__m512i __A, __m512i __B)
676{
653static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
654_mm512_adds_epu16(__m512i __A, __m512i __B) {
677655 return (__m512i)__builtin_elementwise_add_sat((__v32hu) __A, (__v32hu) __B);
678656}
679657
680static __inline__ __m512i __DEFAULT_FN_ATTRS512
681_mm512_mask_adds_epu16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
682{
658static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
659_mm512_mask_adds_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
683660 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
684661 (__v32hi)_mm512_adds_epu16(__A, __B),
685662 (__v32hi)__W);
686663}
687664
688static __inline__ __m512i __DEFAULT_FN_ATTRS512
689_mm512_maskz_adds_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
690{
665static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
666_mm512_maskz_adds_epu16(__mmask32 __U, __m512i __A, __m512i __B) {
691667 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
692668 (__v32hi)_mm512_adds_epu16(__A, __B),
693669 (__v32hi)_mm512_setzero_si512());
694670}
695671
696static __inline__ __m512i __DEFAULT_FN_ATTRS512
697_mm512_avg_epu8 (__m512i __A, __m512i __B)
698{
699 return (__m512i)__builtin_ia32_pavgb512((__v64qi)__A, (__v64qi)__B);
672static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
673_mm512_avg_epu8(__m512i __A, __m512i __B) {
674 return (__m512i)__builtin_ia32_pavgb512((__v64qu)__A, (__v64qu)__B);
700675}
701676
702static __inline__ __m512i __DEFAULT_FN_ATTRS512
703_mm512_mask_avg_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
704 __m512i __B)
705{
706 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
707 (__v64qi)_mm512_avg_epu8(__A, __B),
708 (__v64qi)__W);
677static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
678_mm512_mask_avg_epu8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
679 return (__m512i)__builtin_ia32_selectb_512(
680 (__mmask64)__U, (__v64qi)_mm512_avg_epu8(__A, __B), (__v64qi)__W);
709681}
710682
711static __inline__ __m512i __DEFAULT_FN_ATTRS512
712_mm512_maskz_avg_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
713{
683static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
684_mm512_maskz_avg_epu8(__mmask64 __U, __m512i __A, __m512i __B) {
714685 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
715 (__v64qi)_mm512_avg_epu8(__A, __B),
716 (__v64qi)_mm512_setzero_si512());
686 (__v64qi)_mm512_avg_epu8(__A, __B),
687 (__v64qi)_mm512_setzero_si512());
717688}
718689
719static __inline__ __m512i __DEFAULT_FN_ATTRS512
720_mm512_avg_epu16 (__m512i __A, __m512i __B)
721{
722 return (__m512i)__builtin_ia32_pavgw512((__v32hi)__A, (__v32hi)__B);
690static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
691_mm512_avg_epu16(__m512i __A, __m512i __B) {
692 return (__m512i)__builtin_ia32_pavgw512((__v32hu)__A, (__v32hu)__B);
723693}
724694
725static __inline__ __m512i __DEFAULT_FN_ATTRS512
726_mm512_mask_avg_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
727 __m512i __B)
728{
729 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
730 (__v32hi)_mm512_avg_epu16(__A, __B),
731 (__v32hi)__W);
695static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
696_mm512_mask_avg_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
697 return (__m512i)__builtin_ia32_selectw_512(
698 (__mmask32)__U, (__v32hi)_mm512_avg_epu16(__A, __B), (__v32hi)__W);
732699}
733700
734static __inline__ __m512i __DEFAULT_FN_ATTRS512
735_mm512_maskz_avg_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
736{
737 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
738 (__v32hi)_mm512_avg_epu16(__A, __B),
739 (__v32hi) _mm512_setzero_si512());
701static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
702_mm512_maskz_avg_epu16(__mmask32 __U, __m512i __A, __m512i __B) {
703 return (__m512i)__builtin_ia32_selectw_512(
704 (__mmask32)__U, (__v32hi)_mm512_avg_epu16(__A, __B),
705 (__v32hi)_mm512_setzero_si512());
740706}
741707
742static __inline__ __m512i __DEFAULT_FN_ATTRS512
743_mm512_max_epi8 (__m512i __A, __m512i __B)
744{
708static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
709_mm512_max_epi8(__m512i __A, __m512i __B) {
745710 return (__m512i)__builtin_elementwise_max((__v64qs) __A, (__v64qs) __B);
746711}
747712
748static __inline__ __m512i __DEFAULT_FN_ATTRS512
749_mm512_maskz_max_epi8 (__mmask64 __M, __m512i __A, __m512i __B)
750{
713static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
714_mm512_maskz_max_epi8(__mmask64 __M, __m512i __A, __m512i __B) {
751715 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
752716 (__v64qi)_mm512_max_epi8(__A, __B),
753717 (__v64qi)_mm512_setzero_si512());
754718}
755719
756static __inline__ __m512i __DEFAULT_FN_ATTRS512
757_mm512_mask_max_epi8 (__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
758{
720static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
721_mm512_mask_max_epi8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
759722 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
760723 (__v64qi)_mm512_max_epi8(__A, __B),
761724 (__v64qi)__W);
762725}
763726
764static __inline__ __m512i __DEFAULT_FN_ATTRS512
765_mm512_max_epi16 (__m512i __A, __m512i __B)
766{
727static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
728_mm512_max_epi16(__m512i __A, __m512i __B) {
767729 return (__m512i)__builtin_elementwise_max((__v32hi) __A, (__v32hi) __B);
768730}
769731
770static __inline__ __m512i __DEFAULT_FN_ATTRS512
771_mm512_maskz_max_epi16 (__mmask32 __M, __m512i __A, __m512i __B)
772{
732static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
733_mm512_maskz_max_epi16(__mmask32 __M, __m512i __A, __m512i __B) {
773734 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
774735 (__v32hi)_mm512_max_epi16(__A, __B),
775736 (__v32hi)_mm512_setzero_si512());
776737}
777738
778static __inline__ __m512i __DEFAULT_FN_ATTRS512
779_mm512_mask_max_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
780 __m512i __B)
781{
739static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
740_mm512_mask_max_epi16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
782741 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
783742 (__v32hi)_mm512_max_epi16(__A, __B),
784743 (__v32hi)__W);
785744}
786745
787static __inline__ __m512i __DEFAULT_FN_ATTRS512
788_mm512_max_epu8 (__m512i __A, __m512i __B)
789{
746static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
747_mm512_max_epu8(__m512i __A, __m512i __B) {
790748 return (__m512i)__builtin_elementwise_max((__v64qu)__A, (__v64qu)__B);
791749}
792750
793static __inline__ __m512i __DEFAULT_FN_ATTRS512
794_mm512_maskz_max_epu8 (__mmask64 __M, __m512i __A, __m512i __B)
795{
751static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
752_mm512_maskz_max_epu8(__mmask64 __M, __m512i __A, __m512i __B) {
796753 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
797754 (__v64qi)_mm512_max_epu8(__A, __B),
798755 (__v64qi)_mm512_setzero_si512());
799756}
800757
801static __inline__ __m512i __DEFAULT_FN_ATTRS512
802_mm512_mask_max_epu8 (__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
803{
758static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
759_mm512_mask_max_epu8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
804760 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
805761 (__v64qi)_mm512_max_epu8(__A, __B),
806762 (__v64qi)__W);
807763}
808764
809static __inline__ __m512i __DEFAULT_FN_ATTRS512
810_mm512_max_epu16 (__m512i __A, __m512i __B)
811{
765static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
766_mm512_max_epu16(__m512i __A, __m512i __B) {
812767 return (__m512i)__builtin_elementwise_max((__v32hu)__A, (__v32hu)__B);
813768}
814769
815static __inline__ __m512i __DEFAULT_FN_ATTRS512
816_mm512_maskz_max_epu16 (__mmask32 __M, __m512i __A, __m512i __B)
817{
770static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
771_mm512_maskz_max_epu16(__mmask32 __M, __m512i __A, __m512i __B) {
818772 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
819773 (__v32hi)_mm512_max_epu16(__A, __B),
820774 (__v32hi)_mm512_setzero_si512());
821775}
822776
823static __inline__ __m512i __DEFAULT_FN_ATTRS512
824_mm512_mask_max_epu16 (__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
825{
777static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
778_mm512_mask_max_epu16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
826779 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
827780 (__v32hi)_mm512_max_epu16(__A, __B),
828781 (__v32hi)__W);
829782}
830783
831static __inline__ __m512i __DEFAULT_FN_ATTRS512
832_mm512_min_epi8 (__m512i __A, __m512i __B)
833{
784static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
785_mm512_min_epi8(__m512i __A, __m512i __B) {
834786 return (__m512i)__builtin_elementwise_min((__v64qs) __A, (__v64qs) __B);
835787}
836788
837static __inline__ __m512i __DEFAULT_FN_ATTRS512
838_mm512_maskz_min_epi8 (__mmask64 __M, __m512i __A, __m512i __B)
839{
789static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
790_mm512_maskz_min_epi8(__mmask64 __M, __m512i __A, __m512i __B) {
840791 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
841792 (__v64qi)_mm512_min_epi8(__A, __B),
842793 (__v64qi)_mm512_setzero_si512());
843794}
844795
845static __inline__ __m512i __DEFAULT_FN_ATTRS512
846_mm512_mask_min_epi8 (__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
847{
796static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
797_mm512_mask_min_epi8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
848798 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
849799 (__v64qi)_mm512_min_epi8(__A, __B),
850800 (__v64qi)__W);
851801}
852802
853static __inline__ __m512i __DEFAULT_FN_ATTRS512
854_mm512_min_epi16 (__m512i __A, __m512i __B)
855{
803static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
804_mm512_min_epi16(__m512i __A, __m512i __B) {
856805 return (__m512i)__builtin_elementwise_min((__v32hi) __A, (__v32hi) __B);
857806}
858807
859static __inline__ __m512i __DEFAULT_FN_ATTRS512
860_mm512_maskz_min_epi16 (__mmask32 __M, __m512i __A, __m512i __B)
861{
808static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
809_mm512_maskz_min_epi16(__mmask32 __M, __m512i __A, __m512i __B) {
862810 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
863811 (__v32hi)_mm512_min_epi16(__A, __B),
864812 (__v32hi)_mm512_setzero_si512());
865813}
866814
867static __inline__ __m512i __DEFAULT_FN_ATTRS512
868_mm512_mask_min_epi16 (__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
869{
815static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
816_mm512_mask_min_epi16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
870817 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
871818 (__v32hi)_mm512_min_epi16(__A, __B),
872819 (__v32hi)__W);
873820}
874821
875static __inline__ __m512i __DEFAULT_FN_ATTRS512
876_mm512_min_epu8 (__m512i __A, __m512i __B)
877{
822static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
823_mm512_min_epu8(__m512i __A, __m512i __B) {
878824 return (__m512i)__builtin_elementwise_min((__v64qu)__A, (__v64qu)__B);
879825}
880826
881static __inline__ __m512i __DEFAULT_FN_ATTRS512
882_mm512_maskz_min_epu8 (__mmask64 __M, __m512i __A, __m512i __B)
883{
827static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
828_mm512_maskz_min_epu8(__mmask64 __M, __m512i __A, __m512i __B) {
884829 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
885830 (__v64qi)_mm512_min_epu8(__A, __B),
886831 (__v64qi)_mm512_setzero_si512());
887832}
888833
889static __inline__ __m512i __DEFAULT_FN_ATTRS512
890_mm512_mask_min_epu8 (__m512i __W, __mmask64 __M, __m512i __A, __m512i __B)
891{
834static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
835_mm512_mask_min_epu8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
892836 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
893837 (__v64qi)_mm512_min_epu8(__A, __B),
894838 (__v64qi)__W);
895839}
896840
897static __inline__ __m512i __DEFAULT_FN_ATTRS512
898_mm512_min_epu16 (__m512i __A, __m512i __B)
899{
841static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
842_mm512_min_epu16(__m512i __A, __m512i __B) {
900843 return (__m512i)__builtin_elementwise_min((__v32hu)__A, (__v32hu)__B);
901844}
902845
903static __inline__ __m512i __DEFAULT_FN_ATTRS512
904_mm512_maskz_min_epu16 (__mmask32 __M, __m512i __A, __m512i __B)
905{
846static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
847_mm512_maskz_min_epu16(__mmask32 __M, __m512i __A, __m512i __B) {
906848 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
907849 (__v32hi)_mm512_min_epu16(__A, __B),
908850 (__v32hi)_mm512_setzero_si512());
909851}
910852
911static __inline__ __m512i __DEFAULT_FN_ATTRS512
912_mm512_mask_min_epu16 (__m512i __W, __mmask32 __M, __m512i __A, __m512i __B)
913{
853static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
854_mm512_mask_min_epu16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) {
914855 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
915856 (__v32hi)_mm512_min_epu16(__A, __B),
916857 (__v32hi)__W);
917858}
918859
919static __inline__ __m512i __DEFAULT_FN_ATTRS512
920_mm512_shuffle_epi8(__m512i __A, __m512i __B)
921{
860static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
861_mm512_shuffle_epi8(__m512i __A, __m512i __B) {
922862 return (__m512i)__builtin_ia32_pshufb512((__v64qi)__A,(__v64qi)__B);
923863}
924864
925static __inline__ __m512i __DEFAULT_FN_ATTRS512
926_mm512_mask_shuffle_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
927{
865static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
866_mm512_mask_shuffle_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
928867 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
929868 (__v64qi)_mm512_shuffle_epi8(__A, __B),
930869 (__v64qi)__W);
931870}
932871
933static __inline__ __m512i __DEFAULT_FN_ATTRS512
934_mm512_maskz_shuffle_epi8(__mmask64 __U, __m512i __A, __m512i __B)
935{
872static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
873_mm512_maskz_shuffle_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
936874 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
937875 (__v64qi)_mm512_shuffle_epi8(__A, __B),
938876 (__v64qi)_mm512_setzero_si512());
939877}
940878
941static __inline__ __m512i __DEFAULT_FN_ATTRS512
942_mm512_subs_epi8 (__m512i __A, __m512i __B)
943{
879static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
880_mm512_subs_epi8(__m512i __A, __m512i __B) {
944881 return (__m512i)__builtin_elementwise_sub_sat((__v64qs)__A, (__v64qs)__B);
945882}
946883
947static __inline__ __m512i __DEFAULT_FN_ATTRS512
884static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
948885_mm512_mask_subs_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
949886{
950887 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
......@@ -952,7 +889,7 @@ _mm512_mask_subs_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
952889 (__v64qi)__W);
953890}
954891
955static __inline__ __m512i __DEFAULT_FN_ATTRS512
892static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
956893_mm512_maskz_subs_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
957894{
958895 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
......@@ -960,13 +897,12 @@ _mm512_maskz_subs_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
960897 (__v64qi)_mm512_setzero_si512());
961898}
962899
963static __inline__ __m512i __DEFAULT_FN_ATTRS512
964_mm512_subs_epi16 (__m512i __A, __m512i __B)
965{
900static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
901_mm512_subs_epi16(__m512i __A, __m512i __B) {
966902 return (__m512i)__builtin_elementwise_sub_sat((__v32hi)__A, (__v32hi)__B);
967903}
968904
969static __inline__ __m512i __DEFAULT_FN_ATTRS512
905static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
970906_mm512_mask_subs_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
971907{
972908 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
......@@ -974,7 +910,7 @@ _mm512_mask_subs_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
974910 (__v32hi)__W);
975911}
976912
977static __inline__ __m512i __DEFAULT_FN_ATTRS512
913static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
978914_mm512_maskz_subs_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
979915{
980916 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
......@@ -982,13 +918,12 @@ _mm512_maskz_subs_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
982918 (__v32hi)_mm512_setzero_si512());
983919}
984920
985static __inline__ __m512i __DEFAULT_FN_ATTRS512
986_mm512_subs_epu8 (__m512i __A, __m512i __B)
987{
921static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
922_mm512_subs_epu8(__m512i __A, __m512i __B) {
988923 return (__m512i)__builtin_elementwise_sub_sat((__v64qu) __A, (__v64qu) __B);
989924}
990925
991static __inline__ __m512i __DEFAULT_FN_ATTRS512
926static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
992927_mm512_mask_subs_epu8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
993928{
994929 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
......@@ -996,7 +931,7 @@ _mm512_mask_subs_epu8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B)
996931 (__v64qi)__W);
997932}
998933
999static __inline__ __m512i __DEFAULT_FN_ATTRS512
934static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1000935_mm512_maskz_subs_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
1001936{
1002937 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
......@@ -1004,13 +939,12 @@ _mm512_maskz_subs_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
1004939 (__v64qi)_mm512_setzero_si512());
1005940}
1006941
1007static __inline__ __m512i __DEFAULT_FN_ATTRS512
1008_mm512_subs_epu16 (__m512i __A, __m512i __B)
1009{
942static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
943_mm512_subs_epu16(__m512i __A, __m512i __B) {
1010944 return (__m512i)__builtin_elementwise_sub_sat((__v32hu) __A, (__v32hu) __B);
1011945}
1012946
1013static __inline__ __m512i __DEFAULT_FN_ATTRS512
947static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1014948_mm512_mask_subs_epu16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
1015949{
1016950 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
......@@ -1018,7 +952,7 @@ _mm512_mask_subs_epu16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
1018952 (__v32hi)__W);
1019953}
1020954
1021static __inline__ __m512i __DEFAULT_FN_ATTRS512
955static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1022956_mm512_maskz_subs_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
1023957{
1024958 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
......@@ -1026,113 +960,97 @@ _mm512_maskz_subs_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
1026960 (__v32hi)_mm512_setzero_si512());
1027961}
1028962
1029static __inline__ __m512i __DEFAULT_FN_ATTRS512
1030_mm512_permutex2var_epi16(__m512i __A, __m512i __I, __m512i __B)
1031{
963static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
964_mm512_permutex2var_epi16(__m512i __A, __m512i __I, __m512i __B) {
1032965 return (__m512i)__builtin_ia32_vpermi2varhi512((__v32hi)__A, (__v32hi)__I,
1033966 (__v32hi)__B);
1034967}
1035968
1036static __inline__ __m512i __DEFAULT_FN_ATTRS512
969static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1037970_mm512_mask_permutex2var_epi16(__m512i __A, __mmask32 __U, __m512i __I,
1038 __m512i __B)
1039{
971 __m512i __B) {
1040972 return (__m512i)__builtin_ia32_selectw_512(__U,
1041973 (__v32hi)_mm512_permutex2var_epi16(__A, __I, __B),
1042974 (__v32hi)__A);
1043975}
1044976
1045static __inline__ __m512i __DEFAULT_FN_ATTRS512
977static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1046978_mm512_mask2_permutex2var_epi16(__m512i __A, __m512i __I, __mmask32 __U,
1047 __m512i __B)
1048{
979 __m512i __B) {
1049980 return (__m512i)__builtin_ia32_selectw_512(__U,
1050981 (__v32hi)_mm512_permutex2var_epi16(__A, __I, __B),
1051982 (__v32hi)__I);
1052983}
1053984
1054static __inline__ __m512i __DEFAULT_FN_ATTRS512
985static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1055986_mm512_maskz_permutex2var_epi16(__mmask32 __U, __m512i __A, __m512i __I,
1056 __m512i __B)
1057{
987 __m512i __B) {
1058988 return (__m512i)__builtin_ia32_selectw_512(__U,
1059989 (__v32hi)_mm512_permutex2var_epi16(__A, __I, __B),
1060990 (__v32hi)_mm512_setzero_si512());
1061991}
1062992
1063static __inline__ __m512i __DEFAULT_FN_ATTRS512
1064_mm512_mulhrs_epi16(__m512i __A, __m512i __B)
1065{
993static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
994_mm512_mulhrs_epi16(__m512i __A, __m512i __B) {
1066995 return (__m512i)__builtin_ia32_pmulhrsw512((__v32hi)__A, (__v32hi)__B);
1067996}
1068997
1069static __inline__ __m512i __DEFAULT_FN_ATTRS512
1070_mm512_mask_mulhrs_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
1071{
998static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
999_mm512_mask_mulhrs_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
10721000 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
10731001 (__v32hi)_mm512_mulhrs_epi16(__A, __B),
10741002 (__v32hi)__W);
10751003}
10761004
1077static __inline__ __m512i __DEFAULT_FN_ATTRS512
1078_mm512_maskz_mulhrs_epi16(__mmask32 __U, __m512i __A, __m512i __B)
1079{
1005static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1006_mm512_maskz_mulhrs_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
10801007 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
10811008 (__v32hi)_mm512_mulhrs_epi16(__A, __B),
10821009 (__v32hi)_mm512_setzero_si512());
10831010}
10841011
1085static __inline__ __m512i __DEFAULT_FN_ATTRS512
1086_mm512_mulhi_epi16(__m512i __A, __m512i __B)
1087{
1088 return (__m512i)__builtin_ia32_pmulhw512((__v32hi) __A, (__v32hi) __B);
1012static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1013_mm512_mulhi_epi16(__m512i __A, __m512i __B) {
1014 return (__m512i)__builtin_ia32_pmulhw512((__v32hi)__A, (__v32hi)__B);
10891015}
10901016
1091static __inline__ __m512i __DEFAULT_FN_ATTRS512
1092_mm512_mask_mulhi_epi16(__m512i __W, __mmask32 __U, __m512i __A,
1093 __m512i __B)
1094{
1095 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1096 (__v32hi)_mm512_mulhi_epi16(__A, __B),
1097 (__v32hi)__W);
1017static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1018_mm512_mask_mulhi_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
1019 return (__m512i)__builtin_ia32_selectw_512(
1020 (__mmask32)__U, (__v32hi)_mm512_mulhi_epi16(__A, __B), (__v32hi)__W);
10981021}
10991022
1100static __inline__ __m512i __DEFAULT_FN_ATTRS512
1101_mm512_maskz_mulhi_epi16(__mmask32 __U, __m512i __A, __m512i __B)
1102{
1103 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1104 (__v32hi)_mm512_mulhi_epi16(__A, __B),
1105 (__v32hi)_mm512_setzero_si512());
1023static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1024_mm512_maskz_mulhi_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
1025 return (__m512i)__builtin_ia32_selectw_512(
1026 (__mmask32)__U, (__v32hi)_mm512_mulhi_epi16(__A, __B),
1027 (__v32hi)_mm512_setzero_si512());
11061028}
11071029
1108static __inline__ __m512i __DEFAULT_FN_ATTRS512
1109_mm512_mulhi_epu16(__m512i __A, __m512i __B)
1110{
1111 return (__m512i)__builtin_ia32_pmulhuw512((__v32hi) __A, (__v32hi) __B);
1030static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1031_mm512_mulhi_epu16(__m512i __A, __m512i __B) {
1032 return (__m512i)__builtin_ia32_pmulhuw512((__v32hu)__A, (__v32hu)__B);
11121033}
11131034
1114static __inline__ __m512i __DEFAULT_FN_ATTRS512
1115_mm512_mask_mulhi_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
1116{
1117 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1118 (__v32hi)_mm512_mulhi_epu16(__A, __B),
1119 (__v32hi)__W);
1035static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1036_mm512_mask_mulhi_epu16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
1037 return (__m512i)__builtin_ia32_selectw_512(
1038 (__mmask32)__U, (__v32hi)_mm512_mulhi_epu16(__A, __B), (__v32hi)__W);
11201039}
11211040
1122static __inline__ __m512i __DEFAULT_FN_ATTRS512
1123_mm512_maskz_mulhi_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
1124{
1125 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
1126 (__v32hi)_mm512_mulhi_epu16(__A, __B),
1127 (__v32hi)_mm512_setzero_si512());
1041static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1042_mm512_maskz_mulhi_epu16(__mmask32 __U, __m512i __A, __m512i __B) {
1043 return (__m512i)__builtin_ia32_selectw_512(
1044 (__mmask32)__U, (__v32hi)_mm512_mulhi_epu16(__A, __B),
1045 (__v32hi)_mm512_setzero_si512());
11281046}
11291047
1130static __inline__ __m512i __DEFAULT_FN_ATTRS512
1048static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
11311049_mm512_maddubs_epi16(__m512i __X, __m512i __Y) {
11321050 return (__m512i)__builtin_ia32_pmaddubsw512((__v64qi)__X, (__v64qi)__Y);
11331051}
11341052
1135static __inline__ __m512i __DEFAULT_FN_ATTRS512
1053static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
11361054_mm512_mask_maddubs_epi16(__m512i __W, __mmask32 __U, __m512i __X,
11371055 __m512i __Y) {
11381056 return (__m512i)__builtin_ia32_selectw_512((__mmask32) __U,
......@@ -1140,26 +1058,26 @@ _mm512_mask_maddubs_epi16(__m512i __W, __mmask32 __U, __m512i __X,
11401058 (__v32hi)__W);
11411059}
11421060
1143static __inline__ __m512i __DEFAULT_FN_ATTRS512
1061static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
11441062_mm512_maskz_maddubs_epi16(__mmask32 __U, __m512i __X, __m512i __Y) {
11451063 return (__m512i)__builtin_ia32_selectw_512((__mmask32) __U,
11461064 (__v32hi)_mm512_maddubs_epi16(__X, __Y),
11471065 (__v32hi)_mm512_setzero_si512());
11481066}
11491067
1150static __inline__ __m512i __DEFAULT_FN_ATTRS512
1068static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
11511069_mm512_madd_epi16(__m512i __A, __m512i __B) {
11521070 return (__m512i)__builtin_ia32_pmaddwd512((__v32hi)__A, (__v32hi)__B);
11531071}
11541072
1155static __inline__ __m512i __DEFAULT_FN_ATTRS512
1073static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
11561074_mm512_mask_madd_epi16(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) {
11571075 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
11581076 (__v16si)_mm512_madd_epi16(__A, __B),
11591077 (__v16si)__W);
11601078}
11611079
1162static __inline__ __m512i __DEFAULT_FN_ATTRS512
1080static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
11631081_mm512_maskz_madd_epi16(__mmask16 __U, __m512i __A, __m512i __B) {
11641082 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
11651083 (__v16si)_mm512_madd_epi16(__A, __B),
......@@ -1247,7 +1165,7 @@ _mm512_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask32 __M, __m512i __A)
12471165 __builtin_ia32_pmovuswb512mem_mask ((__v32qi *) __P, (__v32hi) __A, __M);
12481166}
12491167
1250static __inline__ __m512i __DEFAULT_FN_ATTRS512
1168static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
12511169_mm512_unpackhi_epi8(__m512i __A, __m512i __B) {
12521170 return (__m512i)__builtin_shufflevector((__v64qi)__A, (__v64qi)__B,
12531171 8, 64+8, 9, 64+9,
......@@ -1268,21 +1186,21 @@ _mm512_unpackhi_epi8(__m512i __A, __m512i __B) {
12681186 62, 64+62, 63, 64+63);
12691187}
12701188
1271static __inline__ __m512i __DEFAULT_FN_ATTRS512
1189static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
12721190_mm512_mask_unpackhi_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
12731191 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
12741192 (__v64qi)_mm512_unpackhi_epi8(__A, __B),
12751193 (__v64qi)__W);
12761194}
12771195
1278static __inline__ __m512i __DEFAULT_FN_ATTRS512
1196static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
12791197_mm512_maskz_unpackhi_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
12801198 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
12811199 (__v64qi)_mm512_unpackhi_epi8(__A, __B),
12821200 (__v64qi)_mm512_setzero_si512());
12831201}
12841202
1285static __inline__ __m512i __DEFAULT_FN_ATTRS512
1203static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
12861204_mm512_unpackhi_epi16(__m512i __A, __m512i __B) {
12871205 return (__m512i)__builtin_shufflevector((__v32hi)__A, (__v32hi)__B,
12881206 4, 32+4, 5, 32+5,
......@@ -1295,21 +1213,21 @@ _mm512_unpackhi_epi16(__m512i __A, __m512i __B) {
12951213 30, 32+30, 31, 32+31);
12961214}
12971215
1298static __inline__ __m512i __DEFAULT_FN_ATTRS512
1216static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
12991217_mm512_mask_unpackhi_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
13001218 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
13011219 (__v32hi)_mm512_unpackhi_epi16(__A, __B),
13021220 (__v32hi)__W);
13031221}
13041222
1305static __inline__ __m512i __DEFAULT_FN_ATTRS512
1223static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
13061224_mm512_maskz_unpackhi_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
13071225 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
13081226 (__v32hi)_mm512_unpackhi_epi16(__A, __B),
13091227 (__v32hi)_mm512_setzero_si512());
13101228}
13111229
1312static __inline__ __m512i __DEFAULT_FN_ATTRS512
1230static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
13131231_mm512_unpacklo_epi8(__m512i __A, __m512i __B) {
13141232 return (__m512i)__builtin_shufflevector((__v64qi)__A, (__v64qi)__B,
13151233 0, 64+0, 1, 64+1,
......@@ -1330,21 +1248,21 @@ _mm512_unpacklo_epi8(__m512i __A, __m512i __B) {
13301248 54, 64+54, 55, 64+55);
13311249}
13321250
1333static __inline__ __m512i __DEFAULT_FN_ATTRS512
1251static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
13341252_mm512_mask_unpacklo_epi8(__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
13351253 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
13361254 (__v64qi)_mm512_unpacklo_epi8(__A, __B),
13371255 (__v64qi)__W);
13381256}
13391257
1340static __inline__ __m512i __DEFAULT_FN_ATTRS512
1258static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
13411259_mm512_maskz_unpacklo_epi8(__mmask64 __U, __m512i __A, __m512i __B) {
13421260 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__U,
13431261 (__v64qi)_mm512_unpacklo_epi8(__A, __B),
13441262 (__v64qi)_mm512_setzero_si512());
13451263}
13461264
1347static __inline__ __m512i __DEFAULT_FN_ATTRS512
1265static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
13481266_mm512_unpacklo_epi16(__m512i __A, __m512i __B) {
13491267 return (__m512i)__builtin_shufflevector((__v32hi)__A, (__v32hi)__B,
13501268 0, 32+0, 1, 32+1,
......@@ -1357,67 +1275,60 @@ _mm512_unpacklo_epi16(__m512i __A, __m512i __B) {
13571275 26, 32+26, 27, 32+27);
13581276}
13591277
1360static __inline__ __m512i __DEFAULT_FN_ATTRS512
1278static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
13611279_mm512_mask_unpacklo_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
13621280 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
13631281 (__v32hi)_mm512_unpacklo_epi16(__A, __B),
13641282 (__v32hi)__W);
13651283}
13661284
1367static __inline__ __m512i __DEFAULT_FN_ATTRS512
1285static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
13681286_mm512_maskz_unpacklo_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
13691287 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
13701288 (__v32hi)_mm512_unpacklo_epi16(__A, __B),
13711289 (__v32hi)_mm512_setzero_si512());
13721290}
13731291
1374static __inline__ __m512i __DEFAULT_FN_ATTRS512
1375_mm512_cvtepi8_epi16(__m256i __A)
1376{
1292static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1293_mm512_cvtepi8_epi16(__m256i __A) {
13771294 /* This function always performs a signed extension, but __v32qi is a char
13781295 which may be signed or unsigned, so use __v32qs. */
13791296 return (__m512i)__builtin_convertvector((__v32qs)__A, __v32hi);
13801297}
13811298
1382static __inline__ __m512i __DEFAULT_FN_ATTRS512
1383_mm512_mask_cvtepi8_epi16(__m512i __W, __mmask32 __U, __m256i __A)
1384{
1299static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1300_mm512_mask_cvtepi8_epi16(__m512i __W, __mmask32 __U, __m256i __A) {
13851301 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
13861302 (__v32hi)_mm512_cvtepi8_epi16(__A),
13871303 (__v32hi)__W);
13881304}
13891305
1390static __inline__ __m512i __DEFAULT_FN_ATTRS512
1391_mm512_maskz_cvtepi8_epi16(__mmask32 __U, __m256i __A)
1392{
1306static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1307_mm512_maskz_cvtepi8_epi16(__mmask32 __U, __m256i __A) {
13931308 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
13941309 (__v32hi)_mm512_cvtepi8_epi16(__A),
13951310 (__v32hi)_mm512_setzero_si512());
13961311}
13971312
1398static __inline__ __m512i __DEFAULT_FN_ATTRS512
1399_mm512_cvtepu8_epi16(__m256i __A)
1400{
1313static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1314_mm512_cvtepu8_epi16(__m256i __A) {
14011315 return (__m512i)__builtin_convertvector((__v32qu)__A, __v32hi);
14021316}
14031317
1404static __inline__ __m512i __DEFAULT_FN_ATTRS512
1405_mm512_mask_cvtepu8_epi16(__m512i __W, __mmask32 __U, __m256i __A)
1406{
1318static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1319_mm512_mask_cvtepu8_epi16(__m512i __W, __mmask32 __U, __m256i __A) {
14071320 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
14081321 (__v32hi)_mm512_cvtepu8_epi16(__A),
14091322 (__v32hi)__W);
14101323}
14111324
1412static __inline__ __m512i __DEFAULT_FN_ATTRS512
1413_mm512_maskz_cvtepu8_epi16(__mmask32 __U, __m256i __A)
1414{
1325static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1326_mm512_maskz_cvtepu8_epi16(__mmask32 __U, __m256i __A) {
14151327 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
14161328 (__v32hi)_mm512_cvtepu8_epi16(__A),
14171329 (__v32hi)_mm512_setzero_si512());
14181330}
14191331
1420
14211332#define _mm512_shufflehi_epi16(A, imm) \
14221333 ((__m512i)__builtin_ia32_pshufhw512((__v32hi)(__m512i)(A), (int)(imm)))
14231334
......@@ -1450,13 +1361,13 @@ _mm512_maskz_cvtepu8_epi16(__mmask32 __U, __m256i __A)
14501361 (imm)), \
14511362 (__v32hi)_mm512_setzero_si512()))
14521363
1453static __inline__ __m512i __DEFAULT_FN_ATTRS512
1364static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
14541365_mm512_sllv_epi16(__m512i __A, __m512i __B)
14551366{
14561367 return (__m512i)__builtin_ia32_psllv32hi((__v32hi) __A, (__v32hi) __B);
14571368}
14581369
1459static __inline__ __m512i __DEFAULT_FN_ATTRS512
1370static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
14601371_mm512_mask_sllv_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
14611372{
14621373 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
......@@ -1464,7 +1375,7 @@ _mm512_mask_sllv_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
14641375 (__v32hi)__W);
14651376}
14661377
1467static __inline__ __m512i __DEFAULT_FN_ATTRS512
1378static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
14681379_mm512_maskz_sllv_epi16(__mmask32 __U, __m512i __A, __m512i __B)
14691380{
14701381 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
......@@ -1472,61 +1383,56 @@ _mm512_maskz_sllv_epi16(__mmask32 __U, __m512i __A, __m512i __B)
14721383 (__v32hi)_mm512_setzero_si512());
14731384}
14741385
1475static __inline__ __m512i __DEFAULT_FN_ATTRS512
1476_mm512_sll_epi16(__m512i __A, __m128i __B)
1477{
1386static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1387_mm512_sll_epi16(__m512i __A, __m128i __B) {
14781388 return (__m512i)__builtin_ia32_psllw512((__v32hi) __A, (__v8hi) __B);
14791389}
14801390
1481static __inline__ __m512i __DEFAULT_FN_ATTRS512
1482_mm512_mask_sll_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m128i __B)
1483{
1391static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1392_mm512_mask_sll_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m128i __B) {
14841393 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
14851394 (__v32hi)_mm512_sll_epi16(__A, __B),
14861395 (__v32hi)__W);
14871396}
14881397
1489static __inline__ __m512i __DEFAULT_FN_ATTRS512
1490_mm512_maskz_sll_epi16(__mmask32 __U, __m512i __A, __m128i __B)
1491{
1398static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1399_mm512_maskz_sll_epi16(__mmask32 __U, __m512i __A, __m128i __B) {
14921400 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
14931401 (__v32hi)_mm512_sll_epi16(__A, __B),
14941402 (__v32hi)_mm512_setzero_si512());
14951403}
14961404
1497static __inline__ __m512i __DEFAULT_FN_ATTRS512
1498_mm512_slli_epi16(__m512i __A, unsigned int __B)
1499{
1405static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1406_mm512_slli_epi16(__m512i __A, unsigned int __B) {
15001407 return (__m512i)__builtin_ia32_psllwi512((__v32hi)__A, (int)__B);
15011408}
15021409
1503static __inline__ __m512i __DEFAULT_FN_ATTRS512
1410static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
15041411_mm512_mask_slli_epi16(__m512i __W, __mmask32 __U, __m512i __A,
1505 unsigned int __B)
1506{
1412 unsigned int __B) {
15071413 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
15081414 (__v32hi)_mm512_slli_epi16(__A, __B),
15091415 (__v32hi)__W);
15101416}
15111417
1512static __inline__ __m512i __DEFAULT_FN_ATTRS512
1513_mm512_maskz_slli_epi16(__mmask32 __U, __m512i __A, unsigned int __B)
1514{
1418static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1419_mm512_maskz_slli_epi16(__mmask32 __U, __m512i __A, unsigned int __B) {
15151420 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
15161421 (__v32hi)_mm512_slli_epi16(__A, __B),
15171422 (__v32hi)_mm512_setzero_si512());
15181423}
15191424
1520#define _mm512_bslli_epi128(a, imm) \
1521 ((__m512i)__builtin_ia32_pslldqi512_byteshift((__v8di)(__m512i)(a), (int)(imm)))
1425#define _mm512_bslli_epi128(a, imm) \
1426 ((__m512i)__builtin_ia32_pslldqi512_byteshift((__v64qi)(__m512i)(a), \
1427 (int)(imm)))
15221428
1523static __inline__ __m512i __DEFAULT_FN_ATTRS512
1429static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
15241430_mm512_srlv_epi16(__m512i __A, __m512i __B)
15251431{
15261432 return (__m512i)__builtin_ia32_psrlv32hi((__v32hi)__A, (__v32hi)__B);
15271433}
15281434
1529static __inline__ __m512i __DEFAULT_FN_ATTRS512
1435static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
15301436_mm512_mask_srlv_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
15311437{
15321438 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
......@@ -1534,7 +1440,7 @@ _mm512_mask_srlv_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
15341440 (__v32hi)__W);
15351441}
15361442
1537static __inline__ __m512i __DEFAULT_FN_ATTRS512
1443static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
15381444_mm512_maskz_srlv_epi16(__mmask32 __U, __m512i __A, __m512i __B)
15391445{
15401446 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
......@@ -1542,13 +1448,13 @@ _mm512_maskz_srlv_epi16(__mmask32 __U, __m512i __A, __m512i __B)
15421448 (__v32hi)_mm512_setzero_si512());
15431449}
15441450
1545static __inline__ __m512i __DEFAULT_FN_ATTRS512
1451static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
15461452_mm512_srav_epi16(__m512i __A, __m512i __B)
15471453{
15481454 return (__m512i)__builtin_ia32_psrav32hi((__v32hi)__A, (__v32hi)__B);
15491455}
15501456
1551static __inline__ __m512i __DEFAULT_FN_ATTRS512
1457static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
15521458_mm512_mask_srav_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
15531459{
15541460 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
......@@ -1556,7 +1462,7 @@ _mm512_mask_srav_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m512i __B)
15561462 (__v32hi)__W);
15571463}
15581464
1559static __inline__ __m512i __DEFAULT_FN_ATTRS512
1465static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
15601466_mm512_maskz_srav_epi16(__mmask32 __U, __m512i __A, __m512i __B)
15611467{
15621468 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
......@@ -1564,100 +1470,89 @@ _mm512_maskz_srav_epi16(__mmask32 __U, __m512i __A, __m512i __B)
15641470 (__v32hi)_mm512_setzero_si512());
15651471}
15661472
1567static __inline__ __m512i __DEFAULT_FN_ATTRS512
1568_mm512_sra_epi16(__m512i __A, __m128i __B)
1569{
1473static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1474_mm512_sra_epi16(__m512i __A, __m128i __B) {
15701475 return (__m512i)__builtin_ia32_psraw512((__v32hi) __A, (__v8hi) __B);
15711476}
15721477
1573static __inline__ __m512i __DEFAULT_FN_ATTRS512
1574_mm512_mask_sra_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m128i __B)
1575{
1478static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1479_mm512_mask_sra_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m128i __B) {
15761480 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
15771481 (__v32hi)_mm512_sra_epi16(__A, __B),
15781482 (__v32hi)__W);
15791483}
15801484
1581static __inline__ __m512i __DEFAULT_FN_ATTRS512
1582_mm512_maskz_sra_epi16(__mmask32 __U, __m512i __A, __m128i __B)
1583{
1485static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1486_mm512_maskz_sra_epi16(__mmask32 __U, __m512i __A, __m128i __B) {
15841487 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
15851488 (__v32hi)_mm512_sra_epi16(__A, __B),
15861489 (__v32hi)_mm512_setzero_si512());
15871490}
15881491
1589static __inline__ __m512i __DEFAULT_FN_ATTRS512
1590_mm512_srai_epi16(__m512i __A, unsigned int __B)
1591{
1492static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1493_mm512_srai_epi16(__m512i __A, unsigned int __B) {
15921494 return (__m512i)__builtin_ia32_psrawi512((__v32hi)__A, (int)__B);
15931495}
15941496
1595static __inline__ __m512i __DEFAULT_FN_ATTRS512
1497static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
15961498_mm512_mask_srai_epi16(__m512i __W, __mmask32 __U, __m512i __A,
1597 unsigned int __B)
1598{
1499 unsigned int __B) {
15991500 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
16001501 (__v32hi)_mm512_srai_epi16(__A, __B),
16011502 (__v32hi)__W);
16021503}
16031504
1604static __inline__ __m512i __DEFAULT_FN_ATTRS512
1605_mm512_maskz_srai_epi16(__mmask32 __U, __m512i __A, unsigned int __B)
1606{
1505static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1506_mm512_maskz_srai_epi16(__mmask32 __U, __m512i __A, unsigned int __B) {
16071507 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
16081508 (__v32hi)_mm512_srai_epi16(__A, __B),
16091509 (__v32hi)_mm512_setzero_si512());
16101510}
16111511
1612static __inline__ __m512i __DEFAULT_FN_ATTRS512
1613_mm512_srl_epi16(__m512i __A, __m128i __B)
1614{
1512static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1513_mm512_srl_epi16(__m512i __A, __m128i __B) {
16151514 return (__m512i)__builtin_ia32_psrlw512((__v32hi) __A, (__v8hi) __B);
16161515}
16171516
1618static __inline__ __m512i __DEFAULT_FN_ATTRS512
1619_mm512_mask_srl_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m128i __B)
1620{
1517static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1518_mm512_mask_srl_epi16(__m512i __W, __mmask32 __U, __m512i __A, __m128i __B) {
16211519 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
16221520 (__v32hi)_mm512_srl_epi16(__A, __B),
16231521 (__v32hi)__W);
16241522}
16251523
1626static __inline__ __m512i __DEFAULT_FN_ATTRS512
1627_mm512_maskz_srl_epi16(__mmask32 __U, __m512i __A, __m128i __B)
1628{
1524static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1525_mm512_maskz_srl_epi16(__mmask32 __U, __m512i __A, __m128i __B) {
16291526 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
16301527 (__v32hi)_mm512_srl_epi16(__A, __B),
16311528 (__v32hi)_mm512_setzero_si512());
16321529}
16331530
1634static __inline__ __m512i __DEFAULT_FN_ATTRS512
1635_mm512_srli_epi16(__m512i __A, unsigned int __B)
1636{
1531static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1532_mm512_srli_epi16(__m512i __A, unsigned int __B) {
16371533 return (__m512i)__builtin_ia32_psrlwi512((__v32hi)__A, (int)__B);
16381534}
16391535
1640static __inline__ __m512i __DEFAULT_FN_ATTRS512
1536static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
16411537_mm512_mask_srli_epi16(__m512i __W, __mmask32 __U, __m512i __A,
1642 unsigned int __B)
1643{
1538 unsigned int __B) {
16441539 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
16451540 (__v32hi)_mm512_srli_epi16(__A, __B),
16461541 (__v32hi)__W);
16471542}
16481543
1649static __inline__ __m512i __DEFAULT_FN_ATTRS512
1650_mm512_maskz_srli_epi16(__mmask32 __U, __m512i __A, int __B)
1651{
1544static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1545_mm512_maskz_srli_epi16(__mmask32 __U, __m512i __A, int __B) {
16521546 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__U,
16531547 (__v32hi)_mm512_srli_epi16(__A, (unsigned int)__B),
16541548 (__v32hi)_mm512_setzero_si512());
16551549}
16561550
1657#define _mm512_bsrli_epi128(a, imm) \
1658 ((__m512i)__builtin_ia32_psrldqi512_byteshift((__v8di)(__m512i)(a), (int)(imm)))
1551#define _mm512_bsrli_epi128(a, imm) \
1552 ((__m512i)__builtin_ia32_psrldqi512_byteshift((__v64qi)(__m512i)(a), \
1553 (int)(imm)))
16591554
1660static __inline__ __m512i __DEFAULT_FN_ATTRS512
1555static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
16611556_mm512_mask_mov_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
16621557{
16631558 return (__m512i) __builtin_ia32_selectw_512 ((__mmask32) __U,
......@@ -1665,23 +1560,21 @@ _mm512_mask_mov_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
16651560 (__v32hi) __W);
16661561}
16671562
1668static __inline__ __m512i __DEFAULT_FN_ATTRS512
1669_mm512_maskz_mov_epi16 (__mmask32 __U, __m512i __A)
1670{
1563static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1564_mm512_maskz_mov_epi16(__mmask32 __U, __m512i __A) {
16711565 return (__m512i) __builtin_ia32_selectw_512 ((__mmask32) __U,
16721566 (__v32hi) __A,
16731567 (__v32hi) _mm512_setzero_si512 ());
16741568}
16751569
1676static __inline__ __m512i __DEFAULT_FN_ATTRS512
1677_mm512_mask_mov_epi8 (__m512i __W, __mmask64 __U, __m512i __A)
1678{
1570static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1571_mm512_mask_mov_epi8(__m512i __W, __mmask64 __U, __m512i __A) {
16791572 return (__m512i) __builtin_ia32_selectb_512 ((__mmask64) __U,
16801573 (__v64qi) __A,
16811574 (__v64qi) __W);
16821575}
16831576
1684static __inline__ __m512i __DEFAULT_FN_ATTRS512
1577static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
16851578_mm512_maskz_mov_epi8 (__mmask64 __U, __m512i __A)
16861579{
16871580 return (__m512i) __builtin_ia32_selectb_512 ((__mmask64) __U,
......@@ -1689,7 +1582,7 @@ _mm512_maskz_mov_epi8 (__mmask64 __U, __m512i __A)
16891582 (__v64qi) _mm512_setzero_si512 ());
16901583}
16911584
1692static __inline__ __m512i __DEFAULT_FN_ATTRS512
1585static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
16931586_mm512_mask_set1_epi8 (__m512i __O, __mmask64 __M, char __A)
16941587{
16951588 return (__m512i) __builtin_ia32_selectb_512(__M,
......@@ -1697,23 +1590,21 @@ _mm512_mask_set1_epi8 (__m512i __O, __mmask64 __M, char __A)
16971590 (__v64qi) __O);
16981591}
16991592
1700static __inline__ __m512i __DEFAULT_FN_ATTRS512
1701_mm512_maskz_set1_epi8 (__mmask64 __M, char __A)
1702{
1593static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1594_mm512_maskz_set1_epi8(__mmask64 __M, char __A) {
17031595 return (__m512i) __builtin_ia32_selectb_512(__M,
17041596 (__v64qi) _mm512_set1_epi8(__A),
17051597 (__v64qi) _mm512_setzero_si512());
17061598}
17071599
1708static __inline__ __mmask64 __DEFAULT_FN_ATTRS _mm512_kunpackd(__mmask64 __A,
1709 __mmask64 __B) {
1600static __inline__ __mmask64 __DEFAULT_FN_ATTRS_CONSTEXPR
1601_mm512_kunpackd(__mmask64 __A, __mmask64 __B) {
17101602 return (__mmask64) __builtin_ia32_kunpckdi ((__mmask64) __A,
17111603 (__mmask64) __B);
17121604}
17131605
1714static __inline__ __mmask32 __DEFAULT_FN_ATTRS
1715_mm512_kunpackw (__mmask32 __A, __mmask32 __B)
1716{
1606static __inline__ __mmask32 __DEFAULT_FN_ATTRS_CONSTEXPR
1607_mm512_kunpackw(__mmask32 __A, __mmask32 __B) {
17171608 return (__mmask32) __builtin_ia32_kunpcksi ((__mmask32) __A,
17181609 (__mmask32) __B);
17191610}
......@@ -1859,33 +1750,28 @@ _mm512_mask_testn_epi16_mask (__mmask32 __U, __m512i __A, __m512i __B)
18591750 _mm512_setzero_si512());
18601751}
18611752
1862static __inline__ __mmask64 __DEFAULT_FN_ATTRS512
1863_mm512_movepi8_mask (__m512i __A)
1864{
1753static __inline__ __mmask64 __DEFAULT_FN_ATTRS512_CONSTEXPR
1754_mm512_movepi8_mask(__m512i __A) {
18651755 return (__mmask64) __builtin_ia32_cvtb2mask512 ((__v64qi) __A);
18661756}
18671757
1868static __inline__ __mmask32 __DEFAULT_FN_ATTRS512
1869_mm512_movepi16_mask (__m512i __A)
1870{
1758static __inline__ __mmask32 __DEFAULT_FN_ATTRS512_CONSTEXPR
1759_mm512_movepi16_mask(__m512i __A) {
18711760 return (__mmask32) __builtin_ia32_cvtw2mask512 ((__v32hi) __A);
18721761}
18731762
1874static __inline__ __m512i __DEFAULT_FN_ATTRS512
1875_mm512_movm_epi8 (__mmask64 __A)
1876{
1763static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1764_mm512_movm_epi8(__mmask64 __A) {
18771765 return (__m512i) __builtin_ia32_cvtmask2b512 (__A);
18781766}
18791767
1880static __inline__ __m512i __DEFAULT_FN_ATTRS512
1881_mm512_movm_epi16 (__mmask32 __A)
1882{
1768static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1769_mm512_movm_epi16(__mmask32 __A) {
18831770 return (__m512i) __builtin_ia32_cvtmask2w512 (__A);
18841771}
18851772
1886static __inline__ __m512i __DEFAULT_FN_ATTRS512
1887_mm512_broadcastb_epi8 (__m128i __A)
1888{
1773static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1774_mm512_broadcastb_epi8(__m128i __A) {
18891775 return (__m512i)__builtin_shufflevector((__v16qi) __A, (__v16qi) __A,
18901776 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
18911777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
......@@ -1893,7 +1779,7 @@ _mm512_broadcastb_epi8 (__m128i __A)
18931779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
18941780}
18951781
1896static __inline__ __m512i __DEFAULT_FN_ATTRS512
1782static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
18971783_mm512_mask_broadcastb_epi8 (__m512i __O, __mmask64 __M, __m128i __A)
18981784{
18991785 return (__m512i)__builtin_ia32_selectb_512(__M,
......@@ -1901,15 +1787,14 @@ _mm512_mask_broadcastb_epi8 (__m512i __O, __mmask64 __M, __m128i __A)
19011787 (__v64qi) __O);
19021788}
19031789
1904static __inline__ __m512i __DEFAULT_FN_ATTRS512
1905_mm512_maskz_broadcastb_epi8 (__mmask64 __M, __m128i __A)
1906{
1790static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1791_mm512_maskz_broadcastb_epi8(__mmask64 __M, __m128i __A) {
19071792 return (__m512i)__builtin_ia32_selectb_512(__M,
19081793 (__v64qi) _mm512_broadcastb_epi8(__A),
19091794 (__v64qi) _mm512_setzero_si512());
19101795}
19111796
1912static __inline__ __m512i __DEFAULT_FN_ATTRS512
1797static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
19131798_mm512_mask_set1_epi16 (__m512i __O, __mmask32 __M, short __A)
19141799{
19151800 return (__m512i) __builtin_ia32_selectw_512(__M,
......@@ -1917,23 +1802,21 @@ _mm512_mask_set1_epi16 (__m512i __O, __mmask32 __M, short __A)
19171802 (__v32hi) __O);
19181803}
19191804
1920static __inline__ __m512i __DEFAULT_FN_ATTRS512
1921_mm512_maskz_set1_epi16 (__mmask32 __M, short __A)
1922{
1805static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1806_mm512_maskz_set1_epi16(__mmask32 __M, short __A) {
19231807 return (__m512i) __builtin_ia32_selectw_512(__M,
19241808 (__v32hi) _mm512_set1_epi16(__A),
19251809 (__v32hi) _mm512_setzero_si512());
19261810}
19271811
1928static __inline__ __m512i __DEFAULT_FN_ATTRS512
1929_mm512_broadcastw_epi16 (__m128i __A)
1930{
1812static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1813_mm512_broadcastw_epi16(__m128i __A) {
19311814 return (__m512i)__builtin_shufflevector((__v8hi) __A, (__v8hi) __A,
19321815 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
19331816 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
19341817}
19351818
1936static __inline__ __m512i __DEFAULT_FN_ATTRS512
1819static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
19371820_mm512_mask_broadcastw_epi16 (__m512i __O, __mmask32 __M, __m128i __A)
19381821{
19391822 return (__m512i)__builtin_ia32_selectw_512(__M,
......@@ -1941,7 +1824,7 @@ _mm512_mask_broadcastw_epi16 (__m512i __O, __mmask32 __M, __m128i __A)
19411824 (__v32hi) __O);
19421825}
19431826
1944static __inline__ __m512i __DEFAULT_FN_ATTRS512
1827static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
19451828_mm512_maskz_broadcastw_epi16 (__mmask32 __M, __m128i __A)
19461829{
19471830 return (__m512i)__builtin_ia32_selectw_512(__M,
......@@ -1949,25 +1832,21 @@ _mm512_maskz_broadcastw_epi16 (__mmask32 __M, __m128i __A)
19491832 (__v32hi) _mm512_setzero_si512());
19501833}
19511834
1952static __inline__ __m512i __DEFAULT_FN_ATTRS512
1953_mm512_permutexvar_epi16 (__m512i __A, __m512i __B)
1954{
1835static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1836_mm512_permutexvar_epi16(__m512i __A, __m512i __B) {
19551837 return (__m512i)__builtin_ia32_permvarhi512((__v32hi)__B, (__v32hi)__A);
19561838}
19571839
1958static __inline__ __m512i __DEFAULT_FN_ATTRS512
1959_mm512_maskz_permutexvar_epi16 (__mmask32 __M, __m512i __A,
1960 __m512i __B)
1961{
1840static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1841_mm512_maskz_permutexvar_epi16(__mmask32 __M, __m512i __A, __m512i __B) {
19621842 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
19631843 (__v32hi)_mm512_permutexvar_epi16(__A, __B),
19641844 (__v32hi)_mm512_setzero_si512());
19651845}
19661846
1967static __inline__ __m512i __DEFAULT_FN_ATTRS512
1968_mm512_mask_permutexvar_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
1969 __m512i __B)
1970{
1847static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1848_mm512_mask_permutexvar_epi16(__m512i __W, __mmask32 __M, __m512i __A,
1849 __m512i __B) {
19711850 return (__m512i)__builtin_ia32_selectw_512((__mmask32)__M,
19721851 (__v32hi)_mm512_permutexvar_epi16(__A, __B),
19731852 (__v32hi)__W);
......@@ -2010,5 +1889,7 @@ _mm512_sad_epu8 (__m512i __A, __m512i __B)
20101889
20111890#undef __DEFAULT_FN_ATTRS512
20121891#undef __DEFAULT_FN_ATTRS
1892#undef __DEFAULT_FN_ATTRS512_CONSTEXPR
1893#undef __DEFAULT_FN_ATTRS_CONSTEXPR
20131894
20141895#endif
lib/include/avx512cdintrin.h+42-55
......@@ -15,109 +15,96 @@
1515#define __AVX512CDINTRIN_H
1616
1717/* Define the default attributes for the functions in this file. */
18#if defined(__cplusplus) && (__cplusplus >= 201103L)
1819#define __DEFAULT_FN_ATTRS \
19 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512cd,evex512"), __min_vector_width__(512)))
20 __attribute__((__always_inline__, __nodebug__, __target__("avx512cd"), \
21 __min_vector_width__(512))) constexpr
22#else
23#define __DEFAULT_FN_ATTRS \
24 __attribute__((__always_inline__, __nodebug__, __target__("avx512cd"), \
25 __min_vector_width__(512)))
26#endif
2127
2228static __inline__ __m512i __DEFAULT_FN_ATTRS
23_mm512_conflict_epi64 (__m512i __A)
24{
25 return (__m512i) __builtin_ia32_vpconflictdi_512 ((__v8di) __A);
29_mm512_conflict_epi64(__m512i __A) {
30 return (__m512i)__builtin_ia32_vpconflictdi_512((__v8di)__A);
2631}
2732
2833static __inline__ __m512i __DEFAULT_FN_ATTRS
29_mm512_mask_conflict_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
30{
31 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
32 (__v8di)_mm512_conflict_epi64(__A),
33 (__v8di)__W);
34_mm512_mask_conflict_epi64(__m512i __W, __mmask8 __U, __m512i __A) {
35 return (__m512i)__builtin_ia32_selectq_512(
36 (__mmask8)__U, (__v8di)_mm512_conflict_epi64(__A), (__v8di)__W);
3437}
3538
3639static __inline__ __m512i __DEFAULT_FN_ATTRS
37_mm512_maskz_conflict_epi64 (__mmask8 __U, __m512i __A)
38{
40_mm512_maskz_conflict_epi64(__mmask8 __U, __m512i __A) {
3941 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
4042 (__v8di)_mm512_conflict_epi64(__A),
41 (__v8di)_mm512_setzero_si512 ());
43 (__v8di)_mm512_setzero_si512());
4244}
4345
4446static __inline__ __m512i __DEFAULT_FN_ATTRS
45_mm512_conflict_epi32 (__m512i __A)
46{
47 return (__m512i) __builtin_ia32_vpconflictsi_512 ((__v16si) __A);
47_mm512_conflict_epi32(__m512i __A) {
48 return (__m512i)__builtin_ia32_vpconflictsi_512((__v16si)__A);
4849}
4950
5051static __inline__ __m512i __DEFAULT_FN_ATTRS
51_mm512_mask_conflict_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
52{
53 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
54 (__v16si)_mm512_conflict_epi32(__A),
55 (__v16si)__W);
52_mm512_mask_conflict_epi32(__m512i __W, __mmask16 __U, __m512i __A) {
53 return (__m512i)__builtin_ia32_selectd_512(
54 (__mmask16)__U, (__v16si)_mm512_conflict_epi32(__A), (__v16si)__W);
5655}
5756
5857static __inline__ __m512i __DEFAULT_FN_ATTRS
59_mm512_maskz_conflict_epi32 (__mmask16 __U, __m512i __A)
60{
61 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
62 (__v16si)_mm512_conflict_epi32(__A),
63 (__v16si)_mm512_setzero_si512());
58_mm512_maskz_conflict_epi32(__mmask16 __U, __m512i __A) {
59 return (__m512i)__builtin_ia32_selectd_512(
60 (__mmask16)__U, (__v16si)_mm512_conflict_epi32(__A),
61 (__v16si)_mm512_setzero_si512());
6462}
6563
66static __inline__ __m512i __DEFAULT_FN_ATTRS
67_mm512_lzcnt_epi32 (__m512i __A)
68{
69 return (__m512i) __builtin_ia32_vplzcntd_512 ((__v16si) __A);
64static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_lzcnt_epi32(__m512i __A) {
65 return (__m512i)__builtin_elementwise_clzg((__v16si)__A,
66 (__v16si)_mm512_set1_epi32(32));
7067}
7168
7269static __inline__ __m512i __DEFAULT_FN_ATTRS
73_mm512_mask_lzcnt_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
74{
75 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
76 (__v16si)_mm512_lzcnt_epi32(__A),
77 (__v16si)__W);
70_mm512_mask_lzcnt_epi32(__m512i __W, __mmask16 __U, __m512i __A) {
71 return (__m512i)__builtin_ia32_selectd_512(
72 (__mmask16)__U, (__v16si)_mm512_lzcnt_epi32(__A), (__v16si)__W);
7873}
7974
8075static __inline__ __m512i __DEFAULT_FN_ATTRS
81_mm512_maskz_lzcnt_epi32 (__mmask16 __U, __m512i __A)
82{
76_mm512_maskz_lzcnt_epi32(__mmask16 __U, __m512i __A) {
8377 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
8478 (__v16si)_mm512_lzcnt_epi32(__A),
8579 (__v16si)_mm512_setzero_si512());
8680}
8781
88static __inline__ __m512i __DEFAULT_FN_ATTRS
89_mm512_lzcnt_epi64 (__m512i __A)
90{
91 return (__m512i) __builtin_ia32_vplzcntq_512 ((__v8di) __A);
82static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_lzcnt_epi64(__m512i __A) {
83 return (__m512i)__builtin_elementwise_clzg(
84 (__v8di)__A, (__v8di)_mm512_set1_epi64((long long)64));
9285}
9386
9487static __inline__ __m512i __DEFAULT_FN_ATTRS
95_mm512_mask_lzcnt_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
96{
97 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
98 (__v8di)_mm512_lzcnt_epi64(__A),
99 (__v8di)__W);
88_mm512_mask_lzcnt_epi64(__m512i __W, __mmask8 __U, __m512i __A) {
89 return (__m512i)__builtin_ia32_selectq_512(
90 (__mmask8)__U, (__v8di)_mm512_lzcnt_epi64(__A), (__v8di)__W);
10091}
10192
10293static __inline__ __m512i __DEFAULT_FN_ATTRS
103_mm512_maskz_lzcnt_epi64 (__mmask8 __U, __m512i __A)
104{
94_mm512_maskz_lzcnt_epi64(__mmask8 __U, __m512i __A) {
10595 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
10696 (__v8di)_mm512_lzcnt_epi64(__A),
10797 (__v8di)_mm512_setzero_si512());
10898}
10999
110100static __inline__ __m512i __DEFAULT_FN_ATTRS
111_mm512_broadcastmb_epi64 (__mmask8 __A)
112{
113 return (__m512i) _mm512_set1_epi64((long long) __A);
101_mm512_broadcastmb_epi64(__mmask8 __A) {
102 return (__m512i)_mm512_set1_epi64((long long)__A);
114103}
115104
116105static __inline__ __m512i __DEFAULT_FN_ATTRS
117_mm512_broadcastmw_epi32 (__mmask16 __A)
118{
119 return (__m512i) _mm512_set1_epi32((int) __A);
120
106_mm512_broadcastmw_epi32(__mmask16 __A) {
107 return (__m512i)_mm512_set1_epi32((int)__A);
121108}
122109
123110#undef __DEFAULT_FN_ATTRS
lib/include/avx512dqintrin.h+132-161
......@@ -15,110 +15,105 @@
1515#define __AVX512DQINTRIN_H
1616
1717/* Define the default attributes for the functions in this file. */
18#define __DEFAULT_FN_ATTRS512 __attribute__((__always_inline__, __nodebug__, __target__("avx512dq,evex512"), __min_vector_width__(512)))
18#define __DEFAULT_FN_ATTRS512 \
19 __attribute__((__always_inline__, __nodebug__, __target__("avx512dq"), \
20 __min_vector_width__(512)))
1921#define __DEFAULT_FN_ATTRS \
20 __attribute__((__always_inline__, __nodebug__, \
21 __target__("avx512dq,no-evex512")))
22 __attribute__((__always_inline__, __nodebug__, __target__("avx512dq")))
23
24#if defined(__cplusplus) && (__cplusplus >= 201103L)
25#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512 constexpr
26#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
27#else
28#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512
29#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
30#endif
2231
23static __inline __mmask8 __DEFAULT_FN_ATTRS
24_knot_mask8(__mmask8 __M)
25{
32static __inline __mmask8 __DEFAULT_FN_ATTRS_CONSTEXPR
33_knot_mask8(__mmask8 __M) {
2634 return __builtin_ia32_knotqi(__M);
2735}
2836
29static __inline__ __mmask8 __DEFAULT_FN_ATTRS
30_kand_mask8(__mmask8 __A, __mmask8 __B)
31{
37static __inline__ __mmask8 __DEFAULT_FN_ATTRS_CONSTEXPR
38_kand_mask8(__mmask8 __A, __mmask8 __B) {
3239 return (__mmask8)__builtin_ia32_kandqi((__mmask8)__A, (__mmask8)__B);
3340}
3441
35static __inline__ __mmask8 __DEFAULT_FN_ATTRS
36_kandn_mask8(__mmask8 __A, __mmask8 __B)
37{
42static __inline__ __mmask8 __DEFAULT_FN_ATTRS_CONSTEXPR
43_kandn_mask8(__mmask8 __A, __mmask8 __B) {
3844 return (__mmask8)__builtin_ia32_kandnqi((__mmask8)__A, (__mmask8)__B);
3945}
4046
41static __inline__ __mmask8 __DEFAULT_FN_ATTRS
42_kor_mask8(__mmask8 __A, __mmask8 __B)
43{
47static __inline__ __mmask8 __DEFAULT_FN_ATTRS_CONSTEXPR
48_kor_mask8(__mmask8 __A, __mmask8 __B) {
4449 return (__mmask8)__builtin_ia32_korqi((__mmask8)__A, (__mmask8)__B);
4550}
4651
47static __inline__ __mmask8 __DEFAULT_FN_ATTRS
48_kxnor_mask8(__mmask8 __A, __mmask8 __B)
49{
52static __inline__ __mmask8 __DEFAULT_FN_ATTRS_CONSTEXPR
53_kxnor_mask8(__mmask8 __A, __mmask8 __B) {
5054 return (__mmask8)__builtin_ia32_kxnorqi((__mmask8)__A, (__mmask8)__B);
5155}
5256
53static __inline__ __mmask8 __DEFAULT_FN_ATTRS
54_kxor_mask8(__mmask8 __A, __mmask8 __B)
55{
57static __inline__ __mmask8 __DEFAULT_FN_ATTRS_CONSTEXPR
58_kxor_mask8(__mmask8 __A, __mmask8 __B) {
5659 return (__mmask8)__builtin_ia32_kxorqi((__mmask8)__A, (__mmask8)__B);
5760}
5861
59static __inline__ unsigned char __DEFAULT_FN_ATTRS
60_kortestc_mask8_u8(__mmask8 __A, __mmask8 __B)
61{
62static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
63_kortestc_mask8_u8(__mmask8 __A, __mmask8 __B) {
6264 return (unsigned char)__builtin_ia32_kortestcqi(__A, __B);
6365}
6466
65static __inline__ unsigned char __DEFAULT_FN_ATTRS
66_kortestz_mask8_u8(__mmask8 __A, __mmask8 __B)
67{
67static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
68_kortestz_mask8_u8(__mmask8 __A, __mmask8 __B) {
6869 return (unsigned char)__builtin_ia32_kortestzqi(__A, __B);
6970}
7071
71static __inline__ unsigned char __DEFAULT_FN_ATTRS
72static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
7273_kortest_mask8_u8(__mmask8 __A, __mmask8 __B, unsigned char *__C) {
7374 *__C = (unsigned char)__builtin_ia32_kortestcqi(__A, __B);
7475 return (unsigned char)__builtin_ia32_kortestzqi(__A, __B);
7576}
7677
77static __inline__ unsigned char __DEFAULT_FN_ATTRS
78_ktestc_mask8_u8(__mmask8 __A, __mmask8 __B)
79{
78static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
79_ktestc_mask8_u8(__mmask8 __A, __mmask8 __B) {
8080 return (unsigned char)__builtin_ia32_ktestcqi(__A, __B);
8181}
8282
83static __inline__ unsigned char __DEFAULT_FN_ATTRS
84_ktestz_mask8_u8(__mmask8 __A, __mmask8 __B)
85{
83static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
84_ktestz_mask8_u8(__mmask8 __A, __mmask8 __B) {
8685 return (unsigned char)__builtin_ia32_ktestzqi(__A, __B);
8786}
8887
89static __inline__ unsigned char __DEFAULT_FN_ATTRS
88static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
9089_ktest_mask8_u8(__mmask8 __A, __mmask8 __B, unsigned char *__C) {
9190 *__C = (unsigned char)__builtin_ia32_ktestcqi(__A, __B);
9291 return (unsigned char)__builtin_ia32_ktestzqi(__A, __B);
9392}
9493
95static __inline__ unsigned char __DEFAULT_FN_ATTRS
96_ktestc_mask16_u8(__mmask16 __A, __mmask16 __B)
97{
94static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
95_ktestc_mask16_u8(__mmask16 __A, __mmask16 __B) {
9896 return (unsigned char)__builtin_ia32_ktestchi(__A, __B);
9997}
10098
101static __inline__ unsigned char __DEFAULT_FN_ATTRS
102_ktestz_mask16_u8(__mmask16 __A, __mmask16 __B)
103{
99static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
100_ktestz_mask16_u8(__mmask16 __A, __mmask16 __B) {
104101 return (unsigned char)__builtin_ia32_ktestzhi(__A, __B);
105102}
106103
107static __inline__ unsigned char __DEFAULT_FN_ATTRS
104static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
108105_ktest_mask16_u8(__mmask16 __A, __mmask16 __B, unsigned char *__C) {
109106 *__C = (unsigned char)__builtin_ia32_ktestchi(__A, __B);
110107 return (unsigned char)__builtin_ia32_ktestzhi(__A, __B);
111108}
112109
113static __inline__ __mmask8 __DEFAULT_FN_ATTRS
114_kadd_mask8(__mmask8 __A, __mmask8 __B)
115{
110static __inline__ __mmask8 __DEFAULT_FN_ATTRS_CONSTEXPR
111_kadd_mask8(__mmask8 __A, __mmask8 __B) {
116112 return (__mmask8)__builtin_ia32_kaddqi((__mmask8)__A, (__mmask8)__B);
117113}
118114
119static __inline__ __mmask16 __DEFAULT_FN_ATTRS
120_kadd_mask16(__mmask16 __A, __mmask16 __B)
121{
115static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
116_kadd_mask16(__mmask16 __A, __mmask16 __B) {
122117 return (__mmask16)__builtin_ia32_kaddhi((__mmask16)__A, (__mmask16)__B);
123118}
124119
......@@ -128,12 +123,12 @@ _kadd_mask16(__mmask16 __A, __mmask16 __B)
128123#define _kshiftri_mask8(A, I) \
129124 ((__mmask8)__builtin_ia32_kshiftriqi((__mmask8)(A), (unsigned int)(I)))
130125
131static __inline__ unsigned int __DEFAULT_FN_ATTRS
132_cvtmask8_u32(__mmask8 __A) {
126static __inline__ unsigned int
127 __DEFAULT_FN_ATTRS_CONSTEXPR _cvtmask8_u32(__mmask8 __A) {
133128 return (unsigned int)__builtin_ia32_kmovb((__mmask8)__A);
134129}
135130
136static __inline__ __mmask8 __DEFAULT_FN_ATTRS
131static __inline__ __mmask8 __DEFAULT_FN_ATTRS_CONSTEXPR
137132_cvtu32_mask8(unsigned int __A) {
138133 return (__mmask8)__builtin_ia32_kmovb((__mmask8)__A);
139134}
......@@ -148,26 +143,26 @@ _store_mask8(__mmask8 *__A, __mmask8 __B) {
148143 *(__mmask8 *)__A = __builtin_ia32_kmovb((__mmask8)__B);
149144}
150145
151static __inline__ __m512i __DEFAULT_FN_ATTRS512
152_mm512_mullo_epi64 (__m512i __A, __m512i __B) {
146static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
147_mm512_mullo_epi64(__m512i __A, __m512i __B) {
153148 return (__m512i) ((__v8du) __A * (__v8du) __B);
154149}
155150
156static __inline__ __m512i __DEFAULT_FN_ATTRS512
151static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
157152_mm512_mask_mullo_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
158153 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
159154 (__v8di)_mm512_mullo_epi64(__A, __B),
160155 (__v8di)__W);
161156}
162157
163static __inline__ __m512i __DEFAULT_FN_ATTRS512
158static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
164159_mm512_maskz_mullo_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
165160 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
166161 (__v8di)_mm512_mullo_epi64(__A, __B),
167162 (__v8di)_mm512_setzero_si512());
168163}
169164
170static __inline__ __m512d __DEFAULT_FN_ATTRS512
165static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
171166_mm512_xor_pd(__m512d __A, __m512d __B) {
172167 return (__m512d)((__v8du)__A ^ (__v8du)__B);
173168}
......@@ -186,7 +181,7 @@ _mm512_maskz_xor_pd(__mmask8 __U, __m512d __A, __m512d __B) {
186181 (__v8df)_mm512_setzero_pd());
187182}
188183
189static __inline__ __m512 __DEFAULT_FN_ATTRS512
184static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
190185_mm512_xor_ps (__m512 __A, __m512 __B) {
191186 return (__m512)((__v16su)__A ^ (__v16su)__B);
192187}
......@@ -205,7 +200,7 @@ _mm512_maskz_xor_ps(__mmask16 __U, __m512 __A, __m512 __B) {
205200 (__v16sf)_mm512_setzero_ps());
206201}
207202
208static __inline__ __m512d __DEFAULT_FN_ATTRS512
203static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
209204_mm512_or_pd(__m512d __A, __m512d __B) {
210205 return (__m512d)((__v8du)__A | (__v8du)__B);
211206}
......@@ -224,7 +219,7 @@ _mm512_maskz_or_pd(__mmask8 __U, __m512d __A, __m512d __B) {
224219 (__v8df)_mm512_setzero_pd());
225220}
226221
227static __inline__ __m512 __DEFAULT_FN_ATTRS512
222static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
228223_mm512_or_ps(__m512 __A, __m512 __B) {
229224 return (__m512)((__v16su)__A | (__v16su)__B);
230225}
......@@ -243,7 +238,7 @@ _mm512_maskz_or_ps(__mmask16 __U, __m512 __A, __m512 __B) {
243238 (__v16sf)_mm512_setzero_ps());
244239}
245240
246static __inline__ __m512d __DEFAULT_FN_ATTRS512
241static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
247242_mm512_and_pd(__m512d __A, __m512d __B) {
248243 return (__m512d)((__v8du)__A & (__v8du)__B);
249244}
......@@ -262,7 +257,7 @@ _mm512_maskz_and_pd(__mmask8 __U, __m512d __A, __m512d __B) {
262257 (__v8df)_mm512_setzero_pd());
263258}
264259
265static __inline__ __m512 __DEFAULT_FN_ATTRS512
260static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
266261_mm512_and_ps(__m512 __A, __m512 __B) {
267262 return (__m512)((__v16su)__A & (__v16su)__B);
268263}
......@@ -281,7 +276,7 @@ _mm512_maskz_and_ps(__mmask16 __U, __m512 __A, __m512 __B) {
281276 (__v16sf)_mm512_setzero_ps());
282277}
283278
284static __inline__ __m512d __DEFAULT_FN_ATTRS512
279static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
285280_mm512_andnot_pd(__m512d __A, __m512d __B) {
286281 return (__m512d)(~(__v8du)__A & (__v8du)__B);
287282}
......@@ -300,7 +295,7 @@ _mm512_maskz_andnot_pd(__mmask8 __U, __m512d __A, __m512d __B) {
300295 (__v8df)_mm512_setzero_pd());
301296}
302297
303static __inline__ __m512 __DEFAULT_FN_ATTRS512
298static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
304299_mm512_andnot_ps(__m512 __A, __m512 __B) {
305300 return (__m512)(~(__v16su)__A & (__v16su)__B);
306301}
......@@ -475,21 +470,20 @@ _mm512_maskz_cvtps_epu64 (__mmask8 __U, __m256 __A) {
475470 (__v8di)_mm512_setzero_si512(), \
476471 (__mmask8)(U), (int)(R)))
477472
478
479static __inline__ __m512d __DEFAULT_FN_ATTRS512
480_mm512_cvtepi64_pd (__m512i __A) {
473static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
474_mm512_cvtepi64_pd(__m512i __A) {
481475 return (__m512d)__builtin_convertvector((__v8di)__A, __v8df);
482476}
483477
484static __inline__ __m512d __DEFAULT_FN_ATTRS512
485_mm512_mask_cvtepi64_pd (__m512d __W, __mmask8 __U, __m512i __A) {
478static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
479_mm512_mask_cvtepi64_pd(__m512d __W, __mmask8 __U, __m512i __A) {
486480 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
487481 (__v8df)_mm512_cvtepi64_pd(__A),
488482 (__v8df)__W);
489483}
490484
491static __inline__ __m512d __DEFAULT_FN_ATTRS512
492_mm512_maskz_cvtepi64_pd (__mmask8 __U, __m512i __A) {
485static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
486_mm512_maskz_cvtepi64_pd(__mmask8 __U, __m512i __A) {
493487 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
494488 (__v8df)_mm512_cvtepi64_pd(__A),
495489 (__v8df)_mm512_setzero_pd());
......@@ -706,20 +700,20 @@ _mm512_maskz_cvttps_epu64 (__mmask8 __U, __m256 __A) {
706700 (__v8di)_mm512_setzero_si512(), \
707701 (__mmask8)(U), (int)(R)))
708702
709static __inline__ __m512d __DEFAULT_FN_ATTRS512
710_mm512_cvtepu64_pd (__m512i __A) {
703static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
704_mm512_cvtepu64_pd(__m512i __A) {
711705 return (__m512d)__builtin_convertvector((__v8du)__A, __v8df);
712706}
713707
714static __inline__ __m512d __DEFAULT_FN_ATTRS512
715_mm512_mask_cvtepu64_pd (__m512d __W, __mmask8 __U, __m512i __A) {
708static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
709_mm512_mask_cvtepu64_pd(__m512d __W, __mmask8 __U, __m512i __A) {
716710 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
717711 (__v8df)_mm512_cvtepu64_pd(__A),
718712 (__v8df)__W);
719713}
720714
721static __inline__ __m512d __DEFAULT_FN_ATTRS512
722_mm512_maskz_cvtepu64_pd (__mmask8 __U, __m512i __A) {
715static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
716_mm512_maskz_cvtepu64_pd(__mmask8 __U, __m512i __A) {
723717 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
724718 (__v8df)_mm512_cvtepu64_pd(__A),
725719 (__v8df)_mm512_setzero_pd());
......@@ -1052,177 +1046,154 @@ _mm512_maskz_cvtepu64_ps (__mmask8 __U, __m512i __A) {
10521046 (__v2df)_mm_setzero_pd(), \
10531047 (__mmask8)(U), (int)(C), (int)(R)))
10541048
1055static __inline__ __mmask16 __DEFAULT_FN_ATTRS512
1056_mm512_movepi32_mask (__m512i __A)
1057{
1049static __inline__ __mmask16
1050 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_movepi32_mask(__m512i __A) {
10581051 return (__mmask16) __builtin_ia32_cvtd2mask512 ((__v16si) __A);
10591052}
10601053
1061static __inline__ __m512i __DEFAULT_FN_ATTRS512
1062_mm512_movm_epi32 (__mmask16 __A)
1063{
1054static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1055_mm512_movm_epi32(__mmask16 __A) {
10641056 return (__m512i) __builtin_ia32_cvtmask2d512 (__A);
10651057}
10661058
1067static __inline__ __m512i __DEFAULT_FN_ATTRS512
1068_mm512_movm_epi64 (__mmask8 __A)
1069{
1059static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1060_mm512_movm_epi64(__mmask8 __A) {
10701061 return (__m512i) __builtin_ia32_cvtmask2q512 (__A);
10711062}
10721063
1073static __inline__ __mmask8 __DEFAULT_FN_ATTRS512
1074_mm512_movepi64_mask (__m512i __A)
1075{
1064static __inline__ __mmask8 __DEFAULT_FN_ATTRS512_CONSTEXPR
1065_mm512_movepi64_mask(__m512i __A) {
10761066 return (__mmask8) __builtin_ia32_cvtq2mask512 ((__v8di) __A);
10771067}
10781068
1079
1080static __inline__ __m512 __DEFAULT_FN_ATTRS512
1081_mm512_broadcast_f32x2 (__m128 __A)
1082{
1069static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1070_mm512_broadcast_f32x2(__m128 __A) {
10831071 return (__m512)__builtin_shufflevector((__v4sf)__A, (__v4sf)__A,
10841072 0, 1, 0, 1, 0, 1, 0, 1,
10851073 0, 1, 0, 1, 0, 1, 0, 1);
10861074}
10871075
1088static __inline__ __m512 __DEFAULT_FN_ATTRS512
1089_mm512_mask_broadcast_f32x2 (__m512 __O, __mmask16 __M, __m128 __A)
1090{
1076static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1077_mm512_mask_broadcast_f32x2(__m512 __O, __mmask16 __M, __m128 __A) {
10911078 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
10921079 (__v16sf)_mm512_broadcast_f32x2(__A),
10931080 (__v16sf)__O);
10941081}
10951082
1096static __inline__ __m512 __DEFAULT_FN_ATTRS512
1097_mm512_maskz_broadcast_f32x2 (__mmask16 __M, __m128 __A)
1098{
1083static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1084_mm512_maskz_broadcast_f32x2(__mmask16 __M, __m128 __A) {
10991085 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
11001086 (__v16sf)_mm512_broadcast_f32x2(__A),
11011087 (__v16sf)_mm512_setzero_ps());
11021088}
11031089
1104static __inline__ __m512 __DEFAULT_FN_ATTRS512
1105_mm512_broadcast_f32x8(__m256 __A)
1106{
1090static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1091_mm512_broadcast_f32x8(__m256 __A) {
11071092 return (__m512)__builtin_shufflevector((__v8sf)__A, (__v8sf)__A,
11081093 0, 1, 2, 3, 4, 5, 6, 7,
11091094 0, 1, 2, 3, 4, 5, 6, 7);
11101095}
11111096
1112static __inline__ __m512 __DEFAULT_FN_ATTRS512
1113_mm512_mask_broadcast_f32x8(__m512 __O, __mmask16 __M, __m256 __A)
1114{
1097static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1098_mm512_mask_broadcast_f32x8(__m512 __O, __mmask16 __M, __m256 __A) {
11151099 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
11161100 (__v16sf)_mm512_broadcast_f32x8(__A),
11171101 (__v16sf)__O);
11181102}
11191103
1120static __inline__ __m512 __DEFAULT_FN_ATTRS512
1121_mm512_maskz_broadcast_f32x8(__mmask16 __M, __m256 __A)
1122{
1104static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1105_mm512_maskz_broadcast_f32x8(__mmask16 __M, __m256 __A) {
11231106 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
11241107 (__v16sf)_mm512_broadcast_f32x8(__A),
11251108 (__v16sf)_mm512_setzero_ps());
11261109}
11271110
1128static __inline__ __m512d __DEFAULT_FN_ATTRS512
1129_mm512_broadcast_f64x2(__m128d __A)
1130{
1111static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1112_mm512_broadcast_f64x2(__m128d __A) {
11311113 return (__m512d)__builtin_shufflevector((__v2df)__A, (__v2df)__A,
11321114 0, 1, 0, 1, 0, 1, 0, 1);
11331115}
11341116
1135static __inline__ __m512d __DEFAULT_FN_ATTRS512
1136_mm512_mask_broadcast_f64x2(__m512d __O, __mmask8 __M, __m128d __A)
1137{
1117static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1118_mm512_mask_broadcast_f64x2(__m512d __O, __mmask8 __M, __m128d __A) {
11381119 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__M,
11391120 (__v8df)_mm512_broadcast_f64x2(__A),
11401121 (__v8df)__O);
11411122}
11421123
1143static __inline__ __m512d __DEFAULT_FN_ATTRS512
1144_mm512_maskz_broadcast_f64x2(__mmask8 __M, __m128d __A)
1145{
1124static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1125_mm512_maskz_broadcast_f64x2(__mmask8 __M, __m128d __A) {
11461126 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__M,
11471127 (__v8df)_mm512_broadcast_f64x2(__A),
11481128 (__v8df)_mm512_setzero_pd());
11491129}
11501130
1151static __inline__ __m512i __DEFAULT_FN_ATTRS512
1152_mm512_broadcast_i32x2 (__m128i __A)
1153{
1131static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1132_mm512_broadcast_i32x2(__m128i __A) {
11541133 return (__m512i)__builtin_shufflevector((__v4si)__A, (__v4si)__A,
11551134 0, 1, 0, 1, 0, 1, 0, 1,
11561135 0, 1, 0, 1, 0, 1, 0, 1);
11571136}
11581137
1159static __inline__ __m512i __DEFAULT_FN_ATTRS512
1160_mm512_mask_broadcast_i32x2 (__m512i __O, __mmask16 __M, __m128i __A)
1161{
1138static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1139_mm512_mask_broadcast_i32x2(__m512i __O, __mmask16 __M, __m128i __A) {
11621140 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
11631141 (__v16si)_mm512_broadcast_i32x2(__A),
11641142 (__v16si)__O);
11651143}
11661144
1167static __inline__ __m512i __DEFAULT_FN_ATTRS512
1168_mm512_maskz_broadcast_i32x2 (__mmask16 __M, __m128i __A)
1169{
1145static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1146_mm512_maskz_broadcast_i32x2(__mmask16 __M, __m128i __A) {
11701147 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
11711148 (__v16si)_mm512_broadcast_i32x2(__A),
11721149 (__v16si)_mm512_setzero_si512());
11731150}
11741151
1175static __inline__ __m512i __DEFAULT_FN_ATTRS512
1176_mm512_broadcast_i32x8(__m256i __A)
1177{
1152static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1153_mm512_broadcast_i32x8(__m256i __A) {
11781154 return (__m512i)__builtin_shufflevector((__v8si)__A, (__v8si)__A,
11791155 0, 1, 2, 3, 4, 5, 6, 7,
11801156 0, 1, 2, 3, 4, 5, 6, 7);
11811157}
11821158
1183static __inline__ __m512i __DEFAULT_FN_ATTRS512
1184_mm512_mask_broadcast_i32x8(__m512i __O, __mmask16 __M, __m256i __A)
1185{
1159static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1160_mm512_mask_broadcast_i32x8(__m512i __O, __mmask16 __M, __m256i __A) {
11861161 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
11871162 (__v16si)_mm512_broadcast_i32x8(__A),
11881163 (__v16si)__O);
11891164}
11901165
1191static __inline__ __m512i __DEFAULT_FN_ATTRS512
1192_mm512_maskz_broadcast_i32x8(__mmask16 __M, __m256i __A)
1193{
1166static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1167_mm512_maskz_broadcast_i32x8(__mmask16 __M, __m256i __A) {
11941168 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
11951169 (__v16si)_mm512_broadcast_i32x8(__A),
11961170 (__v16si)_mm512_setzero_si512());
11971171}
11981172
1199static __inline__ __m512i __DEFAULT_FN_ATTRS512
1200_mm512_broadcast_i64x2(__m128i __A)
1201{
1173static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1174_mm512_broadcast_i64x2(__m128i __A) {
12021175 return (__m512i)__builtin_shufflevector((__v2di)__A, (__v2di)__A,
12031176 0, 1, 0, 1, 0, 1, 0, 1);
12041177}
12051178
1206static __inline__ __m512i __DEFAULT_FN_ATTRS512
1207_mm512_mask_broadcast_i64x2(__m512i __O, __mmask8 __M, __m128i __A)
1208{
1179static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1180_mm512_mask_broadcast_i64x2(__m512i __O, __mmask8 __M, __m128i __A) {
12091181 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
12101182 (__v8di)_mm512_broadcast_i64x2(__A),
12111183 (__v8di)__O);
12121184}
12131185
1214static __inline__ __m512i __DEFAULT_FN_ATTRS512
1215_mm512_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A)
1216{
1186static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1187_mm512_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A) {
12171188 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
12181189 (__v8di)_mm512_broadcast_i64x2(__A),
12191190 (__v8di)_mm512_setzero_si512());
12201191}
12211192
1222#define _mm512_extractf32x8_ps(A, imm) \
1223 ((__m256)__builtin_ia32_extractf32x8_mask((__v16sf)(__m512)(A), (int)(imm), \
1224 (__v8sf)_mm256_undefined_ps(), \
1225 (__mmask8)-1))
1193#define _mm512_extractf32x8_ps(A, imm) \
1194 ((__m256)__builtin_ia32_extractf32x8_mask((__v16sf)(__m512)(A), (int)(imm), \
1195 (__v8sf)_mm256_setzero_ps(), \
1196 (__mmask8) - 1))
12261197
12271198#define _mm512_mask_extractf32x8_ps(W, U, A, imm) \
12281199 ((__m256)__builtin_ia32_extractf32x8_mask((__v16sf)(__m512)(A), (int)(imm), \
......@@ -1234,11 +1205,10 @@ _mm512_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A)
12341205 (__v8sf)_mm256_setzero_ps(), \
12351206 (__mmask8)(U)))
12361207
1237#define _mm512_extractf64x2_pd(A, imm) \
1238 ((__m128d)__builtin_ia32_extractf64x2_512_mask((__v8df)(__m512d)(A), \
1239 (int)(imm), \
1240 (__v2df)_mm_undefined_pd(), \
1241 (__mmask8)-1))
1208#define _mm512_extractf64x2_pd(A, imm) \
1209 ((__m128d)__builtin_ia32_extractf64x2_512_mask( \
1210 (__v8df)(__m512d)(A), (int)(imm), (__v2df)_mm_setzero_pd(), \
1211 (__mmask8) - 1))
12421212
12431213#define _mm512_mask_extractf64x2_pd(W, U, A, imm) \
12441214 ((__m128d)__builtin_ia32_extractf64x2_512_mask((__v8df)(__m512d)(A), \
......@@ -1252,10 +1222,10 @@ _mm512_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A)
12521222 (__v2df)_mm_setzero_pd(), \
12531223 (__mmask8)(U)))
12541224
1255#define _mm512_extracti32x8_epi32(A, imm) \
1256 ((__m256i)__builtin_ia32_extracti32x8_mask((__v16si)(__m512i)(A), (int)(imm), \
1257 (__v8si)_mm256_undefined_si256(), \
1258 (__mmask8)-1))
1225#define _mm512_extracti32x8_epi32(A, imm) \
1226 ((__m256i)__builtin_ia32_extracti32x8_mask( \
1227 (__v16si)(__m512i)(A), (int)(imm), (__v8si)_mm256_setzero_si256(), \
1228 (__mmask8) - 1))
12591229
12601230#define _mm512_mask_extracti32x8_epi32(W, U, A, imm) \
12611231 ((__m256i)__builtin_ia32_extracti32x8_mask((__v16si)(__m512i)(A), (int)(imm), \
......@@ -1267,11 +1237,10 @@ _mm512_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A)
12671237 (__v8si)_mm256_setzero_si256(), \
12681238 (__mmask8)(U)))
12691239
1270#define _mm512_extracti64x2_epi64(A, imm) \
1271 ((__m128i)__builtin_ia32_extracti64x2_512_mask((__v8di)(__m512i)(A), \
1272 (int)(imm), \
1273 (__v2di)_mm_undefined_si128(), \
1274 (__mmask8)-1))
1240#define _mm512_extracti64x2_epi64(A, imm) \
1241 ((__m128i)__builtin_ia32_extracti64x2_512_mask( \
1242 (__v8di)(__m512i)(A), (int)(imm), (__v2di)_mm_setzero_si128(), \
1243 (__mmask8) - 1))
12751244
12761245#define _mm512_mask_extracti64x2_epi64(W, U, A, imm) \
12771246 ((__m128i)__builtin_ia32_extracti64x2_512_mask((__v8di)(__m512i)(A), \
......@@ -1375,5 +1344,7 @@ _mm512_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A)
13751344
13761345#undef __DEFAULT_FN_ATTRS512
13771346#undef __DEFAULT_FN_ATTRS
1347#undef __DEFAULT_FN_ATTRS512_CONSTEXPR
1348#undef __DEFAULT_FN_ATTRS_CONSTEXPR
13781349
13791350#endif
lib/include/avx512fintrin.h+1015-1424
......@@ -167,22 +167,23 @@ typedef enum
167167} _MM_MANTISSA_SIGN_ENUM;
168168
169169/* Define the default attributes for the functions in this file. */
170#define __DEFAULT_FN_ATTRS512 __attribute__((__always_inline__, __nodebug__, __target__("avx512f,evex512"), __min_vector_width__(512)))
170#define __DEFAULT_FN_ATTRS512 \
171 __attribute__((__always_inline__, __nodebug__, __target__("avx512f"), \
172 __min_vector_width__(512)))
171173#define __DEFAULT_FN_ATTRS128 \
172 __attribute__((__always_inline__, __nodebug__, \
173 __target__("avx512f,no-evex512"), __min_vector_width__(128)))
174 __attribute__((__always_inline__, __nodebug__, __target__("avx512f"), \
175 __min_vector_width__(128)))
174176#define __DEFAULT_FN_ATTRS \
175 __attribute__((__always_inline__, __nodebug__, \
176 __target__("avx512f,no-evex512")))
177 __attribute__((__always_inline__, __nodebug__, __target__("avx512f")))
177178
178179#if defined(__cplusplus) && (__cplusplus >= 201103L)
179180#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
180181#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512 constexpr
181182#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
182183#else
183#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS128
184#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
184185#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512
185#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS
186#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
186187#endif
187188
188189/* Create vectors with repeated elements */
......@@ -206,9 +207,7 @@ _mm512_undefined(void)
206207 return (__m512)__builtin_ia32_undef512();
207208}
208209
209static __inline__ __m512 __DEFAULT_FN_ATTRS512
210_mm512_undefined_ps(void)
211{
210static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_undefined_ps(void) {
212211 return (__m512)__builtin_ia32_undef512();
213212}
214213
......@@ -218,48 +217,40 @@ _mm512_undefined_epi32(void)
218217 return (__m512i)__builtin_ia32_undef512();
219218}
220219
221static __inline__ __m512i __DEFAULT_FN_ATTRS512
222_mm512_broadcastd_epi32 (__m128i __A)
223{
220static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
221_mm512_broadcastd_epi32(__m128i __A) {
224222 return (__m512i)__builtin_shufflevector((__v4si) __A, (__v4si) __A,
225223 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
226224}
227225
228static __inline__ __m512i __DEFAULT_FN_ATTRS512
229_mm512_mask_broadcastd_epi32 (__m512i __O, __mmask16 __M, __m128i __A)
230{
226static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
227_mm512_mask_broadcastd_epi32(__m512i __O, __mmask16 __M, __m128i __A) {
231228 return (__m512i)__builtin_ia32_selectd_512(__M,
232229 (__v16si) _mm512_broadcastd_epi32(__A),
233230 (__v16si) __O);
234231}
235232
236static __inline__ __m512i __DEFAULT_FN_ATTRS512
237_mm512_maskz_broadcastd_epi32 (__mmask16 __M, __m128i __A)
238{
233static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
234_mm512_maskz_broadcastd_epi32(__mmask16 __M, __m128i __A) {
239235 return (__m512i)__builtin_ia32_selectd_512(__M,
240236 (__v16si) _mm512_broadcastd_epi32(__A),
241237 (__v16si) _mm512_setzero_si512());
242238}
243239
244static __inline__ __m512i __DEFAULT_FN_ATTRS512
245_mm512_broadcastq_epi64 (__m128i __A)
246{
240static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
241_mm512_broadcastq_epi64(__m128i __A) {
247242 return (__m512i)__builtin_shufflevector((__v2di) __A, (__v2di) __A,
248243 0, 0, 0, 0, 0, 0, 0, 0);
249244}
250245
251static __inline__ __m512i __DEFAULT_FN_ATTRS512
252_mm512_mask_broadcastq_epi64 (__m512i __O, __mmask8 __M, __m128i __A)
253{
254 return (__m512i)__builtin_ia32_selectq_512(__M,
255 (__v8di) _mm512_broadcastq_epi64(__A),
256 (__v8di) __O);
257
246static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
247_mm512_mask_broadcastq_epi64(__m512i __O, __mmask8 __M, __m128i __A) {
248 return (__m512i)__builtin_ia32_selectq_512(
249 __M, (__v8di)_mm512_broadcastq_epi64(__A), (__v8di)__O);
258250}
259251
260static __inline__ __m512i __DEFAULT_FN_ATTRS512
261_mm512_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
262{
252static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
253_mm512_maskz_broadcastq_epi64(__mmask8 __M, __m128i __A) {
263254 return (__m512i)__builtin_ia32_selectq_512(__M,
264255 (__v8di) _mm512_broadcastq_epi64(__A),
265256 (__v8di) _mm512_setzero_si512());
......@@ -277,20 +268,20 @@ _mm512_setzero_pd(void) {
277268 return __extension__(__m512d){0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
278269}
279270
280static __inline __m512 __DEFAULT_FN_ATTRS512
271static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
281272_mm512_set1_ps(float __w)
282273{
283274 return __extension__ (__m512){ __w, __w, __w, __w, __w, __w, __w, __w,
284275 __w, __w, __w, __w, __w, __w, __w, __w };
285276}
286277
287static __inline __m512d __DEFAULT_FN_ATTRS512
278static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
288279_mm512_set1_pd(double __w)
289280{
290281 return __extension__ (__m512d){ __w, __w, __w, __w, __w, __w, __w, __w };
291282}
292283
293static __inline __m512i __DEFAULT_FN_ATTRS512
284static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
294285_mm512_set1_epi8(char __w)
295286{
296287 return __extension__ (__m512i)(__v64qi){
......@@ -304,7 +295,7 @@ _mm512_set1_epi8(char __w)
304295 __w, __w, __w, __w, __w, __w, __w, __w };
305296}
306297
307static __inline __m512i __DEFAULT_FN_ATTRS512
298static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
308299_mm512_set1_epi16(short __w)
309300{
310301 return __extension__ (__m512i)(__v32hi){
......@@ -314,7 +305,7 @@ _mm512_set1_epi16(short __w)
314305 __w, __w, __w, __w, __w, __w, __w, __w };
315306}
316307
317static __inline __m512i __DEFAULT_FN_ATTRS512
308static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
318309_mm512_set1_epi32(int __s)
319310{
320311 return __extension__ (__m512i)(__v16si){
......@@ -322,81 +313,80 @@ _mm512_set1_epi32(int __s)
322313 __s, __s, __s, __s, __s, __s, __s, __s };
323314}
324315
325static __inline __m512i __DEFAULT_FN_ATTRS512
326_mm512_maskz_set1_epi32(__mmask16 __M, int __A)
327{
316static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
317_mm512_maskz_set1_epi32(__mmask16 __M, int __A) {
328318 return (__m512i)__builtin_ia32_selectd_512(__M,
329319 (__v16si)_mm512_set1_epi32(__A),
330320 (__v16si)_mm512_setzero_si512());
331321}
332322
333static __inline __m512i __DEFAULT_FN_ATTRS512
323static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
334324_mm512_set1_epi64(long long __d)
335325{
336326 return __extension__(__m512i)(__v8di){ __d, __d, __d, __d, __d, __d, __d, __d };
337327}
338328
339static __inline __m512i __DEFAULT_FN_ATTRS512
340_mm512_maskz_set1_epi64(__mmask8 __M, long long __A)
341{
329static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
330_mm512_maskz_set1_epi64(__mmask8 __M, long long __A) {
342331 return (__m512i)__builtin_ia32_selectq_512(__M,
343332 (__v8di)_mm512_set1_epi64(__A),
344333 (__v8di)_mm512_setzero_si512());
345334}
346335
347static __inline__ __m512 __DEFAULT_FN_ATTRS512
348_mm512_broadcastss_ps(__m128 __A)
349{
336static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
337_mm512_broadcastss_ps(__m128 __A) {
350338 return (__m512)__builtin_shufflevector((__v4sf) __A, (__v4sf) __A,
351339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
352340}
353341
354static __inline __m512i __DEFAULT_FN_ATTRS512
355_mm512_set4_epi32 (int __A, int __B, int __C, int __D)
356{
342static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
343_mm512_set4_epi32(int __A, int __B, int __C, int __D) {
357344 return __extension__ (__m512i)(__v16si)
358345 { __D, __C, __B, __A, __D, __C, __B, __A,
359346 __D, __C, __B, __A, __D, __C, __B, __A };
360347}
361348
362static __inline __m512i __DEFAULT_FN_ATTRS512
363_mm512_set4_epi64 (long long __A, long long __B, long long __C,
364 long long __D)
365{
349static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
350_mm512_set4_epi64(long long __A, long long __B, long long __C, long long __D) {
366351 return __extension__ (__m512i) (__v8di)
367352 { __D, __C, __B, __A, __D, __C, __B, __A };
368353}
369354
370static __inline __m512d __DEFAULT_FN_ATTRS512
371_mm512_set4_pd (double __A, double __B, double __C, double __D)
372{
355static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
356_mm512_set4_pd(double __A, double __B, double __C, double __D) {
373357 return __extension__ (__m512d)
374358 { __D, __C, __B, __A, __D, __C, __B, __A };
375359}
376360
377static __inline __m512 __DEFAULT_FN_ATTRS512
378_mm512_set4_ps (float __A, float __B, float __C, float __D)
379{
361static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
362_mm512_set4_ps(float __A, float __B, float __C, float __D) {
380363 return __extension__ (__m512)
381364 { __D, __C, __B, __A, __D, __C, __B, __A,
382365 __D, __C, __B, __A, __D, __C, __B, __A };
383366}
384367
385#define _mm512_setr4_epi32(e0,e1,e2,e3) \
386 _mm512_set4_epi32((e3),(e2),(e1),(e0))
368static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
369_mm512_setr4_epi32(int e0, int e1, int e2, int e3) {
370 return _mm512_set4_epi32(e3, e2, e1, e0);
371}
387372
388#define _mm512_setr4_epi64(e0,e1,e2,e3) \
389 _mm512_set4_epi64((e3),(e2),(e1),(e0))
373static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
374_mm512_setr4_epi64(long long e0, long long e1, long long e2, long long e3) {
375 return _mm512_set4_epi64(e3, e2, e1, e0);
376}
390377
391#define _mm512_setr4_pd(e0,e1,e2,e3) \
392 _mm512_set4_pd((e3),(e2),(e1),(e0))
378static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
379_mm512_setr4_pd(double e0, double e1, double e2, double e3) {
380 return _mm512_set4_pd(e3, e2, e1, e0);
381}
393382
394#define _mm512_setr4_ps(e0,e1,e2,e3) \
395 _mm512_set4_ps((e3),(e2),(e1),(e0))
383static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
384_mm512_setr4_ps(float e0, float e1, float e2, float e3) {
385 return _mm512_set4_ps(e3, e2, e1, e0);
386}
396387
397static __inline__ __m512d __DEFAULT_FN_ATTRS512
398_mm512_broadcastsd_pd(__m128d __A)
399{
388static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
389_mm512_broadcastsd_pd(__m128d __A) {
400390 return (__m512d)__builtin_shufflevector((__v2df) __A, (__v2df) __A,
401391 0, 0, 0, 0, 0, 0, 0, 0);
402392}
......@@ -417,37 +407,36 @@ _mm512_castps256_ps512(__m256 __a)
417407 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
418408}
419409
420static __inline __m128d __DEFAULT_FN_ATTRS512
410static __inline __m128d __DEFAULT_FN_ATTRS512_CONSTEXPR
421411_mm512_castpd512_pd128(__m512d __a)
422412{
423413 return __builtin_shufflevector(__a, __a, 0, 1);
424414}
425415
426static __inline __m256d __DEFAULT_FN_ATTRS512
416static __inline __m256d __DEFAULT_FN_ATTRS512_CONSTEXPR
427417_mm512_castpd512_pd256 (__m512d __A)
428418{
429419 return __builtin_shufflevector(__A, __A, 0, 1, 2, 3);
430420}
431421
432static __inline __m128 __DEFAULT_FN_ATTRS512
422static __inline __m128 __DEFAULT_FN_ATTRS512_CONSTEXPR
433423_mm512_castps512_ps128(__m512 __a)
434424{
435425 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3);
436426}
437427
438static __inline __m256 __DEFAULT_FN_ATTRS512
439_mm512_castps512_ps256 (__m512 __A)
440{
428static __inline __m256 __DEFAULT_FN_ATTRS512_CONSTEXPR
429_mm512_castps512_ps256(__m512 __A) {
441430 return __builtin_shufflevector(__A, __A, 0, 1, 2, 3, 4, 5, 6, 7);
442431}
443432
444static __inline __m512 __DEFAULT_FN_ATTRS512
433static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
445434_mm512_castpd_ps (__m512d __A)
446435{
447436 return (__m512) (__A);
448437}
449438
450static __inline __m512i __DEFAULT_FN_ATTRS512
439static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
451440_mm512_castpd_si512 (__m512d __A)
452441{
453442 return (__m512i) (__A);
......@@ -462,13 +451,13 @@ _mm512_castpd128_pd512 (__m128d __A)
462451 __B, 0, 1, 2, 3, 4, 5, 6, 7);
463452}
464453
465static __inline __m512d __DEFAULT_FN_ATTRS512
454static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
466455_mm512_castps_pd (__m512 __A)
467456{
468457 return (__m512d) (__A);
469458}
470459
471static __inline __m512i __DEFAULT_FN_ATTRS512
460static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
472461_mm512_castps_si512 (__m512 __A)
473462{
474463 return (__m512i) (__A);
......@@ -498,39 +487,36 @@ _mm512_castsi256_si512 (__m256i __A)
498487 return __builtin_shufflevector( __A, __builtin_nondeterministic_value(__A), 0, 1, 2, 3, 4, 5, 6, 7);
499488}
500489
501static __inline __m512 __DEFAULT_FN_ATTRS512
490static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
502491_mm512_castsi512_ps (__m512i __A)
503492{
504493 return (__m512) (__A);
505494}
506495
507static __inline __m512d __DEFAULT_FN_ATTRS512
496static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
508497_mm512_castsi512_pd (__m512i __A)
509498{
510499 return (__m512d) (__A);
511500}
512501
513static __inline __m128i __DEFAULT_FN_ATTRS512
502static __inline __m128i __DEFAULT_FN_ATTRS512_CONSTEXPR
514503_mm512_castsi512_si128 (__m512i __A)
515504{
516505 return (__m128i)__builtin_shufflevector(__A, __A , 0, 1);
517506}
518507
519static __inline __m256i __DEFAULT_FN_ATTRS512
520_mm512_castsi512_si256 (__m512i __A)
521{
508static __inline __m256i __DEFAULT_FN_ATTRS512_CONSTEXPR
509_mm512_castsi512_si256(__m512i __A) {
522510 return (__m256i)__builtin_shufflevector(__A, __A , 0, 1, 2, 3);
523511}
524512
525static __inline__ __mmask16 __DEFAULT_FN_ATTRS
526_mm512_int2mask(int __a)
527{
513static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
514_mm512_int2mask(int __a) {
528515 return (__mmask16)__a;
529516}
530517
531static __inline__ int __DEFAULT_FN_ATTRS
532_mm512_mask2int(__mmask16 __a)
533{
518static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
519_mm512_mask2int(__mmask16 __a) {
534520 return (int)__a;
535521}
536522
......@@ -547,9 +533,8 @@ _mm512_mask2int(__mmask16 __a)
547533/// A 128-bit vector of [2 x double].
548534/// \returns A 512-bit floating-point vector of [8 x double]. The lower 128 bits
549535/// contain the value of the parameter. The upper 384 bits are set to zero.
550static __inline __m512d __DEFAULT_FN_ATTRS512
551_mm512_zextpd128_pd512(__m128d __a)
552{
536static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
537_mm512_zextpd128_pd512(__m128d __a) {
553538 return __builtin_shufflevector((__v2df)__a, (__v2df)_mm_setzero_pd(), 0, 1, 2, 3, 2, 3, 2, 3);
554539}
555540
......@@ -566,9 +551,8 @@ _mm512_zextpd128_pd512(__m128d __a)
566551/// A 256-bit vector of [4 x double].
567552/// \returns A 512-bit floating-point vector of [8 x double]. The lower 256 bits
568553/// contain the value of the parameter. The upper 256 bits are set to zero.
569static __inline __m512d __DEFAULT_FN_ATTRS512
570_mm512_zextpd256_pd512(__m256d __a)
571{
554static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
555_mm512_zextpd256_pd512(__m256d __a) {
572556 return __builtin_shufflevector((__v4df)__a, (__v4df)_mm256_setzero_pd(), 0, 1, 2, 3, 4, 5, 6, 7);
573557}
574558
......@@ -584,9 +568,8 @@ _mm512_zextpd256_pd512(__m256d __a)
584568/// A 128-bit vector of [4 x float].
585569/// \returns A 512-bit floating-point vector of [16 x float]. The lower 128 bits
586570/// contain the value of the parameter. The upper 384 bits are set to zero.
587static __inline __m512 __DEFAULT_FN_ATTRS512
588_mm512_zextps128_ps512(__m128 __a)
589{
571static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
572_mm512_zextps128_ps512(__m128 __a) {
590573 return __builtin_shufflevector((__v4sf)__a, (__v4sf)_mm_setzero_ps(), 0, 1, 2, 3, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7);
591574}
592575
......@@ -602,9 +585,8 @@ _mm512_zextps128_ps512(__m128 __a)
602585/// A 256-bit vector of [8 x float].
603586/// \returns A 512-bit floating-point vector of [16 x float]. The lower 256 bits
604587/// contain the value of the parameter. The upper 256 bits are set to zero.
605static __inline __m512 __DEFAULT_FN_ATTRS512
606_mm512_zextps256_ps512(__m256 __a)
607{
588static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
589_mm512_zextps256_ps512(__m256 __a) {
608590 return __builtin_shufflevector((__v8sf)__a, (__v8sf)_mm256_setzero_ps(), 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
609591}
610592
......@@ -620,9 +602,8 @@ _mm512_zextps256_ps512(__m256 __a)
620602/// A 128-bit integer vector.
621603/// \returns A 512-bit integer vector. The lower 128 bits contain the value of
622604/// the parameter. The upper 384 bits are set to zero.
623static __inline __m512i __DEFAULT_FN_ATTRS512
624_mm512_zextsi128_si512(__m128i __a)
625{
605static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
606_mm512_zextsi128_si512(__m128i __a) {
626607 return __builtin_shufflevector((__v2di)__a, (__v2di)_mm_setzero_si128(), 0, 1, 2, 3, 2, 3, 2, 3);
627608}
628609
......@@ -638,22 +619,20 @@ _mm512_zextsi128_si512(__m128i __a)
638619/// A 256-bit integer vector.
639620/// \returns A 512-bit integer vector. The lower 256 bits contain the value of
640621/// the parameter. The upper 256 bits are set to zero.
641static __inline __m512i __DEFAULT_FN_ATTRS512
642_mm512_zextsi256_si512(__m256i __a)
643{
622static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
623_mm512_zextsi256_si512(__m256i __a) {
644624 return __builtin_shufflevector((__v4di)__a, (__v4di)_mm256_setzero_si256(), 0, 1, 2, 3, 4, 5, 6, 7);
645625}
646626
647627/* Bitwise operators */
648static __inline__ __m512i __DEFAULT_FN_ATTRS512
628static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
649629_mm512_and_epi32(__m512i __a, __m512i __b)
650630{
651631 return (__m512i)((__v16su)__a & (__v16su)__b);
652632}
653633
654static __inline__ __m512i __DEFAULT_FN_ATTRS512
655_mm512_mask_and_epi32(__m512i __src, __mmask16 __k, __m512i __a, __m512i __b)
656{
634static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
635_mm512_mask_and_epi32(__m512i __src, __mmask16 __k, __m512i __a, __m512i __b) {
657636 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__k,
658637 (__v16si) _mm512_and_epi32(__a, __b),
659638 (__v16si) __src);
......@@ -666,18 +645,16 @@ _mm512_maskz_and_epi32(__mmask16 __k, __m512i __a, __m512i __b)
666645 __k, __a, __b);
667646}
668647
669static __inline__ __m512i __DEFAULT_FN_ATTRS512
648static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
670649_mm512_and_epi64(__m512i __a, __m512i __b)
671650{
672651 return (__m512i)((__v8du)__a & (__v8du)__b);
673652}
674653
675static __inline__ __m512i __DEFAULT_FN_ATTRS512
676_mm512_mask_and_epi64(__m512i __src, __mmask8 __k, __m512i __a, __m512i __b)
677{
678 return (__m512i) __builtin_ia32_selectq_512 ((__mmask8) __k,
679 (__v8di) _mm512_and_epi64(__a, __b),
680 (__v8di) __src);
654static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
655_mm512_mask_and_epi64(__m512i __src, __mmask8 __k, __m512i __a, __m512i __b) {
656 return (__m512i)__builtin_ia32_selectq_512(
657 (__mmask8)__k, (__v8di)_mm512_and_epi64(__a, __b), (__v8di)__src);
681658}
682659
683660static __inline__ __m512i __DEFAULT_FN_ATTRS512
......@@ -687,13 +664,13 @@ _mm512_maskz_and_epi64(__mmask8 __k, __m512i __a, __m512i __b)
687664 __k, __a, __b);
688665}
689666
690static __inline__ __m512i __DEFAULT_FN_ATTRS512
667static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
691668_mm512_andnot_si512 (__m512i __A, __m512i __B)
692669{
693670 return (__m512i)(~(__v8du)__A & (__v8du)__B);
694671}
695672
696static __inline__ __m512i __DEFAULT_FN_ATTRS512
673static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
697674_mm512_andnot_epi32 (__m512i __A, __m512i __B)
698675{
699676 return (__m512i)(~(__v16su)__A & (__v16su)__B);
......@@ -714,7 +691,7 @@ _mm512_maskz_andnot_epi32(__mmask16 __U, __m512i __A, __m512i __B)
714691 __U, __A, __B);
715692}
716693
717static __inline__ __m512i __DEFAULT_FN_ATTRS512
694static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
718695_mm512_andnot_epi64(__m512i __A, __m512i __B)
719696{
720697 return (__m512i)(~(__v8du)__A & (__v8du)__B);
......@@ -735,7 +712,7 @@ _mm512_maskz_andnot_epi64(__mmask8 __U, __m512i __A, __m512i __B)
735712 __U, __A, __B);
736713}
737714
738static __inline__ __m512i __DEFAULT_FN_ATTRS512
715static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
739716_mm512_or_epi32(__m512i __a, __m512i __b)
740717{
741718 return (__m512i)((__v16su)__a | (__v16su)__b);
......@@ -755,7 +732,7 @@ _mm512_maskz_or_epi32(__mmask16 __k, __m512i __a, __m512i __b)
755732 return (__m512i)_mm512_mask_or_epi32(_mm512_setzero_si512(), __k, __a, __b);
756733}
757734
758static __inline__ __m512i __DEFAULT_FN_ATTRS512
735static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
759736_mm512_or_epi64(__m512i __a, __m512i __b)
760737{
761738 return (__m512i)((__v8du)__a | (__v8du)__b);
......@@ -775,7 +752,7 @@ _mm512_maskz_or_epi64(__mmask8 __k, __m512i __a, __m512i __b)
775752 return (__m512i)_mm512_mask_or_epi64(_mm512_setzero_si512(), __k, __a, __b);
776753}
777754
778static __inline__ __m512i __DEFAULT_FN_ATTRS512
755static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
779756_mm512_xor_epi32(__m512i __a, __m512i __b)
780757{
781758 return (__m512i)((__v16su)__a ^ (__v16su)__b);
......@@ -795,7 +772,7 @@ _mm512_maskz_xor_epi32(__mmask16 __k, __m512i __a, __m512i __b)
795772 return (__m512i)_mm512_mask_xor_epi32(_mm512_setzero_si512(), __k, __a, __b);
796773}
797774
798static __inline__ __m512i __DEFAULT_FN_ATTRS512
775static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
799776_mm512_xor_epi64(__m512i __a, __m512i __b)
800777{
801778 return (__m512i)((__v8du)__a ^ (__v8du)__b);
......@@ -815,19 +792,19 @@ _mm512_maskz_xor_epi64(__mmask8 __k, __m512i __a, __m512i __b)
815792 return (__m512i)_mm512_mask_xor_epi64(_mm512_setzero_si512(), __k, __a, __b);
816793}
817794
818static __inline__ __m512i __DEFAULT_FN_ATTRS512
795static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
819796_mm512_and_si512(__m512i __a, __m512i __b)
820797{
821798 return (__m512i)((__v8du)__a & (__v8du)__b);
822799}
823800
824static __inline__ __m512i __DEFAULT_FN_ATTRS512
801static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
825802_mm512_or_si512(__m512i __a, __m512i __b)
826803{
827804 return (__m512i)((__v8du)__a | (__v8du)__b);
828805}
829806
830static __inline__ __m512i __DEFAULT_FN_ATTRS512
807static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
831808_mm512_xor_si512(__m512i __a, __m512i __b)
832809{
833810 return (__m512i)((__v8du)__a ^ (__v8du)__b);
......@@ -835,125 +812,107 @@ _mm512_xor_si512(__m512i __a, __m512i __b)
835812
836813/* Arithmetic */
837814
838static __inline __m512d __DEFAULT_FN_ATTRS512
839_mm512_add_pd(__m512d __a, __m512d __b)
840{
815static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
816_mm512_add_pd(__m512d __a, __m512d __b) {
841817 return (__m512d)((__v8df)__a + (__v8df)__b);
842818}
843819
844static __inline __m512 __DEFAULT_FN_ATTRS512
845_mm512_add_ps(__m512 __a, __m512 __b)
846{
820static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
821_mm512_add_ps(__m512 __a, __m512 __b) {
847822 return (__m512)((__v16sf)__a + (__v16sf)__b);
848823}
849824
850static __inline __m512d __DEFAULT_FN_ATTRS512
851_mm512_mul_pd(__m512d __a, __m512d __b)
852{
825static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
826_mm512_mul_pd(__m512d __a, __m512d __b) {
853827 return (__m512d)((__v8df)__a * (__v8df)__b);
854828}
855829
856static __inline __m512 __DEFAULT_FN_ATTRS512
857_mm512_mul_ps(__m512 __a, __m512 __b)
858{
830static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
831_mm512_mul_ps(__m512 __a, __m512 __b) {
859832 return (__m512)((__v16sf)__a * (__v16sf)__b);
860833}
861834
862static __inline __m512d __DEFAULT_FN_ATTRS512
863_mm512_sub_pd(__m512d __a, __m512d __b)
864{
835static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
836_mm512_sub_pd(__m512d __a, __m512d __b) {
865837 return (__m512d)((__v8df)__a - (__v8df)__b);
866838}
867839
868static __inline __m512 __DEFAULT_FN_ATTRS512
869_mm512_sub_ps(__m512 __a, __m512 __b)
870{
840static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
841_mm512_sub_ps(__m512 __a, __m512 __b) {
871842 return (__m512)((__v16sf)__a - (__v16sf)__b);
872843}
873844
874static __inline__ __m512i __DEFAULT_FN_ATTRS512
875_mm512_add_epi64 (__m512i __A, __m512i __B)
876{
845static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
846_mm512_add_epi64(__m512i __A, __m512i __B) {
877847 return (__m512i) ((__v8du) __A + (__v8du) __B);
878848}
879849
880static __inline__ __m512i __DEFAULT_FN_ATTRS512
881_mm512_mask_add_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
882{
850static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
851_mm512_mask_add_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
883852 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
884853 (__v8di)_mm512_add_epi64(__A, __B),
885854 (__v8di)__W);
886855}
887856
888static __inline__ __m512i __DEFAULT_FN_ATTRS512
889_mm512_maskz_add_epi64(__mmask8 __U, __m512i __A, __m512i __B)
890{
857static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
858_mm512_maskz_add_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
891859 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
892860 (__v8di)_mm512_add_epi64(__A, __B),
893861 (__v8di)_mm512_setzero_si512());
894862}
895863
896static __inline__ __m512i __DEFAULT_FN_ATTRS512
897_mm512_sub_epi64 (__m512i __A, __m512i __B)
898{
864static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
865_mm512_sub_epi64(__m512i __A, __m512i __B) {
899866 return (__m512i) ((__v8du) __A - (__v8du) __B);
900867}
901868
902static __inline__ __m512i __DEFAULT_FN_ATTRS512
903_mm512_mask_sub_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
904{
869static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
870_mm512_mask_sub_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
905871 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
906872 (__v8di)_mm512_sub_epi64(__A, __B),
907873 (__v8di)__W);
908874}
909875
910static __inline__ __m512i __DEFAULT_FN_ATTRS512
911_mm512_maskz_sub_epi64(__mmask8 __U, __m512i __A, __m512i __B)
912{
876static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
877_mm512_maskz_sub_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
913878 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
914879 (__v8di)_mm512_sub_epi64(__A, __B),
915880 (__v8di)_mm512_setzero_si512());
916881}
917882
918static __inline__ __m512i __DEFAULT_FN_ATTRS512
919_mm512_add_epi32 (__m512i __A, __m512i __B)
920{
883static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
884_mm512_add_epi32(__m512i __A, __m512i __B) {
921885 return (__m512i) ((__v16su) __A + (__v16su) __B);
922886}
923887
924static __inline__ __m512i __DEFAULT_FN_ATTRS512
925_mm512_mask_add_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
926{
888static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
889_mm512_mask_add_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) {
927890 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
928891 (__v16si)_mm512_add_epi32(__A, __B),
929892 (__v16si)__W);
930893}
931894
932static __inline__ __m512i __DEFAULT_FN_ATTRS512
933_mm512_maskz_add_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
934{
895static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
896_mm512_maskz_add_epi32(__mmask16 __U, __m512i __A, __m512i __B) {
935897 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
936898 (__v16si)_mm512_add_epi32(__A, __B),
937899 (__v16si)_mm512_setzero_si512());
938900}
939901
940static __inline__ __m512i __DEFAULT_FN_ATTRS512
941_mm512_sub_epi32 (__m512i __A, __m512i __B)
942{
902static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
903_mm512_sub_epi32(__m512i __A, __m512i __B) {
943904 return (__m512i) ((__v16su) __A - (__v16su) __B);
944905}
945906
946static __inline__ __m512i __DEFAULT_FN_ATTRS512
947_mm512_mask_sub_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
948{
907static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
908_mm512_mask_sub_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m512i __B) {
949909 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
950910 (__v16si)_mm512_sub_epi32(__A, __B),
951911 (__v16si)__W);
952912}
953913
954static __inline__ __m512i __DEFAULT_FN_ATTRS512
955_mm512_maskz_sub_epi32(__mmask16 __U, __m512i __A, __m512i __B)
956{
914static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
915_mm512_maskz_sub_epi32(__mmask16 __U, __m512i __A, __m512i __B) {
957916 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
958917 (__v16si)_mm512_sub_epi32(__A, __B),
959918 (__v16si)_mm512_setzero_si512());
......@@ -973,24 +932,21 @@ _mm512_maskz_sub_epi32(__mmask16 __U, __m512i __A, __m512i __B)
973932 (__v8df)_mm512_max_round_pd((A), (B), (R)), \
974933 (__v8df)_mm512_setzero_pd()))
975934
976static __inline__ __m512d __DEFAULT_FN_ATTRS512
977_mm512_max_pd(__m512d __A, __m512d __B)
978{
935static __inline__ __m512d
936 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_max_pd(__m512d __A, __m512d __B) {
979937 return (__m512d) __builtin_ia32_maxpd512((__v8df) __A, (__v8df) __B,
980938 _MM_FROUND_CUR_DIRECTION);
981939}
982940
983static __inline__ __m512d __DEFAULT_FN_ATTRS512
984_mm512_mask_max_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
985{
941static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
942_mm512_mask_max_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
986943 return (__m512d)__builtin_ia32_selectpd_512(__U,
987944 (__v8df)_mm512_max_pd(__A, __B),
988945 (__v8df)__W);
989946}
990947
991static __inline__ __m512d __DEFAULT_FN_ATTRS512
992_mm512_maskz_max_pd (__mmask8 __U, __m512d __A, __m512d __B)
993{
948static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
949_mm512_maskz_max_pd(__mmask8 __U, __m512d __A, __m512d __B) {
994950 return (__m512d)__builtin_ia32_selectpd_512(__U,
995951 (__v8df)_mm512_max_pd(__A, __B),
996952 (__v8df)_mm512_setzero_pd());
......@@ -1010,31 +966,30 @@ _mm512_maskz_max_pd (__mmask8 __U, __m512d __A, __m512d __B)
1010966 (__v16sf)_mm512_max_round_ps((A), (B), (R)), \
1011967 (__v16sf)_mm512_setzero_ps()))
1012968
1013static __inline__ __m512 __DEFAULT_FN_ATTRS512
1014_mm512_max_ps(__m512 __A, __m512 __B)
1015{
969static __inline__ __m512
970 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_max_ps(__m512 __A, __m512 __B) {
1016971 return (__m512) __builtin_ia32_maxps512((__v16sf) __A, (__v16sf) __B,
1017972 _MM_FROUND_CUR_DIRECTION);
1018973}
1019974
1020static __inline__ __m512 __DEFAULT_FN_ATTRS512
1021_mm512_mask_max_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
1022{
975static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
976_mm512_mask_max_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
1023977 return (__m512)__builtin_ia32_selectps_512(__U,
1024978 (__v16sf)_mm512_max_ps(__A, __B),
1025979 (__v16sf)__W);
1026980}
1027981
1028static __inline__ __m512 __DEFAULT_FN_ATTRS512
1029_mm512_maskz_max_ps (__mmask16 __U, __m512 __A, __m512 __B)
1030{
982static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
983_mm512_maskz_max_ps(__mmask16 __U, __m512 __A, __m512 __B) {
1031984 return (__m512)__builtin_ia32_selectps_512(__U,
1032985 (__v16sf)_mm512_max_ps(__A, __B),
1033986 (__v16sf)_mm512_setzero_ps());
1034987}
1035988
1036static __inline__ __m128 __DEFAULT_FN_ATTRS128
1037_mm_mask_max_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
989static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_mask_max_ss(__m128 __W,
990 __mmask8 __U,
991 __m128 __A,
992 __m128 __B) {
1038993 return (__m128) __builtin_ia32_maxss_round_mask ((__v4sf) __A,
1039994 (__v4sf) __B,
1040995 (__v4sf) __W,
......@@ -1042,8 +997,9 @@ _mm_mask_max_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
1042997 _MM_FROUND_CUR_DIRECTION);
1043998}
1044999
1045static __inline__ __m128 __DEFAULT_FN_ATTRS128
1046_mm_maskz_max_ss(__mmask8 __U,__m128 __A, __m128 __B) {
1000static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_maskz_max_ss(__mmask8 __U,
1001 __m128 __A,
1002 __m128 __B) {
10471003 return (__m128) __builtin_ia32_maxss_round_mask ((__v4sf) __A,
10481004 (__v4sf) __B,
10491005 (__v4sf) _mm_setzero_ps (),
......@@ -1069,8 +1025,10 @@ _mm_maskz_max_ss(__mmask8 __U,__m128 __A, __m128 __B) {
10691025 (__v4sf)_mm_setzero_ps(), \
10701026 (__mmask8)(U), (int)(R)))
10711027
1072static __inline__ __m128d __DEFAULT_FN_ATTRS128
1073_mm_mask_max_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
1028static __inline__ __m128d __DEFAULT_FN_ATTRS128 _mm_mask_max_sd(__m128d __W,
1029 __mmask8 __U,
1030 __m128d __A,
1031 __m128d __B) {
10741032 return (__m128d) __builtin_ia32_maxsd_round_mask ((__v2df) __A,
10751033 (__v2df) __B,
10761034 (__v2df) __W,
......@@ -1078,8 +1036,9 @@ _mm_mask_max_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
10781036 _MM_FROUND_CUR_DIRECTION);
10791037}
10801038
1081static __inline__ __m128d __DEFAULT_FN_ATTRS128
1082_mm_maskz_max_sd(__mmask8 __U,__m128d __A, __m128d __B) {
1039static __inline__ __m128d __DEFAULT_FN_ATTRS128 _mm_maskz_max_sd(__mmask8 __U,
1040 __m128d __A,
1041 __m128d __B) {
10831042 return (__m128d) __builtin_ia32_maxsd_round_mask ((__v2df) __A,
10841043 (__v2df) __B,
10851044 (__v2df) _mm_setzero_pd (),
......@@ -1106,89 +1065,76 @@ _mm_maskz_max_sd(__mmask8 __U,__m128d __A, __m128d __B) {
11061065 (__mmask8)(U), (int)(R)))
11071066
11081067static __inline __m512i
1109__DEFAULT_FN_ATTRS512
1110_mm512_max_epi32(__m512i __A, __m512i __B)
1111{
1068 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_max_epi32(__m512i __A, __m512i __B) {
11121069 return (__m512i)__builtin_elementwise_max((__v16si)__A, (__v16si)__B);
11131070}
11141071
1115static __inline__ __m512i __DEFAULT_FN_ATTRS512
1116_mm512_mask_max_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
1117{
1072static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1073_mm512_mask_max_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
11181074 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
11191075 (__v16si)_mm512_max_epi32(__A, __B),
11201076 (__v16si)__W);
11211077}
11221078
1123static __inline__ __m512i __DEFAULT_FN_ATTRS512
1124_mm512_maskz_max_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
1125{
1079static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1080_mm512_maskz_max_epi32(__mmask16 __M, __m512i __A, __m512i __B) {
11261081 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
11271082 (__v16si)_mm512_max_epi32(__A, __B),
11281083 (__v16si)_mm512_setzero_si512());
11291084}
11301085
1131static __inline __m512i __DEFAULT_FN_ATTRS512
1132_mm512_max_epu32(__m512i __A, __m512i __B)
1133{
1086static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1087_mm512_max_epu32(__m512i __A, __m512i __B) {
11341088 return (__m512i)__builtin_elementwise_max((__v16su)__A, (__v16su)__B);
11351089}
11361090
1137static __inline__ __m512i __DEFAULT_FN_ATTRS512
1138_mm512_mask_max_epu32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
1139{
1091static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1092_mm512_mask_max_epu32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
11401093 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
11411094 (__v16si)_mm512_max_epu32(__A, __B),
11421095 (__v16si)__W);
11431096}
11441097
1145static __inline__ __m512i __DEFAULT_FN_ATTRS512
1146_mm512_maskz_max_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
1147{
1098static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1099_mm512_maskz_max_epu32(__mmask16 __M, __m512i __A, __m512i __B) {
11481100 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
11491101 (__v16si)_mm512_max_epu32(__A, __B),
11501102 (__v16si)_mm512_setzero_si512());
11511103}
11521104
1153static __inline __m512i __DEFAULT_FN_ATTRS512
1154_mm512_max_epi64(__m512i __A, __m512i __B)
1155{
1105static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1106_mm512_max_epi64(__m512i __A, __m512i __B) {
11561107 return (__m512i)__builtin_elementwise_max((__v8di)__A, (__v8di)__B);
11571108}
11581109
1159static __inline__ __m512i __DEFAULT_FN_ATTRS512
1160_mm512_mask_max_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
1161{
1110static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1111_mm512_mask_max_epi64(__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) {
11621112 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
11631113 (__v8di)_mm512_max_epi64(__A, __B),
11641114 (__v8di)__W);
11651115}
11661116
1167static __inline__ __m512i __DEFAULT_FN_ATTRS512
1168_mm512_maskz_max_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
1169{
1117static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1118_mm512_maskz_max_epi64(__mmask8 __M, __m512i __A, __m512i __B) {
11701119 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
11711120 (__v8di)_mm512_max_epi64(__A, __B),
11721121 (__v8di)_mm512_setzero_si512());
11731122}
11741123
1175static __inline __m512i __DEFAULT_FN_ATTRS512
1176_mm512_max_epu64(__m512i __A, __m512i __B)
1177{
1124static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1125_mm512_max_epu64(__m512i __A, __m512i __B) {
11781126 return (__m512i)__builtin_elementwise_max((__v8du)__A, (__v8du)__B);
11791127}
11801128
1181static __inline__ __m512i __DEFAULT_FN_ATTRS512
1182_mm512_mask_max_epu64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
1183{
1129static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1130_mm512_mask_max_epu64(__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) {
11841131 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
11851132 (__v8di)_mm512_max_epu64(__A, __B),
11861133 (__v8di)__W);
11871134}
11881135
1189static __inline__ __m512i __DEFAULT_FN_ATTRS512
1190_mm512_maskz_max_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
1191{
1136static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1137_mm512_maskz_max_epu64(__mmask8 __M, __m512i __A, __m512i __B) {
11921138 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
11931139 (__v8di)_mm512_max_epu64(__A, __B),
11941140 (__v8di)_mm512_setzero_si512());
......@@ -1208,24 +1154,21 @@ _mm512_maskz_max_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
12081154 (__v8df)_mm512_min_round_pd((A), (B), (R)), \
12091155 (__v8df)_mm512_setzero_pd()))
12101156
1211static __inline__ __m512d __DEFAULT_FN_ATTRS512
1212_mm512_min_pd(__m512d __A, __m512d __B)
1213{
1157static __inline__ __m512d
1158 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_min_pd(__m512d __A, __m512d __B) {
12141159 return (__m512d) __builtin_ia32_minpd512((__v8df) __A, (__v8df) __B,
12151160 _MM_FROUND_CUR_DIRECTION);
12161161}
12171162
1218static __inline__ __m512d __DEFAULT_FN_ATTRS512
1219_mm512_mask_min_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B)
1220{
1163static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1164_mm512_mask_min_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
12211165 return (__m512d)__builtin_ia32_selectpd_512(__U,
12221166 (__v8df)_mm512_min_pd(__A, __B),
12231167 (__v8df)__W);
12241168}
12251169
1226static __inline__ __m512d __DEFAULT_FN_ATTRS512
1227_mm512_maskz_min_pd (__mmask8 __U, __m512d __A, __m512d __B)
1228{
1170static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1171_mm512_maskz_min_pd(__mmask8 __U, __m512d __A, __m512d __B) {
12291172 return (__m512d)__builtin_ia32_selectpd_512(__U,
12301173 (__v8df)_mm512_min_pd(__A, __B),
12311174 (__v8df)_mm512_setzero_pd());
......@@ -1245,31 +1188,30 @@ _mm512_maskz_min_pd (__mmask8 __U, __m512d __A, __m512d __B)
12451188 (__v16sf)_mm512_min_round_ps((A), (B), (R)), \
12461189 (__v16sf)_mm512_setzero_ps()))
12471190
1248static __inline__ __m512 __DEFAULT_FN_ATTRS512
1249_mm512_min_ps(__m512 __A, __m512 __B)
1250{
1191static __inline__ __m512
1192 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_min_ps(__m512 __A, __m512 __B) {
12511193 return (__m512) __builtin_ia32_minps512((__v16sf) __A, (__v16sf) __B,
12521194 _MM_FROUND_CUR_DIRECTION);
12531195}
12541196
1255static __inline__ __m512 __DEFAULT_FN_ATTRS512
1256_mm512_mask_min_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B)
1257{
1197static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1198_mm512_mask_min_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
12581199 return (__m512)__builtin_ia32_selectps_512(__U,
12591200 (__v16sf)_mm512_min_ps(__A, __B),
12601201 (__v16sf)__W);
12611202}
12621203
1263static __inline__ __m512 __DEFAULT_FN_ATTRS512
1264_mm512_maskz_min_ps (__mmask16 __U, __m512 __A, __m512 __B)
1265{
1204static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1205_mm512_maskz_min_ps(__mmask16 __U, __m512 __A, __m512 __B) {
12661206 return (__m512)__builtin_ia32_selectps_512(__U,
12671207 (__v16sf)_mm512_min_ps(__A, __B),
12681208 (__v16sf)_mm512_setzero_ps());
12691209}
12701210
1271static __inline__ __m128 __DEFAULT_FN_ATTRS128
1272_mm_mask_min_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
1211static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_mask_min_ss(__m128 __W,
1212 __mmask8 __U,
1213 __m128 __A,
1214 __m128 __B) {
12731215 return (__m128) __builtin_ia32_minss_round_mask ((__v4sf) __A,
12741216 (__v4sf) __B,
12751217 (__v4sf) __W,
......@@ -1277,8 +1219,9 @@ _mm_mask_min_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
12771219 _MM_FROUND_CUR_DIRECTION);
12781220}
12791221
1280static __inline__ __m128 __DEFAULT_FN_ATTRS128
1281_mm_maskz_min_ss(__mmask8 __U,__m128 __A, __m128 __B) {
1222static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_maskz_min_ss(__mmask8 __U,
1223 __m128 __A,
1224 __m128 __B) {
12821225 return (__m128) __builtin_ia32_minss_round_mask ((__v4sf) __A,
12831226 (__v4sf) __B,
12841227 (__v4sf) _mm_setzero_ps (),
......@@ -1304,8 +1247,10 @@ _mm_maskz_min_ss(__mmask8 __U,__m128 __A, __m128 __B) {
13041247 (__v4sf)_mm_setzero_ps(), \
13051248 (__mmask8)(U), (int)(R)))
13061249
1307static __inline__ __m128d __DEFAULT_FN_ATTRS128
1308_mm_mask_min_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
1250static __inline__ __m128d __DEFAULT_FN_ATTRS128 _mm_mask_min_sd(__m128d __W,
1251 __mmask8 __U,
1252 __m128d __A,
1253 __m128d __B) {
13091254 return (__m128d) __builtin_ia32_minsd_round_mask ((__v2df) __A,
13101255 (__v2df) __B,
13111256 (__v2df) __W,
......@@ -1313,8 +1258,9 @@ _mm_mask_min_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
13131258 _MM_FROUND_CUR_DIRECTION);
13141259}
13151260
1316static __inline__ __m128d __DEFAULT_FN_ATTRS128
1317_mm_maskz_min_sd(__mmask8 __U,__m128d __A, __m128d __B) {
1261static __inline__ __m128d __DEFAULT_FN_ATTRS128 _mm_maskz_min_sd(__mmask8 __U,
1262 __m128d __A,
1263 __m128d __B) {
13181264 return (__m128d) __builtin_ia32_minsd_round_mask ((__v2df) __A,
13191265 (__v2df) __B,
13201266 (__v2df) _mm_setzero_pd (),
......@@ -1341,166 +1287,144 @@ _mm_maskz_min_sd(__mmask8 __U,__m128d __A, __m128d __B) {
13411287 (__mmask8)(U), (int)(R)))
13421288
13431289static __inline __m512i
1344__DEFAULT_FN_ATTRS512
1345_mm512_min_epi32(__m512i __A, __m512i __B)
1346{
1290 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_min_epi32(__m512i __A, __m512i __B) {
13471291 return (__m512i)__builtin_elementwise_min((__v16si)__A, (__v16si)__B);
13481292}
13491293
1350static __inline__ __m512i __DEFAULT_FN_ATTRS512
1351_mm512_mask_min_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
1352{
1294static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1295_mm512_mask_min_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
13531296 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
13541297 (__v16si)_mm512_min_epi32(__A, __B),
13551298 (__v16si)__W);
13561299}
13571300
1358static __inline__ __m512i __DEFAULT_FN_ATTRS512
1359_mm512_maskz_min_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
1360{
1301static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1302_mm512_maskz_min_epi32(__mmask16 __M, __m512i __A, __m512i __B) {
13611303 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
13621304 (__v16si)_mm512_min_epi32(__A, __B),
13631305 (__v16si)_mm512_setzero_si512());
13641306}
13651307
1366static __inline __m512i __DEFAULT_FN_ATTRS512
1367_mm512_min_epu32(__m512i __A, __m512i __B)
1368{
1308static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1309_mm512_min_epu32(__m512i __A, __m512i __B) {
13691310 return (__m512i)__builtin_elementwise_min((__v16su)__A, (__v16su)__B);
13701311}
13711312
1372static __inline__ __m512i __DEFAULT_FN_ATTRS512
1373_mm512_mask_min_epu32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
1374{
1313static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1314_mm512_mask_min_epu32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
13751315 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
13761316 (__v16si)_mm512_min_epu32(__A, __B),
13771317 (__v16si)__W);
13781318}
13791319
1380static __inline__ __m512i __DEFAULT_FN_ATTRS512
1381_mm512_maskz_min_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
1382{
1320static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1321_mm512_maskz_min_epu32(__mmask16 __M, __m512i __A, __m512i __B) {
13831322 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
13841323 (__v16si)_mm512_min_epu32(__A, __B),
13851324 (__v16si)_mm512_setzero_si512());
13861325}
13871326
1388static __inline __m512i __DEFAULT_FN_ATTRS512
1389_mm512_min_epi64(__m512i __A, __m512i __B)
1390{
1327static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1328_mm512_min_epi64(__m512i __A, __m512i __B) {
13911329 return (__m512i)__builtin_elementwise_min((__v8di)__A, (__v8di)__B);
13921330}
13931331
1394static __inline__ __m512i __DEFAULT_FN_ATTRS512
1395_mm512_mask_min_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
1396{
1332static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1333_mm512_mask_min_epi64(__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) {
13971334 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
13981335 (__v8di)_mm512_min_epi64(__A, __B),
13991336 (__v8di)__W);
14001337}
14011338
1402static __inline__ __m512i __DEFAULT_FN_ATTRS512
1403_mm512_maskz_min_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
1404{
1339static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1340_mm512_maskz_min_epi64(__mmask8 __M, __m512i __A, __m512i __B) {
14051341 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
14061342 (__v8di)_mm512_min_epi64(__A, __B),
14071343 (__v8di)_mm512_setzero_si512());
14081344}
14091345
1410static __inline __m512i __DEFAULT_FN_ATTRS512
1411_mm512_min_epu64(__m512i __A, __m512i __B)
1412{
1346static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1347_mm512_min_epu64(__m512i __A, __m512i __B) {
14131348 return (__m512i)__builtin_elementwise_min((__v8du)__A, (__v8du)__B);
14141349}
14151350
1416static __inline__ __m512i __DEFAULT_FN_ATTRS512
1417_mm512_mask_min_epu64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
1418{
1351static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1352_mm512_mask_min_epu64(__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) {
14191353 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
14201354 (__v8di)_mm512_min_epu64(__A, __B),
14211355 (__v8di)__W);
14221356}
14231357
1424static __inline__ __m512i __DEFAULT_FN_ATTRS512
1425_mm512_maskz_min_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
1426{
1358static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1359_mm512_maskz_min_epu64(__mmask8 __M, __m512i __A, __m512i __B) {
14271360 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
14281361 (__v8di)_mm512_min_epu64(__A, __B),
14291362 (__v8di)_mm512_setzero_si512());
14301363}
14311364
1432static __inline __m512i __DEFAULT_FN_ATTRS512
1433_mm512_mul_epi32(__m512i __X, __m512i __Y)
1434{
1365static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1366_mm512_mul_epi32(__m512i __X, __m512i __Y) {
14351367 return (__m512i)__builtin_ia32_pmuldq512((__v16si)__X, (__v16si) __Y);
14361368}
14371369
1438static __inline __m512i __DEFAULT_FN_ATTRS512
1439_mm512_mask_mul_epi32(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
1440{
1370static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1371_mm512_mask_mul_epi32(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) {
14411372 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
14421373 (__v8di)_mm512_mul_epi32(__X, __Y),
14431374 (__v8di)__W);
14441375}
14451376
1446static __inline __m512i __DEFAULT_FN_ATTRS512
1447_mm512_maskz_mul_epi32(__mmask8 __M, __m512i __X, __m512i __Y)
1448{
1377static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1378_mm512_maskz_mul_epi32(__mmask8 __M, __m512i __X, __m512i __Y) {
14491379 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
14501380 (__v8di)_mm512_mul_epi32(__X, __Y),
14511381 (__v8di)_mm512_setzero_si512 ());
14521382}
14531383
1454static __inline __m512i __DEFAULT_FN_ATTRS512
1455_mm512_mul_epu32(__m512i __X, __m512i __Y)
1456{
1384static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1385_mm512_mul_epu32(__m512i __X, __m512i __Y) {
14571386 return (__m512i)__builtin_ia32_pmuludq512((__v16si)__X, (__v16si)__Y);
14581387}
14591388
1460static __inline __m512i __DEFAULT_FN_ATTRS512
1461_mm512_mask_mul_epu32(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
1462{
1389static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1390_mm512_mask_mul_epu32(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) {
14631391 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
14641392 (__v8di)_mm512_mul_epu32(__X, __Y),
14651393 (__v8di)__W);
14661394}
14671395
1468static __inline __m512i __DEFAULT_FN_ATTRS512
1469_mm512_maskz_mul_epu32(__mmask8 __M, __m512i __X, __m512i __Y)
1470{
1396static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1397_mm512_maskz_mul_epu32(__mmask8 __M, __m512i __X, __m512i __Y) {
14711398 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
14721399 (__v8di)_mm512_mul_epu32(__X, __Y),
14731400 (__v8di)_mm512_setzero_si512 ());
14741401}
14751402
1476static __inline __m512i __DEFAULT_FN_ATTRS512
1477_mm512_mullo_epi32 (__m512i __A, __m512i __B)
1478{
1403static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1404_mm512_mullo_epi32(__m512i __A, __m512i __B) {
14791405 return (__m512i) ((__v16su) __A * (__v16su) __B);
14801406}
14811407
1482static __inline __m512i __DEFAULT_FN_ATTRS512
1483_mm512_maskz_mullo_epi32(__mmask16 __M, __m512i __A, __m512i __B)
1484{
1408static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1409_mm512_maskz_mullo_epi32(__mmask16 __M, __m512i __A, __m512i __B) {
14851410 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
14861411 (__v16si)_mm512_mullo_epi32(__A, __B),
14871412 (__v16si)_mm512_setzero_si512());
14881413}
14891414
1490static __inline __m512i __DEFAULT_FN_ATTRS512
1491_mm512_mask_mullo_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
1492{
1415static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1416_mm512_mask_mullo_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
14931417 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
14941418 (__v16si)_mm512_mullo_epi32(__A, __B),
14951419 (__v16si)__W);
14961420}
14971421
1498static __inline__ __m512i __DEFAULT_FN_ATTRS512
1499_mm512_mullox_epi64 (__m512i __A, __m512i __B) {
1422static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1423_mm512_mullox_epi64(__m512i __A, __m512i __B) {
15001424 return (__m512i) ((__v8du) __A * (__v8du) __B);
15011425}
15021426
1503static __inline__ __m512i __DEFAULT_FN_ATTRS512
1427static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
15041428_mm512_mask_mullox_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
15051429 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
15061430 (__v8di)_mm512_mullox_epi64(__A, __B),
......@@ -1520,26 +1444,19 @@ _mm512_mask_mullox_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
15201444 (__v8df)_mm512_sqrt_round_pd((A), (R)), \
15211445 (__v8df)_mm512_setzero_pd()))
15221446
1523static __inline__ __m512d __DEFAULT_FN_ATTRS512
1524_mm512_sqrt_pd(__m512d __A)
1525{
1526 return (__m512d)__builtin_ia32_sqrtpd512((__v8df)__A,
1527 _MM_FROUND_CUR_DIRECTION);
1447static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_sqrt_pd(__m512d __A) {
1448 return (__m512d)__builtin_elementwise_sqrt((__v8df)__A);
15281449}
15291450
15301451static __inline__ __m512d __DEFAULT_FN_ATTRS512
1531_mm512_mask_sqrt_pd (__m512d __W, __mmask8 __U, __m512d __A)
1532{
1533 return (__m512d)__builtin_ia32_selectpd_512(__U,
1534 (__v8df)_mm512_sqrt_pd(__A),
1452_mm512_mask_sqrt_pd(__m512d __W, __mmask8 __U, __m512d __A) {
1453 return (__m512d)__builtin_ia32_selectpd_512(__U, (__v8df)_mm512_sqrt_pd(__A),
15351454 (__v8df)__W);
15361455}
15371456
15381457static __inline__ __m512d __DEFAULT_FN_ATTRS512
1539_mm512_maskz_sqrt_pd (__mmask8 __U, __m512d __A)
1540{
1541 return (__m512d)__builtin_ia32_selectpd_512(__U,
1542 (__v8df)_mm512_sqrt_pd(__A),
1458_mm512_maskz_sqrt_pd(__mmask8 __U, __m512d __A) {
1459 return (__m512d)__builtin_ia32_selectpd_512(__U, (__v8df)_mm512_sqrt_pd(__A),
15431460 (__v8df)_mm512_setzero_pd());
15441461}
15451462
......@@ -1556,26 +1473,19 @@ _mm512_maskz_sqrt_pd (__mmask8 __U, __m512d __A)
15561473 (__v16sf)_mm512_sqrt_round_ps((A), (R)), \
15571474 (__v16sf)_mm512_setzero_ps()))
15581475
1559static __inline__ __m512 __DEFAULT_FN_ATTRS512
1560_mm512_sqrt_ps(__m512 __A)
1561{
1562 return (__m512)__builtin_ia32_sqrtps512((__v16sf)__A,
1563 _MM_FROUND_CUR_DIRECTION);
1476static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_sqrt_ps(__m512 __A) {
1477 return (__m512)__builtin_elementwise_sqrt((__v16sf)__A);
15641478}
15651479
1566static __inline__ __m512 __DEFAULT_FN_ATTRS512
1567_mm512_mask_sqrt_ps(__m512 __W, __mmask16 __U, __m512 __A)
1568{
1569 return (__m512)__builtin_ia32_selectps_512(__U,
1570 (__v16sf)_mm512_sqrt_ps(__A),
1480static __inline__ __m512 __DEFAULT_FN_ATTRS512
1481_mm512_mask_sqrt_ps(__m512 __W, __mmask16 __U, __m512 __A) {
1482 return (__m512)__builtin_ia32_selectps_512(__U, (__v16sf)_mm512_sqrt_ps(__A),
15711483 (__v16sf)__W);
15721484}
15731485
1574static __inline__ __m512 __DEFAULT_FN_ATTRS512
1575_mm512_maskz_sqrt_ps( __mmask16 __U, __m512 __A)
1576{
1577 return (__m512)__builtin_ia32_selectps_512(__U,
1578 (__v16sf)_mm512_sqrt_ps(__A),
1486static __inline__ __m512 __DEFAULT_FN_ATTRS512
1487_mm512_maskz_sqrt_ps(__mmask16 __U, __m512 __A) {
1488 return (__m512)__builtin_ia32_selectps_512(__U, (__v16sf)_mm512_sqrt_ps(__A),
15791489 (__v16sf)_mm512_setzero_ps());
15801490}
15811491
......@@ -1866,58 +1776,52 @@ _mm512_mask_ceil_pd (__m512d __W, __mmask8 __U, __m512d __A)
18661776 _MM_FROUND_CUR_DIRECTION);
18671777}
18681778
1869static __inline __m512i __DEFAULT_FN_ATTRS512
1870_mm512_abs_epi64(__m512i __A)
1871{
1779static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1780_mm512_abs_epi64(__m512i __A) {
18721781 return (__m512i)__builtin_elementwise_abs((__v8di)__A);
18731782}
18741783
1875static __inline__ __m512i __DEFAULT_FN_ATTRS512
1876_mm512_mask_abs_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
1877{
1784static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1785_mm512_mask_abs_epi64(__m512i __W, __mmask8 __U, __m512i __A) {
18781786 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
18791787 (__v8di)_mm512_abs_epi64(__A),
18801788 (__v8di)__W);
18811789}
18821790
1883static __inline__ __m512i __DEFAULT_FN_ATTRS512
1884_mm512_maskz_abs_epi64 (__mmask8 __U, __m512i __A)
1885{
1791static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1792_mm512_maskz_abs_epi64(__mmask8 __U, __m512i __A) {
18861793 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
18871794 (__v8di)_mm512_abs_epi64(__A),
18881795 (__v8di)_mm512_setzero_si512());
18891796}
18901797
1891static __inline __m512i __DEFAULT_FN_ATTRS512
1892_mm512_abs_epi32(__m512i __A)
1893{
1798static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1799_mm512_abs_epi32(__m512i __A) {
18941800 return (__m512i)__builtin_elementwise_abs((__v16si) __A);
18951801}
18961802
1897static __inline__ __m512i __DEFAULT_FN_ATTRS512
1898_mm512_mask_abs_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
1899{
1803static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1804_mm512_mask_abs_epi32(__m512i __W, __mmask16 __U, __m512i __A) {
19001805 return (__m512i)__builtin_ia32_selectd_512(__U,
19011806 (__v16si)_mm512_abs_epi32(__A),
19021807 (__v16si)__W);
19031808}
19041809
1905static __inline__ __m512i __DEFAULT_FN_ATTRS512
1906_mm512_maskz_abs_epi32 (__mmask16 __U, __m512i __A)
1907{
1810static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
1811_mm512_maskz_abs_epi32(__mmask16 __U, __m512i __A) {
19081812 return (__m512i)__builtin_ia32_selectd_512(__U,
19091813 (__v16si)_mm512_abs_epi32(__A),
19101814 (__v16si)_mm512_setzero_si512());
19111815}
19121816
1913static __inline__ __m128 __DEFAULT_FN_ATTRS128
1914_mm_mask_add_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
1817static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1818_mm_mask_add_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
19151819 __A = _mm_add_ss(__A, __B);
19161820 return __builtin_ia32_selectss_128(__U, __A, __W);
19171821}
19181822
1919static __inline__ __m128 __DEFAULT_FN_ATTRS128
1920_mm_maskz_add_ss(__mmask8 __U,__m128 __A, __m128 __B) {
1823static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1824_mm_maskz_add_ss(__mmask8 __U, __m128 __A, __m128 __B) {
19211825 __A = _mm_add_ss(__A, __B);
19221826 return __builtin_ia32_selectss_128(__U, __A, _mm_setzero_ps());
19231827}
......@@ -1940,14 +1844,14 @@ _mm_maskz_add_ss(__mmask8 __U,__m128 __A, __m128 __B) {
19401844 (__v4sf)_mm_setzero_ps(), \
19411845 (__mmask8)(U), (int)(R)))
19421846
1943static __inline__ __m128d __DEFAULT_FN_ATTRS128
1944_mm_mask_add_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
1847static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
1848_mm_mask_add_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
19451849 __A = _mm_add_sd(__A, __B);
19461850 return __builtin_ia32_selectsd_128(__U, __A, __W);
19471851}
19481852
1949static __inline__ __m128d __DEFAULT_FN_ATTRS128
1950_mm_maskz_add_sd(__mmask8 __U,__m128d __A, __m128d __B) {
1853static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
1854_mm_maskz_add_sd(__mmask8 __U, __m128d __A, __m128d __B) {
19511855 __A = _mm_add_sd(__A, __B);
19521856 return __builtin_ia32_selectsd_128(__U, __A, _mm_setzero_pd());
19531857}
......@@ -1969,28 +1873,28 @@ _mm_maskz_add_sd(__mmask8 __U,__m128d __A, __m128d __B) {
19691873 (__v2df)_mm_setzero_pd(), \
19701874 (__mmask8)(U), (int)(R)))
19711875
1972static __inline__ __m512d __DEFAULT_FN_ATTRS512
1876static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
19731877_mm512_mask_add_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
19741878 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
19751879 (__v8df)_mm512_add_pd(__A, __B),
19761880 (__v8df)__W);
19771881}
19781882
1979static __inline__ __m512d __DEFAULT_FN_ATTRS512
1883static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
19801884_mm512_maskz_add_pd(__mmask8 __U, __m512d __A, __m512d __B) {
19811885 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
19821886 (__v8df)_mm512_add_pd(__A, __B),
19831887 (__v8df)_mm512_setzero_pd());
19841888}
19851889
1986static __inline__ __m512 __DEFAULT_FN_ATTRS512
1890static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
19871891_mm512_mask_add_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
19881892 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
19891893 (__v16sf)_mm512_add_ps(__A, __B),
19901894 (__v16sf)__W);
19911895}
19921896
1993static __inline__ __m512 __DEFAULT_FN_ATTRS512
1897static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
19941898_mm512_maskz_add_ps(__mmask16 __U, __m512 __A, __m512 __B) {
19951899 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
19961900 (__v16sf)_mm512_add_ps(__A, __B),
......@@ -2025,14 +1929,14 @@ _mm512_maskz_add_ps(__mmask16 __U, __m512 __A, __m512 __B) {
20251929 (__v16sf)_mm512_add_round_ps((A), (B), (R)), \
20261930 (__v16sf)_mm512_setzero_ps()))
20271931
2028static __inline__ __m128 __DEFAULT_FN_ATTRS128
2029_mm_mask_sub_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
1932static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1933_mm_mask_sub_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
20301934 __A = _mm_sub_ss(__A, __B);
20311935 return __builtin_ia32_selectss_128(__U, __A, __W);
20321936}
20331937
2034static __inline__ __m128 __DEFAULT_FN_ATTRS128
2035_mm_maskz_sub_ss(__mmask8 __U,__m128 __A, __m128 __B) {
1938static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1939_mm_maskz_sub_ss(__mmask8 __U, __m128 __A, __m128 __B) {
20361940 __A = _mm_sub_ss(__A, __B);
20371941 return __builtin_ia32_selectss_128(__U, __A, _mm_setzero_ps());
20381942}
......@@ -2054,14 +1958,14 @@ _mm_maskz_sub_ss(__mmask8 __U,__m128 __A, __m128 __B) {
20541958 (__v4sf)_mm_setzero_ps(), \
20551959 (__mmask8)(U), (int)(R)))
20561960
2057static __inline__ __m128d __DEFAULT_FN_ATTRS128
2058_mm_mask_sub_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
1961static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
1962_mm_mask_sub_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
20591963 __A = _mm_sub_sd(__A, __B);
20601964 return __builtin_ia32_selectsd_128(__U, __A, __W);
20611965}
20621966
2063static __inline__ __m128d __DEFAULT_FN_ATTRS128
2064_mm_maskz_sub_sd(__mmask8 __U,__m128d __A, __m128d __B) {
1967static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
1968_mm_maskz_sub_sd(__mmask8 __U, __m128d __A, __m128d __B) {
20651969 __A = _mm_sub_sd(__A, __B);
20661970 return __builtin_ia32_selectsd_128(__U, __A, _mm_setzero_pd());
20671971}
......@@ -2084,28 +1988,28 @@ _mm_maskz_sub_sd(__mmask8 __U,__m128d __A, __m128d __B) {
20841988 (__v2df)_mm_setzero_pd(), \
20851989 (__mmask8)(U), (int)(R)))
20861990
2087static __inline__ __m512d __DEFAULT_FN_ATTRS512
1991static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
20881992_mm512_mask_sub_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
20891993 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
20901994 (__v8df)_mm512_sub_pd(__A, __B),
20911995 (__v8df)__W);
20921996}
20931997
2094static __inline__ __m512d __DEFAULT_FN_ATTRS512
1998static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
20951999_mm512_maskz_sub_pd(__mmask8 __U, __m512d __A, __m512d __B) {
20962000 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
20972001 (__v8df)_mm512_sub_pd(__A, __B),
20982002 (__v8df)_mm512_setzero_pd());
20992003}
21002004
2101static __inline__ __m512 __DEFAULT_FN_ATTRS512
2005static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
21022006_mm512_mask_sub_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
21032007 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
21042008 (__v16sf)_mm512_sub_ps(__A, __B),
21052009 (__v16sf)__W);
21062010}
21072011
2108static __inline__ __m512 __DEFAULT_FN_ATTRS512
2012static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
21092013_mm512_maskz_sub_ps(__mmask16 __U, __m512 __A, __m512 __B) {
21102014 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
21112015 (__v16sf)_mm512_sub_ps(__A, __B),
......@@ -2140,14 +2044,14 @@ _mm512_maskz_sub_ps(__mmask16 __U, __m512 __A, __m512 __B) {
21402044 (__v16sf)_mm512_sub_round_ps((A), (B), (R)), \
21412045 (__v16sf)_mm512_setzero_ps()))
21422046
2143static __inline__ __m128 __DEFAULT_FN_ATTRS128
2144_mm_mask_mul_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
2047static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2048_mm_mask_mul_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
21452049 __A = _mm_mul_ss(__A, __B);
21462050 return __builtin_ia32_selectss_128(__U, __A, __W);
21472051}
21482052
2149static __inline__ __m128 __DEFAULT_FN_ATTRS128
2150_mm_maskz_mul_ss(__mmask8 __U,__m128 __A, __m128 __B) {
2053static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2054_mm_maskz_mul_ss(__mmask8 __U, __m128 __A, __m128 __B) {
21512055 __A = _mm_mul_ss(__A, __B);
21522056 return __builtin_ia32_selectss_128(__U, __A, _mm_setzero_ps());
21532057}
......@@ -2169,14 +2073,14 @@ _mm_maskz_mul_ss(__mmask8 __U,__m128 __A, __m128 __B) {
21692073 (__v4sf)_mm_setzero_ps(), \
21702074 (__mmask8)(U), (int)(R)))
21712075
2172static __inline__ __m128d __DEFAULT_FN_ATTRS128
2173_mm_mask_mul_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
2076static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2077_mm_mask_mul_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
21742078 __A = _mm_mul_sd(__A, __B);
21752079 return __builtin_ia32_selectsd_128(__U, __A, __W);
21762080}
21772081
2178static __inline__ __m128d __DEFAULT_FN_ATTRS128
2179_mm_maskz_mul_sd(__mmask8 __U,__m128d __A, __m128d __B) {
2082static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2083_mm_maskz_mul_sd(__mmask8 __U, __m128d __A, __m128d __B) {
21802084 __A = _mm_mul_sd(__A, __B);
21812085 return __builtin_ia32_selectsd_128(__U, __A, _mm_setzero_pd());
21822086}
......@@ -2199,28 +2103,28 @@ _mm_maskz_mul_sd(__mmask8 __U,__m128d __A, __m128d __B) {
21992103 (__v2df)_mm_setzero_pd(), \
22002104 (__mmask8)(U), (int)(R)))
22012105
2202static __inline__ __m512d __DEFAULT_FN_ATTRS512
2106static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
22032107_mm512_mask_mul_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
22042108 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
22052109 (__v8df)_mm512_mul_pd(__A, __B),
22062110 (__v8df)__W);
22072111}
22082112
2209static __inline__ __m512d __DEFAULT_FN_ATTRS512
2113static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
22102114_mm512_maskz_mul_pd(__mmask8 __U, __m512d __A, __m512d __B) {
22112115 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
22122116 (__v8df)_mm512_mul_pd(__A, __B),
22132117 (__v8df)_mm512_setzero_pd());
22142118}
22152119
2216static __inline__ __m512 __DEFAULT_FN_ATTRS512
2120static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
22172121_mm512_mask_mul_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
22182122 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
22192123 (__v16sf)_mm512_mul_ps(__A, __B),
22202124 (__v16sf)__W);
22212125}
22222126
2223static __inline__ __m512 __DEFAULT_FN_ATTRS512
2127static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
22242128_mm512_maskz_mul_ps(__mmask16 __U, __m512 __A, __m512 __B) {
22252129 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
22262130 (__v16sf)_mm512_mul_ps(__A, __B),
......@@ -2255,14 +2159,14 @@ _mm512_maskz_mul_ps(__mmask16 __U, __m512 __A, __m512 __B) {
22552159 (__v16sf)_mm512_mul_round_ps((A), (B), (R)), \
22562160 (__v16sf)_mm512_setzero_ps()))
22572161
2258static __inline__ __m128 __DEFAULT_FN_ATTRS128
2259_mm_mask_div_ss(__m128 __W, __mmask8 __U,__m128 __A, __m128 __B) {
2162static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2163_mm_mask_div_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
22602164 __A = _mm_div_ss(__A, __B);
22612165 return __builtin_ia32_selectss_128(__U, __A, __W);
22622166}
22632167
2264static __inline__ __m128 __DEFAULT_FN_ATTRS128
2265_mm_maskz_div_ss(__mmask8 __U,__m128 __A, __m128 __B) {
2168static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2169_mm_maskz_div_ss(__mmask8 __U, __m128 __A, __m128 __B) {
22662170 __A = _mm_div_ss(__A, __B);
22672171 return __builtin_ia32_selectss_128(__U, __A, _mm_setzero_ps());
22682172}
......@@ -2285,14 +2189,14 @@ _mm_maskz_div_ss(__mmask8 __U,__m128 __A, __m128 __B) {
22852189 (__v4sf)_mm_setzero_ps(), \
22862190 (__mmask8)(U), (int)(R)))
22872191
2288static __inline__ __m128d __DEFAULT_FN_ATTRS128
2289_mm_mask_div_sd(__m128d __W, __mmask8 __U,__m128d __A, __m128d __B) {
2192static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2193_mm_mask_div_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
22902194 __A = _mm_div_sd(__A, __B);
22912195 return __builtin_ia32_selectsd_128(__U, __A, __W);
22922196}
22932197
2294static __inline__ __m128d __DEFAULT_FN_ATTRS128
2295_mm_maskz_div_sd(__mmask8 __U,__m128d __A, __m128d __B) {
2198static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2199_mm_maskz_div_sd(__mmask8 __U, __m128d __A, __m128d __B) {
22962200 __A = _mm_div_sd(__A, __B);
22972201 return __builtin_ia32_selectsd_128(__U, __A, _mm_setzero_pd());
22982202}
......@@ -2315,40 +2219,38 @@ _mm_maskz_div_sd(__mmask8 __U,__m128d __A, __m128d __B) {
23152219 (__v2df)_mm_setzero_pd(), \
23162220 (__mmask8)(U), (int)(R)))
23172221
2318static __inline __m512d __DEFAULT_FN_ATTRS512
2319_mm512_div_pd(__m512d __a, __m512d __b)
2320{
2222static __inline __m512d
2223 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_div_pd(__m512d __a, __m512d __b) {
23212224 return (__m512d)((__v8df)__a/(__v8df)__b);
23222225}
23232226
2324static __inline__ __m512d __DEFAULT_FN_ATTRS512
2227static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
23252228_mm512_mask_div_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
23262229 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
23272230 (__v8df)_mm512_div_pd(__A, __B),
23282231 (__v8df)__W);
23292232}
23302233
2331static __inline__ __m512d __DEFAULT_FN_ATTRS512
2234static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
23322235_mm512_maskz_div_pd(__mmask8 __U, __m512d __A, __m512d __B) {
23332236 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
23342237 (__v8df)_mm512_div_pd(__A, __B),
23352238 (__v8df)_mm512_setzero_pd());
23362239}
23372240
2338static __inline __m512 __DEFAULT_FN_ATTRS512
2339_mm512_div_ps(__m512 __a, __m512 __b)
2340{
2241static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2242_mm512_div_ps(__m512 __a, __m512 __b) {
23412243 return (__m512)((__v16sf)__a/(__v16sf)__b);
23422244}
23432245
2344static __inline__ __m512 __DEFAULT_FN_ATTRS512
2246static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
23452247_mm512_mask_div_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
23462248 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
23472249 (__v16sf)_mm512_div_ps(__A, __B),
23482250 (__v16sf)__W);
23492251}
23502252
2351static __inline__ __m512 __DEFAULT_FN_ATTRS512
2253static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
23522254_mm512_maskz_div_ps(__mmask16 __U, __m512 __A, __m512 __B) {
23532255 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
23542256 (__v16sf)_mm512_div_ps(__A, __B),
......@@ -2530,125 +2432,104 @@ _mm512_maskz_div_ps(__mmask16 __U, __m512 __A, __m512 __B) {
25302432 -(__v8df)(__m512d)(C), \
25312433 (__mmask8)(U), (int)(R)))
25322434
2435static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2436_mm512_fmadd_pd(__m512d __A, __m512d __B, __m512d __C) {
2437 return (__m512d)__builtin_elementwise_fma((__v8df)__A, (__v8df)__B,
2438 (__v8df)__C);
2439}
25332440
2534static __inline__ __m512d __DEFAULT_FN_ATTRS512
2535_mm512_fmadd_pd(__m512d __A, __m512d __B, __m512d __C)
2536{
2537 return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
2538 (__v8df) __B,
2539 (__v8df) __C,
2540 (__mmask8) -1,
2541 _MM_FROUND_CUR_DIRECTION);
2441static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2442_mm512_mask_fmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) {
2443 return (__m512d)__builtin_ia32_selectpd_512(
2444 (__mmask8)__U, (__v8df)_mm512_fmadd_pd(__A, __B, __C), (__v8df)__A);
25422445}
25432446
2544static __inline__ __m512d __DEFAULT_FN_ATTRS512
2545_mm512_mask_fmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
2546{
2547 return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
2548 (__v8df) __B,
2549 (__v8df) __C,
2550 (__mmask8) __U,
2551 _MM_FROUND_CUR_DIRECTION);
2447static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2448_mm512_mask3_fmadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) {
2449 return (__m512d)__builtin_ia32_selectpd_512(
2450 (__mmask8)__U, (__v8df)_mm512_fmadd_pd(__A, __B, __C), (__v8df)__C);
25522451}
25532452
2554static __inline__ __m512d __DEFAULT_FN_ATTRS512
2555_mm512_mask3_fmadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
2556{
2557 return (__m512d) __builtin_ia32_vfmaddpd512_mask3 ((__v8df) __A,
2558 (__v8df) __B,
2559 (__v8df) __C,
2560 (__mmask8) __U,
2561 _MM_FROUND_CUR_DIRECTION);
2453static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2454_mm512_maskz_fmadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) {
2455 return (__m512d)__builtin_ia32_selectpd_512(
2456 (__mmask8)__U, (__v8df)_mm512_fmadd_pd(__A, __B, __C),
2457 (__v8df)_mm512_setzero_pd());
25622458}
25632459
2564static __inline__ __m512d __DEFAULT_FN_ATTRS512
2565_mm512_maskz_fmadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
2566{
2567 return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A,
2568 (__v8df) __B,
2569 (__v8df) __C,
2570 (__mmask8) __U,
2571 _MM_FROUND_CUR_DIRECTION);
2460static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2461_mm512_fmsub_pd(__m512d __A, __m512d __B, __m512d __C) {
2462 return (__m512d)__builtin_elementwise_fma((__v8df)__A, (__v8df)__B,
2463 -(__v8df)__C);
25722464}
25732465
2574static __inline__ __m512d __DEFAULT_FN_ATTRS512
2575_mm512_fmsub_pd(__m512d __A, __m512d __B, __m512d __C)
2576{
2577 return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
2578 (__v8df) __B,
2579 -(__v8df) __C,
2580 (__mmask8) -1,
2581 _MM_FROUND_CUR_DIRECTION);
2466static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2467_mm512_mask_fmsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) {
2468 return (__m512d)__builtin_ia32_selectpd_512(
2469 (__mmask8)__U, (__v8df)_mm512_fmsub_pd(__A, __B, __C), (__v8df)__A);
25822470}
25832471
2584static __inline__ __m512d __DEFAULT_FN_ATTRS512
2585_mm512_mask_fmsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
2586{
2587 return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
2588 (__v8df) __B,
2589 -(__v8df) __C,
2590 (__mmask8) __U,
2591 _MM_FROUND_CUR_DIRECTION);
2472static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2473_mm512_mask3_fmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) {
2474 return (__m512d)__builtin_ia32_selectpd_512(
2475 (__mmask8)__U, (__v8df)_mm512_fmsub_pd(__A, __B, __C), (__v8df)__C);
25922476}
25932477
2594static __inline__ __m512d __DEFAULT_FN_ATTRS512
2595_mm512_maskz_fmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
2596{
2597 return (__m512d) __builtin_ia32_vfmaddpd512_maskz ((__v8df) __A,
2598 (__v8df) __B,
2599 -(__v8df) __C,
2600 (__mmask8) __U,
2601 _MM_FROUND_CUR_DIRECTION);
2478static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2479_mm512_maskz_fmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) {
2480 return (__m512d)__builtin_ia32_selectpd_512(
2481 (__mmask8)__U, (__v8df)_mm512_fmsub_pd(__A, __B, __C),
2482 (__v8df)_mm512_setzero_pd());
26022483}
26032484
2604static __inline__ __m512d __DEFAULT_FN_ATTRS512
2605_mm512_fnmadd_pd(__m512d __A, __m512d __B, __m512d __C)
2606{
2607 return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
2608 -(__v8df) __B,
2609 (__v8df) __C,
2610 (__mmask8) -1,
2611 _MM_FROUND_CUR_DIRECTION);
2485static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2486_mm512_fnmadd_pd(__m512d __A, __m512d __B, __m512d __C) {
2487 return (__m512d)__builtin_elementwise_fma(-(__v8df)__A, (__v8df)__B,
2488 (__v8df)__C);
26122489}
26132490
2614static __inline__ __m512d __DEFAULT_FN_ATTRS512
2615_mm512_mask3_fnmadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
2616{
2617 return (__m512d) __builtin_ia32_vfmaddpd512_mask3 (-(__v8df) __A,
2618 (__v8df) __B,
2619 (__v8df) __C,
2620 (__mmask8) __U,
2621 _MM_FROUND_CUR_DIRECTION);
2491static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2492_mm512_mask_fnmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) {
2493 return (__m512d)__builtin_ia32_selectpd_512(
2494 (__mmask8)__U, (__v8df)_mm512_fnmadd_pd(__A, __B, __C), (__v8df)__A);
26222495}
26232496
2624static __inline__ __m512d __DEFAULT_FN_ATTRS512
2625_mm512_maskz_fnmadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
2626{
2627 return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A,
2628 (__v8df) __B,
2629 (__v8df) __C,
2630 (__mmask8) __U,
2631 _MM_FROUND_CUR_DIRECTION);
2497static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2498_mm512_mask3_fnmadd_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) {
2499 return (__m512d)__builtin_ia32_selectpd_512(
2500 (__mmask8)__U, (__v8df)_mm512_fnmadd_pd(__A, __B, __C), (__v8df)__C);
26322501}
26332502
2634static __inline__ __m512d __DEFAULT_FN_ATTRS512
2635_mm512_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C)
2636{
2637 return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
2638 -(__v8df) __B,
2639 -(__v8df) __C,
2640 (__mmask8) -1,
2641 _MM_FROUND_CUR_DIRECTION);
2503static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2504_mm512_maskz_fnmadd_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) {
2505 return (__m512d)__builtin_ia32_selectpd_512(
2506 (__mmask8)__U, (__v8df)_mm512_fnmadd_pd(__A, __B, __C),
2507 (__v8df)_mm512_setzero_pd());
26422508}
26432509
2644static __inline__ __m512d __DEFAULT_FN_ATTRS512
2645_mm512_maskz_fnmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
2646{
2647 return (__m512d) __builtin_ia32_vfmaddpd512_maskz (-(__v8df) __A,
2648 (__v8df) __B,
2649 -(__v8df) __C,
2650 (__mmask8) __U,
2651 _MM_FROUND_CUR_DIRECTION);
2510static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2511_mm512_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C) {
2512 return (__m512d)__builtin_elementwise_fma(-(__v8df)__A, (__v8df)__B,
2513 -(__v8df)__C);
2514}
2515
2516static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2517_mm512_mask_fnmsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C) {
2518 return (__m512d)__builtin_ia32_selectpd_512(
2519 (__mmask8)__U, (__v8df)_mm512_fnmsub_pd(__A, __B, __C), (__v8df)__A);
2520}
2521
2522static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2523_mm512_mask3_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U) {
2524 return (__m512d)__builtin_ia32_selectpd_512(
2525 (__mmask8)__U, (__v8df)_mm512_fnmsub_pd(__A, __B, __C), (__v8df)__C);
2526}
2527
2528static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
2529_mm512_maskz_fnmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C) {
2530 return (__m512d)__builtin_ia32_selectpd_512(
2531 (__mmask8)__U, (__v8df)_mm512_fnmsub_pd(__A, __B, __C),
2532 (__v8df)_mm512_setzero_pd());
26522533}
26532534
26542535#define _mm512_fmadd_round_ps(A, B, C, R) \
......@@ -2734,125 +2615,104 @@ _mm512_maskz_fnmsub_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512d __C)
27342615 -(__v16sf)(__m512)(C), \
27352616 (__mmask16)(U), (int)(R)))
27362617
2618static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2619_mm512_fmadd_ps(__m512 __A, __m512 __B, __m512 __C) {
2620 return (__m512)__builtin_elementwise_fma((__v16sf)__A, (__v16sf)__B,
2621 (__v16sf)__C);
2622}
27372623
2738static __inline__ __m512 __DEFAULT_FN_ATTRS512
2739_mm512_fmadd_ps(__m512 __A, __m512 __B, __m512 __C)
2740{
2741 return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
2742 (__v16sf) __B,
2743 (__v16sf) __C,
2744 (__mmask16) -1,
2745 _MM_FROUND_CUR_DIRECTION);
2624static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2625_mm512_mask_fmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) {
2626 return (__m512)__builtin_ia32_selectps_512(
2627 (__mmask16)__U, (__v16sf)_mm512_fmadd_ps(__A, __B, __C), (__v16sf)__A);
27462628}
27472629
2748static __inline__ __m512 __DEFAULT_FN_ATTRS512
2749_mm512_mask_fmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
2750{
2751 return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
2752 (__v16sf) __B,
2753 (__v16sf) __C,
2754 (__mmask16) __U,
2755 _MM_FROUND_CUR_DIRECTION);
2630static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2631_mm512_mask3_fmadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) {
2632 return (__m512)__builtin_ia32_selectps_512(
2633 (__mmask16)__U, (__v16sf)_mm512_fmadd_ps(__A, __B, __C), (__v16sf)__C);
27562634}
27572635
2758static __inline__ __m512 __DEFAULT_FN_ATTRS512
2759_mm512_mask3_fmadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
2760{
2761 return (__m512) __builtin_ia32_vfmaddps512_mask3 ((__v16sf) __A,
2762 (__v16sf) __B,
2763 (__v16sf) __C,
2764 (__mmask16) __U,
2765 _MM_FROUND_CUR_DIRECTION);
2636static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2637_mm512_maskz_fmadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) {
2638 return (__m512)__builtin_ia32_selectps_512(
2639 (__mmask16)__U, (__v16sf)_mm512_fmadd_ps(__A, __B, __C),
2640 (__v16sf)_mm512_setzero_ps());
27662641}
27672642
2768static __inline__ __m512 __DEFAULT_FN_ATTRS512
2769_mm512_maskz_fmadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
2770{
2771 return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A,
2772 (__v16sf) __B,
2773 (__v16sf) __C,
2774 (__mmask16) __U,
2775 _MM_FROUND_CUR_DIRECTION);
2643static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2644_mm512_fmsub_ps(__m512 __A, __m512 __B, __m512 __C) {
2645 return (__m512)__builtin_elementwise_fma((__v16sf)__A, (__v16sf)__B,
2646 -(__v16sf)__C);
27762647}
27772648
2778static __inline__ __m512 __DEFAULT_FN_ATTRS512
2779_mm512_fmsub_ps(__m512 __A, __m512 __B, __m512 __C)
2780{
2781 return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
2782 (__v16sf) __B,
2783 -(__v16sf) __C,
2784 (__mmask16) -1,
2785 _MM_FROUND_CUR_DIRECTION);
2649static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2650_mm512_mask_fmsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) {
2651 return (__m512)__builtin_ia32_selectps_512(
2652 (__mmask16)__U, (__v16sf)_mm512_fmsub_ps(__A, __B, __C), (__v16sf)__A);
27862653}
27872654
2788static __inline__ __m512 __DEFAULT_FN_ATTRS512
2789_mm512_mask_fmsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
2790{
2791 return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
2792 (__v16sf) __B,
2793 -(__v16sf) __C,
2794 (__mmask16) __U,
2795 _MM_FROUND_CUR_DIRECTION);
2655static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2656_mm512_mask3_fmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) {
2657 return (__m512)__builtin_ia32_selectps_512(
2658 (__mmask16)__U, (__v16sf)_mm512_fmsub_ps(__A, __B, __C), (__v16sf)__C);
2659}
2660
2661static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2662_mm512_maskz_fmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) {
2663 return (__m512)__builtin_ia32_selectps_512(
2664 (__mmask16)__U, (__v16sf)_mm512_fmsub_ps(__A, __B, __C),
2665 (__v16sf)_mm512_setzero_ps());
2666}
2667
2668static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2669_mm512_fnmadd_ps(__m512 __A, __m512 __B, __m512 __C) {
2670 return (__m512)__builtin_elementwise_fma(-(__v16sf)__A, (__v16sf)__B,
2671 (__v16sf)__C);
27962672}
27972673
2798static __inline__ __m512 __DEFAULT_FN_ATTRS512
2799_mm512_maskz_fmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
2800{
2801 return (__m512) __builtin_ia32_vfmaddps512_maskz ((__v16sf) __A,
2802 (__v16sf) __B,
2803 -(__v16sf) __C,
2804 (__mmask16) __U,
2805 _MM_FROUND_CUR_DIRECTION);
2674static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2675_mm512_mask_fnmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) {
2676 return (__m512)__builtin_ia32_selectps_512(
2677 (__mmask16)__U, (__v16sf)_mm512_fnmadd_ps(__A, __B, __C), (__v16sf)__A);
28062678}
28072679
2808static __inline__ __m512 __DEFAULT_FN_ATTRS512
2809_mm512_fnmadd_ps(__m512 __A, __m512 __B, __m512 __C)
2810{
2811 return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
2812 -(__v16sf) __B,
2813 (__v16sf) __C,
2814 (__mmask16) -1,
2815 _MM_FROUND_CUR_DIRECTION);
2680static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2681_mm512_mask3_fnmadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) {
2682 return (__m512)__builtin_ia32_selectps_512(
2683 (__mmask16)__U, (__v16sf)_mm512_fnmadd_ps(__A, __B, __C), (__v16sf)__C);
28162684}
28172685
2818static __inline__ __m512 __DEFAULT_FN_ATTRS512
2819_mm512_mask3_fnmadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
2820{
2821 return (__m512) __builtin_ia32_vfmaddps512_mask3 (-(__v16sf) __A,
2822 (__v16sf) __B,
2823 (__v16sf) __C,
2824 (__mmask16) __U,
2825 _MM_FROUND_CUR_DIRECTION);
2686static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2687_mm512_maskz_fnmadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) {
2688 return (__m512)__builtin_ia32_selectps_512(
2689 (__mmask16)__U, (__v16sf)_mm512_fnmadd_ps(__A, __B, __C),
2690 (__v16sf)_mm512_setzero_ps());
28262691}
28272692
2828static __inline__ __m512 __DEFAULT_FN_ATTRS512
2829_mm512_maskz_fnmadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
2830{
2831 return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A,
2832 (__v16sf) __B,
2833 (__v16sf) __C,
2834 (__mmask16) __U,
2835 _MM_FROUND_CUR_DIRECTION);
2693static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2694_mm512_fnmsub_ps(__m512 __A, __m512 __B, __m512 __C) {
2695 return (__m512)__builtin_elementwise_fma(-(__v16sf)__A, (__v16sf)__B,
2696 -(__v16sf)__C);
28362697}
28372698
2838static __inline__ __m512 __DEFAULT_FN_ATTRS512
2839_mm512_fnmsub_ps(__m512 __A, __m512 __B, __m512 __C)
2840{
2841 return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
2842 -(__v16sf) __B,
2843 -(__v16sf) __C,
2844 (__mmask16) -1,
2845 _MM_FROUND_CUR_DIRECTION);
2699static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2700_mm512_mask_fnmsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C) {
2701 return (__m512)__builtin_ia32_selectps_512(
2702 (__mmask16)__U, (__v16sf)_mm512_fnmsub_ps(__A, __B, __C), (__v16sf)__A);
28462703}
28472704
2848static __inline__ __m512 __DEFAULT_FN_ATTRS512
2849_mm512_maskz_fnmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
2850{
2851 return (__m512) __builtin_ia32_vfmaddps512_maskz (-(__v16sf) __A,
2852 (__v16sf) __B,
2853 -(__v16sf) __C,
2854 (__mmask16) __U,
2855 _MM_FROUND_CUR_DIRECTION);
2705static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2706_mm512_mask3_fnmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U) {
2707 return (__m512)__builtin_ia32_selectps_512(
2708 (__mmask16)__U, (__v16sf)_mm512_fnmsub_ps(__A, __B, __C), (__v16sf)__C);
2709}
2710
2711static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
2712_mm512_maskz_fnmsub_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C) {
2713 return (__m512)__builtin_ia32_selectps_512(
2714 (__mmask16)__U, (__v16sf)_mm512_fnmsub_ps(__A, __B, __C),
2715 (__v16sf)_mm512_setzero_ps());
28562716}
28572717
28582718#define _mm512_fmaddsub_round_pd(A, B, C, R) \
......@@ -3099,33 +2959,12 @@ _mm512_maskz_fmsubadd_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512 __C)
30992959 (__v8df)(__m512d)(C), \
31002960 (__mmask8)(U), (int)(R)))
31012961
3102
3103static __inline__ __m512d __DEFAULT_FN_ATTRS512
3104_mm512_mask3_fmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
3105{
3106 return (__m512d)__builtin_ia32_vfmsubpd512_mask3 ((__v8df) __A,
3107 (__v8df) __B,
3108 (__v8df) __C,
3109 (__mmask8) __U,
3110 _MM_FROUND_CUR_DIRECTION);
3111}
3112
31132962#define _mm512_mask3_fmsub_round_ps(A, B, C, U, R) \
31142963 ((__m512)__builtin_ia32_vfmsubps512_mask3((__v16sf)(__m512)(A), \
31152964 (__v16sf)(__m512)(B), \
31162965 (__v16sf)(__m512)(C), \
31172966 (__mmask16)(U), (int)(R)))
31182967
3119static __inline__ __m512 __DEFAULT_FN_ATTRS512
3120_mm512_mask3_fmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
3121{
3122 return (__m512)__builtin_ia32_vfmsubps512_mask3 ((__v16sf) __A,
3123 (__v16sf) __B,
3124 (__v16sf) __C,
3125 (__mmask16) __U,
3126 _MM_FROUND_CUR_DIRECTION);
3127}
3128
31292968#define _mm512_mask3_fmsubadd_round_pd(A, B, C, U, R) \
31302969 ((__m512d)__builtin_ia32_vfmsubaddpd512_mask3((__v8df)(__m512d)(A), \
31312970 (__v8df)(__m512d)(B), \
......@@ -3166,34 +3005,12 @@ _mm512_mask3_fmsubadd_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
31663005 (__v8df)(__m512d)(C), \
31673006 (__mmask8)(U), (int)(R)))
31683007
3169
3170static __inline__ __m512d __DEFAULT_FN_ATTRS512
3171_mm512_mask_fnmadd_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
3172{
3173 return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
3174 -(__v8df) __B,
3175 (__v8df) __C,
3176 (__mmask8) __U,
3177 _MM_FROUND_CUR_DIRECTION);
3178}
3179
31803008#define _mm512_mask_fnmadd_round_ps(A, U, B, C, R) \
31813009 ((__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
31823010 -(__v16sf)(__m512)(B), \
31833011 (__v16sf)(__m512)(C), \
31843012 (__mmask16)(U), (int)(R)))
31853013
3186
3187static __inline__ __m512 __DEFAULT_FN_ATTRS512
3188_mm512_mask_fnmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
3189{
3190 return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
3191 -(__v16sf) __B,
3192 (__v16sf) __C,
3193 (__mmask16) __U,
3194 _MM_FROUND_CUR_DIRECTION);
3195}
3196
31973014#define _mm512_mask_fnmsub_round_pd(A, U, B, C, R) \
31983015 ((__m512d)__builtin_ia32_vfmaddpd512_mask((__v8df)(__m512d)(A), \
31993016 -(__v8df)(__m512d)(B), \
......@@ -3207,27 +3024,6 @@ _mm512_mask_fnmadd_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
32073024 (__v8df)(__m512d)(C), \
32083025 (__mmask8)(U), (int)(R)))
32093026
3210
3211static __inline__ __m512d __DEFAULT_FN_ATTRS512
3212_mm512_mask_fnmsub_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512d __C)
3213{
3214 return (__m512d) __builtin_ia32_vfmaddpd512_mask ((__v8df) __A,
3215 -(__v8df) __B,
3216 -(__v8df) __C,
3217 (__mmask8) __U,
3218 _MM_FROUND_CUR_DIRECTION);
3219}
3220
3221static __inline__ __m512d __DEFAULT_FN_ATTRS512
3222_mm512_mask3_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
3223{
3224 return (__m512d) __builtin_ia32_vfmsubpd512_mask3 (-(__v8df) __A,
3225 (__v8df) __B,
3226 (__v8df) __C,
3227 (__mmask8) __U,
3228 _MM_FROUND_CUR_DIRECTION);
3229}
3230
32313027#define _mm512_mask_fnmsub_round_ps(A, U, B, C, R) \
32323028 ((__m512)__builtin_ia32_vfmaddps512_mask((__v16sf)(__m512)(A), \
32333029 -(__v16sf)(__m512)(B), \
......@@ -3241,94 +3037,63 @@ _mm512_mask3_fnmsub_pd(__m512d __A, __m512d __B, __m512d __C, __mmask8 __U)
32413037 (__v16sf)(__m512)(C), \
32423038 (__mmask16)(U), (int)(R)))
32433039
3244
3245static __inline__ __m512 __DEFAULT_FN_ATTRS512
3246_mm512_mask_fnmsub_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512 __C)
3247{
3248 return (__m512) __builtin_ia32_vfmaddps512_mask ((__v16sf) __A,
3249 -(__v16sf) __B,
3250 -(__v16sf) __C,
3251 (__mmask16) __U,
3252 _MM_FROUND_CUR_DIRECTION);
3253}
3254
3255static __inline__ __m512 __DEFAULT_FN_ATTRS512
3256_mm512_mask3_fnmsub_ps(__m512 __A, __m512 __B, __m512 __C, __mmask16 __U)
3257{
3258 return (__m512) __builtin_ia32_vfmsubps512_mask3 (-(__v16sf) __A,
3259 (__v16sf) __B,
3260 (__v16sf) __C,
3261 (__mmask16) __U,
3262 _MM_FROUND_CUR_DIRECTION);
3263}
3264
3265
3266
32673040/* Vector permutations */
32683041
3269static __inline __m512i __DEFAULT_FN_ATTRS512
3270_mm512_permutex2var_epi32(__m512i __A, __m512i __I, __m512i __B)
3271{
3042static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3043_mm512_permutex2var_epi32(__m512i __A, __m512i __I, __m512i __B) {
32723044 return (__m512i)__builtin_ia32_vpermi2vard512((__v16si)__A, (__v16si) __I,
32733045 (__v16si) __B);
32743046}
32753047
3276static __inline__ __m512i __DEFAULT_FN_ATTRS512
3048static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
32773049_mm512_mask_permutex2var_epi32(__m512i __A, __mmask16 __U, __m512i __I,
3278 __m512i __B)
3279{
3050 __m512i __B) {
32803051 return (__m512i)__builtin_ia32_selectd_512(__U,
32813052 (__v16si)_mm512_permutex2var_epi32(__A, __I, __B),
32823053 (__v16si)__A);
32833054}
32843055
3285static __inline__ __m512i __DEFAULT_FN_ATTRS512
3056static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
32863057_mm512_mask2_permutex2var_epi32(__m512i __A, __m512i __I, __mmask16 __U,
3287 __m512i __B)
3288{
3058 __m512i __B) {
32893059 return (__m512i)__builtin_ia32_selectd_512(__U,
32903060 (__v16si)_mm512_permutex2var_epi32(__A, __I, __B),
32913061 (__v16si)__I);
32923062}
32933063
3294static __inline__ __m512i __DEFAULT_FN_ATTRS512
3064static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
32953065_mm512_maskz_permutex2var_epi32(__mmask16 __U, __m512i __A, __m512i __I,
3296 __m512i __B)
3297{
3066 __m512i __B) {
32983067 return (__m512i)__builtin_ia32_selectd_512(__U,
32993068 (__v16si)_mm512_permutex2var_epi32(__A, __I, __B),
33003069 (__v16si)_mm512_setzero_si512());
33013070}
33023071
3303static __inline __m512i __DEFAULT_FN_ATTRS512
3304_mm512_permutex2var_epi64(__m512i __A, __m512i __I, __m512i __B)
3305{
3072static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3073_mm512_permutex2var_epi64(__m512i __A, __m512i __I, __m512i __B) {
33063074 return (__m512i)__builtin_ia32_vpermi2varq512((__v8di)__A, (__v8di) __I,
33073075 (__v8di) __B);
33083076}
33093077
3310static __inline__ __m512i __DEFAULT_FN_ATTRS512
3078static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
33113079_mm512_mask_permutex2var_epi64(__m512i __A, __mmask8 __U, __m512i __I,
3312 __m512i __B)
3313{
3080 __m512i __B) {
33143081 return (__m512i)__builtin_ia32_selectq_512(__U,
33153082 (__v8di)_mm512_permutex2var_epi64(__A, __I, __B),
33163083 (__v8di)__A);
33173084}
33183085
3319static __inline__ __m512i __DEFAULT_FN_ATTRS512
3086static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
33203087_mm512_mask2_permutex2var_epi64(__m512i __A, __m512i __I, __mmask8 __U,
3321 __m512i __B)
3322{
3088 __m512i __B) {
33233089 return (__m512i)__builtin_ia32_selectq_512(__U,
33243090 (__v8di)_mm512_permutex2var_epi64(__A, __I, __B),
33253091 (__v8di)__I);
33263092}
33273093
3328static __inline__ __m512i __DEFAULT_FN_ATTRS512
3094static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
33293095_mm512_maskz_permutex2var_epi64(__mmask8 __U, __m512i __A, __m512i __I,
3330 __m512i __B)
3331{
3096 __m512i __B) {
33323097 return (__m512i)__builtin_ia32_selectq_512(__U,
33333098 (__v8di)_mm512_permutex2var_epi64(__A, __I, __B),
33343099 (__v8di)_mm512_setzero_si512());
......@@ -3363,10 +3128,10 @@ _mm512_maskz_permutex2var_epi64(__mmask8 __U, __m512i __A, __m512i __I,
33633128 (__v16si)_mm512_setzero_si512()))
33643129/* Vector Extract */
33653130
3366#define _mm512_extractf64x4_pd(A, I) \
3367 ((__m256d)__builtin_ia32_extractf64x4_mask((__v8df)(__m512d)(A), (int)(I), \
3368 (__v4df)_mm256_undefined_pd(), \
3369 (__mmask8)-1))
3131#define _mm512_extractf64x4_pd(A, I) \
3132 ((__m256d)__builtin_ia32_extractf64x4_mask((__v8df)(__m512d)(A), (int)(I), \
3133 (__v4df)_mm256_setzero_pd(), \
3134 (__mmask8) - 1))
33703135
33713136#define _mm512_mask_extractf64x4_pd(W, U, A, imm) \
33723137 ((__m256d)__builtin_ia32_extractf64x4_mask((__v8df)(__m512d)(A), (int)(imm), \
......@@ -3378,10 +3143,10 @@ _mm512_maskz_permutex2var_epi64(__mmask8 __U, __m512i __A, __m512i __I,
33783143 (__v4df)_mm256_setzero_pd(), \
33793144 (__mmask8)(U)))
33803145
3381#define _mm512_extractf32x4_ps(A, I) \
3382 ((__m128)__builtin_ia32_extractf32x4_mask((__v16sf)(__m512)(A), (int)(I), \
3383 (__v4sf)_mm_undefined_ps(), \
3384 (__mmask8)-1))
3146#define _mm512_extractf32x4_ps(A, I) \
3147 ((__m128)__builtin_ia32_extractf32x4_mask((__v16sf)(__m512)(A), (int)(I), \
3148 (__v4sf)_mm_setzero_ps(), \
3149 (__mmask8) - 1))
33853150
33863151#define _mm512_mask_extractf32x4_ps(W, U, A, imm) \
33873152 ((__m128)__builtin_ia32_extractf32x4_mask((__v16sf)(__m512)(A), (int)(imm), \
......@@ -3395,33 +3160,29 @@ _mm512_maskz_permutex2var_epi64(__mmask8 __U, __m512i __A, __m512i __I,
33953160
33963161/* Vector Blend */
33973162
3398static __inline __m512d __DEFAULT_FN_ATTRS512
3399_mm512_mask_blend_pd(__mmask8 __U, __m512d __A, __m512d __W)
3400{
3163static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3164_mm512_mask_blend_pd(__mmask8 __U, __m512d __A, __m512d __W) {
34013165 return (__m512d) __builtin_ia32_selectpd_512 ((__mmask8) __U,
34023166 (__v8df) __W,
34033167 (__v8df) __A);
34043168}
34053169
3406static __inline __m512 __DEFAULT_FN_ATTRS512
3407_mm512_mask_blend_ps(__mmask16 __U, __m512 __A, __m512 __W)
3408{
3170static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3171_mm512_mask_blend_ps(__mmask16 __U, __m512 __A, __m512 __W) {
34093172 return (__m512) __builtin_ia32_selectps_512 ((__mmask16) __U,
34103173 (__v16sf) __W,
34113174 (__v16sf) __A);
34123175}
34133176
3414static __inline __m512i __DEFAULT_FN_ATTRS512
3415_mm512_mask_blend_epi64(__mmask8 __U, __m512i __A, __m512i __W)
3416{
3177static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3178_mm512_mask_blend_epi64(__mmask8 __U, __m512i __A, __m512i __W) {
34173179 return (__m512i) __builtin_ia32_selectq_512 ((__mmask8) __U,
34183180 (__v8di) __W,
34193181 (__v8di) __A);
34203182}
34213183
3422static __inline __m512i __DEFAULT_FN_ATTRS512
3423_mm512_mask_blend_epi32(__mmask16 __U, __m512i __A, __m512i __W)
3424{
3184static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3185_mm512_mask_blend_epi32(__mmask16 __U, __m512i __A, __m512i __W) {
34253186 return (__m512i) __builtin_ia32_selectd_512 ((__mmask16) __U,
34263187 (__v16si) __W,
34273188 (__v16si) __A);
......@@ -3615,115 +3376,99 @@ _mm512_maskz_cvttps_epu32 (__mmask16 __U, __m512 __A)
36153376 (__v16sf)_mm512_setzero_ps(), \
36163377 (__mmask16)(U), (int)(R)))
36173378
3618static __inline__ __m512 __DEFAULT_FN_ATTRS512
3619_mm512_cvtepu32_ps (__m512i __A)
3620{
3379static __inline__ __m512
3380 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_cvtepu32_ps(__m512i __A) {
36213381 return (__m512)__builtin_convertvector((__v16su)__A, __v16sf);
36223382}
36233383
3624static __inline__ __m512 __DEFAULT_FN_ATTRS512
3625_mm512_mask_cvtepu32_ps (__m512 __W, __mmask16 __U, __m512i __A)
3626{
3384static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3385_mm512_mask_cvtepu32_ps(__m512 __W, __mmask16 __U, __m512i __A) {
36273386 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
36283387 (__v16sf)_mm512_cvtepu32_ps(__A),
36293388 (__v16sf)__W);
36303389}
36313390
3632static __inline__ __m512 __DEFAULT_FN_ATTRS512
3633_mm512_maskz_cvtepu32_ps (__mmask16 __U, __m512i __A)
3634{
3391static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3392_mm512_maskz_cvtepu32_ps(__mmask16 __U, __m512i __A) {
36353393 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
36363394 (__v16sf)_mm512_cvtepu32_ps(__A),
36373395 (__v16sf)_mm512_setzero_ps());
36383396}
36393397
3640static __inline __m512d __DEFAULT_FN_ATTRS512
3641_mm512_cvtepi32_pd(__m256i __A)
3642{
3398static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3399_mm512_cvtepi32_pd(__m256i __A) {
36433400 return (__m512d)__builtin_convertvector((__v8si)__A, __v8df);
36443401}
36453402
3646static __inline__ __m512d __DEFAULT_FN_ATTRS512
3647_mm512_mask_cvtepi32_pd (__m512d __W, __mmask8 __U, __m256i __A)
3648{
3403static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3404_mm512_mask_cvtepi32_pd(__m512d __W, __mmask8 __U, __m256i __A) {
36493405 return (__m512d)__builtin_ia32_selectpd_512((__mmask8) __U,
36503406 (__v8df)_mm512_cvtepi32_pd(__A),
36513407 (__v8df)__W);
36523408}
36533409
3654static __inline__ __m512d __DEFAULT_FN_ATTRS512
3655_mm512_maskz_cvtepi32_pd (__mmask8 __U, __m256i __A)
3656{
3410static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3411_mm512_maskz_cvtepi32_pd(__mmask8 __U, __m256i __A) {
36573412 return (__m512d)__builtin_ia32_selectpd_512((__mmask8) __U,
36583413 (__v8df)_mm512_cvtepi32_pd(__A),
36593414 (__v8df)_mm512_setzero_pd());
36603415}
36613416
3662static __inline__ __m512d __DEFAULT_FN_ATTRS512
3663_mm512_cvtepi32lo_pd(__m512i __A)
3664{
3417static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3418_mm512_cvtepi32lo_pd(__m512i __A) {
36653419 return (__m512d) _mm512_cvtepi32_pd(_mm512_castsi512_si256(__A));
36663420}
36673421
3668static __inline__ __m512d __DEFAULT_FN_ATTRS512
3669_mm512_mask_cvtepi32lo_pd(__m512d __W, __mmask8 __U,__m512i __A)
3670{
3422static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3423_mm512_mask_cvtepi32lo_pd(__m512d __W, __mmask8 __U, __m512i __A) {
36713424 return (__m512d) _mm512_mask_cvtepi32_pd(__W, __U, _mm512_castsi512_si256(__A));
36723425}
36733426
3674static __inline__ __m512 __DEFAULT_FN_ATTRS512
3675_mm512_cvtepi32_ps (__m512i __A)
3676{
3427static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3428_mm512_cvtepi32_ps(__m512i __A) {
36773429 return (__m512)__builtin_convertvector((__v16si)__A, __v16sf);
36783430}
36793431
3680static __inline__ __m512 __DEFAULT_FN_ATTRS512
3681_mm512_mask_cvtepi32_ps (__m512 __W, __mmask16 __U, __m512i __A)
3682{
3432static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3433_mm512_mask_cvtepi32_ps(__m512 __W, __mmask16 __U, __m512i __A) {
36833434 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
36843435 (__v16sf)_mm512_cvtepi32_ps(__A),
36853436 (__v16sf)__W);
36863437}
36873438
3688static __inline__ __m512 __DEFAULT_FN_ATTRS512
3689_mm512_maskz_cvtepi32_ps (__mmask16 __U, __m512i __A)
3690{
3439static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3440_mm512_maskz_cvtepi32_ps(__mmask16 __U, __m512i __A) {
36913441 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
36923442 (__v16sf)_mm512_cvtepi32_ps(__A),
36933443 (__v16sf)_mm512_setzero_ps());
36943444}
36953445
3696static __inline __m512d __DEFAULT_FN_ATTRS512
3697_mm512_cvtepu32_pd(__m256i __A)
3698{
3446static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3447_mm512_cvtepu32_pd(__m256i __A) {
36993448 return (__m512d)__builtin_convertvector((__v8su)__A, __v8df);
37003449}
37013450
3702static __inline__ __m512d __DEFAULT_FN_ATTRS512
3703_mm512_mask_cvtepu32_pd (__m512d __W, __mmask8 __U, __m256i __A)
3704{
3451static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3452_mm512_mask_cvtepu32_pd(__m512d __W, __mmask8 __U, __m256i __A) {
37053453 return (__m512d)__builtin_ia32_selectpd_512((__mmask8) __U,
37063454 (__v8df)_mm512_cvtepu32_pd(__A),
37073455 (__v8df)__W);
37083456}
37093457
3710static __inline__ __m512d __DEFAULT_FN_ATTRS512
3711_mm512_maskz_cvtepu32_pd (__mmask8 __U, __m256i __A)
3712{
3458static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3459_mm512_maskz_cvtepu32_pd(__mmask8 __U, __m256i __A) {
37133460 return (__m512d)__builtin_ia32_selectpd_512((__mmask8) __U,
37143461 (__v8df)_mm512_cvtepu32_pd(__A),
37153462 (__v8df)_mm512_setzero_pd());
37163463}
37173464
3718static __inline__ __m512d __DEFAULT_FN_ATTRS512
3719_mm512_cvtepu32lo_pd(__m512i __A)
3720{
3465static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3466_mm512_cvtepu32lo_pd(__m512i __A) {
37213467 return (__m512d) _mm512_cvtepu32_pd(_mm512_castsi512_si256(__A));
37223468}
37233469
3724static __inline__ __m512d __DEFAULT_FN_ATTRS512
3725_mm512_mask_cvtepu32lo_pd(__m512d __W, __mmask8 __U,__m512i __A)
3726{
3470static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3471_mm512_mask_cvtepu32lo_pd(__m512d __W, __mmask8 __U, __m512i __A) {
37273472 return (__m512d) _mm512_mask_cvtepu32_pd(__W, __U, _mm512_castsi512_si256(__A));
37283473}
37293474
......@@ -3742,44 +3487,38 @@ _mm512_mask_cvtepu32lo_pd(__m512d __W, __mmask8 __U,__m512i __A)
37423487 (__v8sf)_mm256_setzero_ps(), \
37433488 (__mmask8)(U), (int)(R)))
37443489
3745static __inline__ __m256 __DEFAULT_FN_ATTRS512
3746_mm512_cvtpd_ps (__m512d __A)
3747{
3748 return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
3749 (__v8sf) _mm256_undefined_ps (),
3750 (__mmask8) -1,
3751 _MM_FROUND_CUR_DIRECTION);
3490static __inline__ __m256
3491 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_cvtpd_ps(__m512d __A) {
3492 return (__m256)__builtin_ia32_cvtpd2ps512_mask(
3493 (__v8df)__A, (__v8sf)_mm256_setzero_ps(), (__mmask8)-1,
3494 _MM_FROUND_CUR_DIRECTION);
37523495}
37533496
3754static __inline__ __m256 __DEFAULT_FN_ATTRS512
3755_mm512_mask_cvtpd_ps (__m256 __W, __mmask8 __U, __m512d __A)
3756{
3497static __inline__ __m256 __DEFAULT_FN_ATTRS512_CONSTEXPR
3498_mm512_mask_cvtpd_ps(__m256 __W, __mmask8 __U, __m512d __A) {
37573499 return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
37583500 (__v8sf) __W,
37593501 (__mmask8) __U,
37603502 _MM_FROUND_CUR_DIRECTION);
37613503}
37623504
3763static __inline__ __m256 __DEFAULT_FN_ATTRS512
3764_mm512_maskz_cvtpd_ps (__mmask8 __U, __m512d __A)
3765{
3505static __inline__ __m256 __DEFAULT_FN_ATTRS512_CONSTEXPR
3506_mm512_maskz_cvtpd_ps(__mmask8 __U, __m512d __A) {
37663507 return (__m256) __builtin_ia32_cvtpd2ps512_mask ((__v8df) __A,
37673508 (__v8sf) _mm256_setzero_ps (),
37683509 (__mmask8) __U,
37693510 _MM_FROUND_CUR_DIRECTION);
37703511}
37713512
3772static __inline__ __m512 __DEFAULT_FN_ATTRS512
3773_mm512_cvtpd_pslo (__m512d __A)
3774{
3513static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3514_mm512_cvtpd_pslo(__m512d __A) {
37753515 return (__m512) __builtin_shufflevector((__v8sf) _mm512_cvtpd_ps(__A),
37763516 (__v8sf) _mm256_setzero_ps (),
37773517 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
37783518}
37793519
3780static __inline__ __m512 __DEFAULT_FN_ATTRS512
3781_mm512_mask_cvtpd_pslo (__m512 __W, __mmask8 __U,__m512d __A)
3782{
3520static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3521_mm512_mask_cvtpd_pslo(__m512 __W, __mmask8 __U, __m512d __A) {
37833522 return (__m512) __builtin_shufflevector (
37843523 (__v8sf) _mm512_mask_cvtpd_ps (_mm512_castps512_ps256(__W),
37853524 __U, __A),
......@@ -4123,9 +3862,8 @@ _mm512_cvtss_f32(__m512 __a)
41233862
41243863/* Unpack and Interleave */
41253864
4126static __inline __m512d __DEFAULT_FN_ATTRS512
4127_mm512_unpackhi_pd(__m512d __a, __m512d __b)
4128{
3865static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3866_mm512_unpackhi_pd(__m512d __a, __m512d __b) {
41293867 return (__m512d)__builtin_shufflevector((__v8df)__a, (__v8df)__b,
41303868 1, 9, 1+2, 9+2, 1+4, 9+4, 1+6, 9+6);
41313869}
......@@ -4146,9 +3884,8 @@ _mm512_maskz_unpackhi_pd(__mmask8 __U, __m512d __A, __m512d __B)
41463884 (__v8df)_mm512_setzero_pd());
41473885}
41483886
4149static __inline __m512d __DEFAULT_FN_ATTRS512
4150_mm512_unpacklo_pd(__m512d __a, __m512d __b)
4151{
3887static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
3888_mm512_unpacklo_pd(__m512d __a, __m512d __b) {
41523889 return (__m512d)__builtin_shufflevector((__v8df)__a, (__v8df)__b,
41533890 0, 8, 0+2, 8+2, 0+4, 8+4, 0+6, 8+6);
41543891}
......@@ -4169,9 +3906,8 @@ _mm512_maskz_unpacklo_pd (__mmask8 __U, __m512d __A, __m512d __B)
41693906 (__v8df)_mm512_setzero_pd());
41703907}
41713908
4172static __inline __m512 __DEFAULT_FN_ATTRS512
4173_mm512_unpackhi_ps(__m512 __a, __m512 __b)
4174{
3909static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3910_mm512_unpackhi_ps(__m512 __a, __m512 __b) {
41753911 return (__m512)__builtin_shufflevector((__v16sf)__a, (__v16sf)__b,
41763912 2, 18, 3, 19,
41773913 2+4, 18+4, 3+4, 19+4,
......@@ -4195,9 +3931,8 @@ _mm512_maskz_unpackhi_ps (__mmask16 __U, __m512 __A, __m512 __B)
41953931 (__v16sf)_mm512_setzero_ps());
41963932}
41973933
4198static __inline __m512 __DEFAULT_FN_ATTRS512
4199_mm512_unpacklo_ps(__m512 __a, __m512 __b)
4200{
3934static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
3935_mm512_unpacklo_ps(__m512 __a, __m512 __b) {
42013936 return (__m512)__builtin_shufflevector((__v16sf)__a, (__v16sf)__b,
42023937 0, 16, 1, 17,
42033938 0+4, 16+4, 1+4, 17+4,
......@@ -4221,9 +3956,8 @@ _mm512_maskz_unpacklo_ps (__mmask16 __U, __m512 __A, __m512 __B)
42213956 (__v16sf)_mm512_setzero_ps());
42223957}
42233958
4224static __inline__ __m512i __DEFAULT_FN_ATTRS512
4225_mm512_unpackhi_epi32(__m512i __A, __m512i __B)
4226{
3959static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3960_mm512_unpackhi_epi32(__m512i __A, __m512i __B) {
42273961 return (__m512i)__builtin_shufflevector((__v16si)__A, (__v16si)__B,
42283962 2, 18, 3, 19,
42293963 2+4, 18+4, 3+4, 19+4,
......@@ -4247,9 +3981,8 @@ _mm512_maskz_unpackhi_epi32(__mmask16 __U, __m512i __A, __m512i __B)
42473981 (__v16si)_mm512_setzero_si512());
42483982}
42493983
4250static __inline__ __m512i __DEFAULT_FN_ATTRS512
4251_mm512_unpacklo_epi32(__m512i __A, __m512i __B)
4252{
3984static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
3985_mm512_unpacklo_epi32(__m512i __A, __m512i __B) {
42533986 return (__m512i)__builtin_shufflevector((__v16si)__A, (__v16si)__B,
42543987 0, 16, 1, 17,
42553988 0+4, 16+4, 1+4, 17+4,
......@@ -4273,9 +4006,8 @@ _mm512_maskz_unpacklo_epi32(__mmask16 __U, __m512i __A, __m512i __B)
42734006 (__v16si)_mm512_setzero_si512());
42744007}
42754008
4276static __inline__ __m512i __DEFAULT_FN_ATTRS512
4277_mm512_unpackhi_epi64(__m512i __A, __m512i __B)
4278{
4009static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4010_mm512_unpackhi_epi64(__m512i __A, __m512i __B) {
42794011 return (__m512i)__builtin_shufflevector((__v8di)__A, (__v8di)__B,
42804012 1, 9, 1+2, 9+2, 1+4, 9+4, 1+6, 9+6);
42814013}
......@@ -4296,9 +4028,8 @@ _mm512_maskz_unpackhi_epi64(__mmask8 __U, __m512i __A, __m512i __B)
42964028 (__v8di)_mm512_setzero_si512());
42974029}
42984030
4299static __inline__ __m512i __DEFAULT_FN_ATTRS512
4300_mm512_unpacklo_epi64 (__m512i __A, __m512i __B)
4301{
4031static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4032_mm512_unpacklo_epi64(__m512i __A, __m512i __B) {
43024033 return (__m512i)__builtin_shufflevector((__v8di)__A, (__v8di)__B,
43034034 0, 8, 0+2, 8+2, 0+4, 8+4, 0+6, 8+6);
43044035}
......@@ -4619,9 +4350,8 @@ _mm512_store_epi64 (void *__P, __m512i __A)
46194350
46204351/* Mask ops */
46214352
4622static __inline __mmask16 __DEFAULT_FN_ATTRS
4623_mm512_knot(__mmask16 __M)
4624{
4353static __inline __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
4354_mm512_knot(__mmask16 __M) {
46254355 return __builtin_ia32_knothi(__M);
46264356}
46274357
......@@ -4727,237 +4457,207 @@ _mm512_knot(__mmask16 __M)
47274457#define _mm512_mask_cmpneq_epu64_mask(k, A, B) \
47284458 _mm512_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_NE)
47294459
4730static __inline__ __m512i __DEFAULT_FN_ATTRS512
4731_mm512_cvtepi8_epi32(__m128i __A)
4732{
4460static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4461_mm512_cvtepi8_epi32(__m128i __A) {
47334462 /* This function always performs a signed extension, but __v16qi is a char
47344463 which may be signed or unsigned, so use __v16qs. */
47354464 return (__m512i)__builtin_convertvector((__v16qs)__A, __v16si);
47364465}
47374466
4738static __inline__ __m512i __DEFAULT_FN_ATTRS512
4739_mm512_mask_cvtepi8_epi32(__m512i __W, __mmask16 __U, __m128i __A)
4740{
4467static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4468_mm512_mask_cvtepi8_epi32(__m512i __W, __mmask16 __U, __m128i __A) {
47414469 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
47424470 (__v16si)_mm512_cvtepi8_epi32(__A),
47434471 (__v16si)__W);
47444472}
47454473
4746static __inline__ __m512i __DEFAULT_FN_ATTRS512
4747_mm512_maskz_cvtepi8_epi32(__mmask16 __U, __m128i __A)
4748{
4474static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4475_mm512_maskz_cvtepi8_epi32(__mmask16 __U, __m128i __A) {
47494476 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
47504477 (__v16si)_mm512_cvtepi8_epi32(__A),
47514478 (__v16si)_mm512_setzero_si512());
47524479}
47534480
4754static __inline__ __m512i __DEFAULT_FN_ATTRS512
4755_mm512_cvtepi8_epi64(__m128i __A)
4756{
4481static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4482_mm512_cvtepi8_epi64(__m128i __A) {
47574483 /* This function always performs a signed extension, but __v16qi is a char
47584484 which may be signed or unsigned, so use __v16qs. */
47594485 return (__m512i)__builtin_convertvector(__builtin_shufflevector((__v16qs)__A, (__v16qs)__A, 0, 1, 2, 3, 4, 5, 6, 7), __v8di);
47604486}
47614487
4762static __inline__ __m512i __DEFAULT_FN_ATTRS512
4763_mm512_mask_cvtepi8_epi64(__m512i __W, __mmask8 __U, __m128i __A)
4764{
4488static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4489_mm512_mask_cvtepi8_epi64(__m512i __W, __mmask8 __U, __m128i __A) {
47654490 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
47664491 (__v8di)_mm512_cvtepi8_epi64(__A),
47674492 (__v8di)__W);
47684493}
47694494
4770static __inline__ __m512i __DEFAULT_FN_ATTRS512
4771_mm512_maskz_cvtepi8_epi64(__mmask8 __U, __m128i __A)
4772{
4495static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4496_mm512_maskz_cvtepi8_epi64(__mmask8 __U, __m128i __A) {
47734497 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
47744498 (__v8di)_mm512_cvtepi8_epi64(__A),
47754499 (__v8di)_mm512_setzero_si512 ());
47764500}
47774501
4778static __inline__ __m512i __DEFAULT_FN_ATTRS512
4779_mm512_cvtepi32_epi64(__m256i __X)
4780{
4502static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4503_mm512_cvtepi32_epi64(__m256i __X) {
47814504 return (__m512i)__builtin_convertvector((__v8si)__X, __v8di);
47824505}
47834506
4784static __inline__ __m512i __DEFAULT_FN_ATTRS512
4785_mm512_mask_cvtepi32_epi64(__m512i __W, __mmask8 __U, __m256i __X)
4786{
4507static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4508_mm512_mask_cvtepi32_epi64(__m512i __W, __mmask8 __U, __m256i __X) {
47874509 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
47884510 (__v8di)_mm512_cvtepi32_epi64(__X),
47894511 (__v8di)__W);
47904512}
47914513
4792static __inline__ __m512i __DEFAULT_FN_ATTRS512
4793_mm512_maskz_cvtepi32_epi64(__mmask8 __U, __m256i __X)
4794{
4514static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4515_mm512_maskz_cvtepi32_epi64(__mmask8 __U, __m256i __X) {
47954516 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
47964517 (__v8di)_mm512_cvtepi32_epi64(__X),
47974518 (__v8di)_mm512_setzero_si512());
47984519}
47994520
4800static __inline__ __m512i __DEFAULT_FN_ATTRS512
4801_mm512_cvtepi16_epi32(__m256i __A)
4802{
4521static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4522_mm512_cvtepi16_epi32(__m256i __A) {
48034523 return (__m512i)__builtin_convertvector((__v16hi)__A, __v16si);
48044524}
48054525
4806static __inline__ __m512i __DEFAULT_FN_ATTRS512
4807_mm512_mask_cvtepi16_epi32(__m512i __W, __mmask16 __U, __m256i __A)
4808{
4526static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4527_mm512_mask_cvtepi16_epi32(__m512i __W, __mmask16 __U, __m256i __A) {
48094528 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
48104529 (__v16si)_mm512_cvtepi16_epi32(__A),
48114530 (__v16si)__W);
48124531}
48134532
4814static __inline__ __m512i __DEFAULT_FN_ATTRS512
4815_mm512_maskz_cvtepi16_epi32(__mmask16 __U, __m256i __A)
4816{
4533static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4534_mm512_maskz_cvtepi16_epi32(__mmask16 __U, __m256i __A) {
48174535 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
48184536 (__v16si)_mm512_cvtepi16_epi32(__A),
48194537 (__v16si)_mm512_setzero_si512 ());
48204538}
48214539
4822static __inline__ __m512i __DEFAULT_FN_ATTRS512
4823_mm512_cvtepi16_epi64(__m128i __A)
4824{
4540static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4541_mm512_cvtepi16_epi64(__m128i __A) {
48254542 return (__m512i)__builtin_convertvector((__v8hi)__A, __v8di);
48264543}
48274544
4828static __inline__ __m512i __DEFAULT_FN_ATTRS512
4829_mm512_mask_cvtepi16_epi64(__m512i __W, __mmask8 __U, __m128i __A)
4830{
4545static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4546_mm512_mask_cvtepi16_epi64(__m512i __W, __mmask8 __U, __m128i __A) {
48314547 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
48324548 (__v8di)_mm512_cvtepi16_epi64(__A),
48334549 (__v8di)__W);
48344550}
48354551
4836static __inline__ __m512i __DEFAULT_FN_ATTRS512
4837_mm512_maskz_cvtepi16_epi64(__mmask8 __U, __m128i __A)
4838{
4552static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4553_mm512_maskz_cvtepi16_epi64(__mmask8 __U, __m128i __A) {
48394554 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
48404555 (__v8di)_mm512_cvtepi16_epi64(__A),
48414556 (__v8di)_mm512_setzero_si512());
48424557}
48434558
4844static __inline__ __m512i __DEFAULT_FN_ATTRS512
4845_mm512_cvtepu8_epi32(__m128i __A)
4846{
4559static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4560_mm512_cvtepu8_epi32(__m128i __A) {
48474561 return (__m512i)__builtin_convertvector((__v16qu)__A, __v16si);
48484562}
48494563
4850static __inline__ __m512i __DEFAULT_FN_ATTRS512
4851_mm512_mask_cvtepu8_epi32(__m512i __W, __mmask16 __U, __m128i __A)
4852{
4564static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4565_mm512_mask_cvtepu8_epi32(__m512i __W, __mmask16 __U, __m128i __A) {
48534566 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
48544567 (__v16si)_mm512_cvtepu8_epi32(__A),
48554568 (__v16si)__W);
48564569}
48574570
4858static __inline__ __m512i __DEFAULT_FN_ATTRS512
4859_mm512_maskz_cvtepu8_epi32(__mmask16 __U, __m128i __A)
4860{
4571static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4572_mm512_maskz_cvtepu8_epi32(__mmask16 __U, __m128i __A) {
48614573 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
48624574 (__v16si)_mm512_cvtepu8_epi32(__A),
48634575 (__v16si)_mm512_setzero_si512());
48644576}
48654577
4866static __inline__ __m512i __DEFAULT_FN_ATTRS512
4867_mm512_cvtepu8_epi64(__m128i __A)
4868{
4578static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4579_mm512_cvtepu8_epi64(__m128i __A) {
48694580 return (__m512i)__builtin_convertvector(__builtin_shufflevector((__v16qu)__A, (__v16qu)__A, 0, 1, 2, 3, 4, 5, 6, 7), __v8di);
48704581}
48714582
4872static __inline__ __m512i __DEFAULT_FN_ATTRS512
4873_mm512_mask_cvtepu8_epi64(__m512i __W, __mmask8 __U, __m128i __A)
4874{
4583static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4584_mm512_mask_cvtepu8_epi64(__m512i __W, __mmask8 __U, __m128i __A) {
48754585 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
48764586 (__v8di)_mm512_cvtepu8_epi64(__A),
48774587 (__v8di)__W);
48784588}
48794589
4880static __inline__ __m512i __DEFAULT_FN_ATTRS512
4881_mm512_maskz_cvtepu8_epi64(__mmask8 __U, __m128i __A)
4882{
4590static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4591_mm512_maskz_cvtepu8_epi64(__mmask8 __U, __m128i __A) {
48834592 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
48844593 (__v8di)_mm512_cvtepu8_epi64(__A),
48854594 (__v8di)_mm512_setzero_si512());
48864595}
48874596
4888static __inline__ __m512i __DEFAULT_FN_ATTRS512
4889_mm512_cvtepu32_epi64(__m256i __X)
4890{
4597static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4598_mm512_cvtepu32_epi64(__m256i __X) {
48914599 return (__m512i)__builtin_convertvector((__v8su)__X, __v8di);
48924600}
48934601
4894static __inline__ __m512i __DEFAULT_FN_ATTRS512
4895_mm512_mask_cvtepu32_epi64(__m512i __W, __mmask8 __U, __m256i __X)
4896{
4602static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4603_mm512_mask_cvtepu32_epi64(__m512i __W, __mmask8 __U, __m256i __X) {
48974604 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
48984605 (__v8di)_mm512_cvtepu32_epi64(__X),
48994606 (__v8di)__W);
49004607}
49014608
4902static __inline__ __m512i __DEFAULT_FN_ATTRS512
4903_mm512_maskz_cvtepu32_epi64(__mmask8 __U, __m256i __X)
4904{
4609static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4610_mm512_maskz_cvtepu32_epi64(__mmask8 __U, __m256i __X) {
49054611 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
49064612 (__v8di)_mm512_cvtepu32_epi64(__X),
49074613 (__v8di)_mm512_setzero_si512());
49084614}
49094615
4910static __inline__ __m512i __DEFAULT_FN_ATTRS512
4911_mm512_cvtepu16_epi32(__m256i __A)
4912{
4616static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4617_mm512_cvtepu16_epi32(__m256i __A) {
49134618 return (__m512i)__builtin_convertvector((__v16hu)__A, __v16si);
49144619}
49154620
4916static __inline__ __m512i __DEFAULT_FN_ATTRS512
4917_mm512_mask_cvtepu16_epi32(__m512i __W, __mmask16 __U, __m256i __A)
4918{
4621static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4622_mm512_mask_cvtepu16_epi32(__m512i __W, __mmask16 __U, __m256i __A) {
49194623 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
49204624 (__v16si)_mm512_cvtepu16_epi32(__A),
49214625 (__v16si)__W);
49224626}
49234627
4924static __inline__ __m512i __DEFAULT_FN_ATTRS512
4925_mm512_maskz_cvtepu16_epi32(__mmask16 __U, __m256i __A)
4926{
4628static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4629_mm512_maskz_cvtepu16_epi32(__mmask16 __U, __m256i __A) {
49274630 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
49284631 (__v16si)_mm512_cvtepu16_epi32(__A),
49294632 (__v16si)_mm512_setzero_si512());
49304633}
49314634
4932static __inline__ __m512i __DEFAULT_FN_ATTRS512
4933_mm512_cvtepu16_epi64(__m128i __A)
4934{
4635static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4636_mm512_cvtepu16_epi64(__m128i __A) {
49354637 return (__m512i)__builtin_convertvector((__v8hu)__A, __v8di);
49364638}
49374639
4938static __inline__ __m512i __DEFAULT_FN_ATTRS512
4939_mm512_mask_cvtepu16_epi64(__m512i __W, __mmask8 __U, __m128i __A)
4940{
4640static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4641_mm512_mask_cvtepu16_epi64(__m512i __W, __mmask8 __U, __m128i __A) {
49414642 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
49424643 (__v8di)_mm512_cvtepu16_epi64(__A),
49434644 (__v8di)__W);
49444645}
49454646
4946static __inline__ __m512i __DEFAULT_FN_ATTRS512
4947_mm512_maskz_cvtepu16_epi64(__mmask8 __U, __m128i __A)
4948{
4647static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4648_mm512_maskz_cvtepu16_epi64(__mmask8 __U, __m128i __A) {
49494649 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
49504650 (__v8di)_mm512_cvtepu16_epi64(__A),
49514651 (__v8di)_mm512_setzero_si512());
49524652}
49534653
4954static __inline__ __m512i __DEFAULT_FN_ATTRS512
4654static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
49554655_mm512_rorv_epi32 (__m512i __A, __m512i __B)
49564656{
4957 return (__m512i)__builtin_ia32_prorvd512((__v16si)__A, (__v16si)__B);
4657 return (__m512i)__builtin_elementwise_fshr((__v16su)__A,(__v16su)__A, (__v16su)__B);
49584658}
49594659
4960static __inline__ __m512i __DEFAULT_FN_ATTRS512
4660static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
49614661_mm512_mask_rorv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
49624662{
49634663 return (__m512i)__builtin_ia32_selectd_512(__U,
......@@ -4965,7 +4665,7 @@ _mm512_mask_rorv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
49654665 (__v16si)__W);
49664666}
49674667
4968static __inline__ __m512i __DEFAULT_FN_ATTRS512
4668static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
49694669_mm512_maskz_rorv_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
49704670{
49714671 return (__m512i)__builtin_ia32_selectd_512(__U,
......@@ -4973,13 +4673,13 @@ _mm512_maskz_rorv_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
49734673 (__v16si)_mm512_setzero_si512());
49744674}
49754675
4976static __inline__ __m512i __DEFAULT_FN_ATTRS512
4676static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
49774677_mm512_rorv_epi64 (__m512i __A, __m512i __B)
49784678{
4979 return (__m512i)__builtin_ia32_prorvq512((__v8di)__A, (__v8di)__B);
4679 return (__m512i)__builtin_elementwise_fshr((__v8du)__A, (__v8du)__A, (__v8du)__B);
49804680}
49814681
4982static __inline__ __m512i __DEFAULT_FN_ATTRS512
4682static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
49834683_mm512_mask_rorv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
49844684{
49854685 return (__m512i)__builtin_ia32_selectq_512(__U,
......@@ -4987,7 +4687,7 @@ _mm512_mask_rorv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
49874687 (__v8di)__W);
49884688}
49894689
4990static __inline__ __m512i __DEFAULT_FN_ATTRS512
4690static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
49914691_mm512_maskz_rorv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
49924692{
49934693 return (__m512i)__builtin_ia32_selectq_512(__U,
......@@ -5063,13 +4763,13 @@ _mm512_maskz_rorv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
50634763 (__v8di)_mm512_rol_epi64((a), (b)), \
50644764 (__v8di)_mm512_setzero_si512()))
50654765
5066static __inline__ __m512i __DEFAULT_FN_ATTRS512
4766static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
50674767_mm512_rolv_epi32 (__m512i __A, __m512i __B)
50684768{
5069 return (__m512i)__builtin_ia32_prolvd512((__v16si)__A, (__v16si)__B);
4769 return (__m512i)__builtin_elementwise_fshl((__v16su)__A, (__v16su)__A, (__v16su)__B);
50704770}
50714771
5072static __inline__ __m512i __DEFAULT_FN_ATTRS512
4772static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
50734773_mm512_mask_rolv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
50744774{
50754775 return (__m512i)__builtin_ia32_selectd_512(__U,
......@@ -5077,7 +4777,7 @@ _mm512_mask_rolv_epi32 (__m512i __W, __mmask16 __U, __m512i __A, __m512i __B)
50774777 (__v16si)__W);
50784778}
50794779
5080static __inline__ __m512i __DEFAULT_FN_ATTRS512
4780static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
50814781_mm512_maskz_rolv_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
50824782{
50834783 return (__m512i)__builtin_ia32_selectd_512(__U,
......@@ -5085,13 +4785,13 @@ _mm512_maskz_rolv_epi32 (__mmask16 __U, __m512i __A, __m512i __B)
50854785 (__v16si)_mm512_setzero_si512());
50864786}
50874787
5088static __inline__ __m512i __DEFAULT_FN_ATTRS512
4788static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
50894789_mm512_rolv_epi64 (__m512i __A, __m512i __B)
50904790{
5091 return (__m512i)__builtin_ia32_prolvq512((__v8di)__A, (__v8di)__B);
4791 return (__m512i)__builtin_elementwise_fshl((__v8du)__A, (__v8du)__A, (__v8du)__B);
50924792}
50934793
5094static __inline__ __m512i __DEFAULT_FN_ATTRS512
4794static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
50954795_mm512_mask_rolv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
50964796{
50974797 return (__m512i)__builtin_ia32_selectq_512(__U,
......@@ -5099,7 +4799,7 @@ _mm512_mask_rolv_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B)
50994799 (__v8di)__W);
51004800}
51014801
5102static __inline__ __m512i __DEFAULT_FN_ATTRS512
4802static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
51034803_mm512_maskz_rolv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
51044804{
51054805 return (__m512i)__builtin_ia32_selectq_512(__U,
......@@ -5133,91 +4833,81 @@ _mm512_maskz_rolv_epi64 (__mmask8 __U, __m512i __A, __m512i __B)
51334833 (__v8di)_mm512_ror_epi64((A), (B)), \
51344834 (__v8di)_mm512_setzero_si512()))
51354835
5136static __inline__ __m512i __DEFAULT_FN_ATTRS512
5137_mm512_slli_epi32(__m512i __A, unsigned int __B)
5138{
4836static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4837_mm512_slli_epi32(__m512i __A, unsigned int __B) {
51394838 return (__m512i)__builtin_ia32_pslldi512((__v16si)__A, (int)__B);
51404839}
51414840
5142static __inline__ __m512i __DEFAULT_FN_ATTRS512
4841static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
51434842_mm512_mask_slli_epi32(__m512i __W, __mmask16 __U, __m512i __A,
5144 unsigned int __B)
5145{
4843 unsigned int __B) {
51464844 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
51474845 (__v16si)_mm512_slli_epi32(__A, __B),
51484846 (__v16si)__W);
51494847}
51504848
5151static __inline__ __m512i __DEFAULT_FN_ATTRS512
4849static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
51524850_mm512_maskz_slli_epi32(__mmask16 __U, __m512i __A, unsigned int __B) {
51534851 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
51544852 (__v16si)_mm512_slli_epi32(__A, __B),
51554853 (__v16si)_mm512_setzero_si512());
51564854}
51574855
5158static __inline__ __m512i __DEFAULT_FN_ATTRS512
5159_mm512_slli_epi64(__m512i __A, unsigned int __B)
5160{
4856static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4857_mm512_slli_epi64(__m512i __A, unsigned int __B) {
51614858 return (__m512i)__builtin_ia32_psllqi512((__v8di)__A, (int)__B);
51624859}
51634860
5164static __inline__ __m512i __DEFAULT_FN_ATTRS512
5165_mm512_mask_slli_epi64(__m512i __W, __mmask8 __U, __m512i __A, unsigned int __B)
5166{
4861static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4862_mm512_mask_slli_epi64(__m512i __W, __mmask8 __U, __m512i __A,
4863 unsigned int __B) {
51674864 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
51684865 (__v8di)_mm512_slli_epi64(__A, __B),
51694866 (__v8di)__W);
51704867}
51714868
5172static __inline__ __m512i __DEFAULT_FN_ATTRS512
5173_mm512_maskz_slli_epi64(__mmask8 __U, __m512i __A, unsigned int __B)
5174{
4869static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4870_mm512_maskz_slli_epi64(__mmask8 __U, __m512i __A, unsigned int __B) {
51754871 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
51764872 (__v8di)_mm512_slli_epi64(__A, __B),
51774873 (__v8di)_mm512_setzero_si512());
51784874}
51794875
5180static __inline__ __m512i __DEFAULT_FN_ATTRS512
5181_mm512_srli_epi32(__m512i __A, unsigned int __B)
5182{
4876static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4877_mm512_srli_epi32(__m512i __A, unsigned int __B) {
51834878 return (__m512i)__builtin_ia32_psrldi512((__v16si)__A, (int)__B);
51844879}
51854880
5186static __inline__ __m512i __DEFAULT_FN_ATTRS512
4881static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
51874882_mm512_mask_srli_epi32(__m512i __W, __mmask16 __U, __m512i __A,
5188 unsigned int __B)
5189{
4883 unsigned int __B) {
51904884 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
51914885 (__v16si)_mm512_srli_epi32(__A, __B),
51924886 (__v16si)__W);
51934887}
51944888
5195static __inline__ __m512i __DEFAULT_FN_ATTRS512
4889static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
51964890_mm512_maskz_srli_epi32(__mmask16 __U, __m512i __A, unsigned int __B) {
51974891 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
51984892 (__v16si)_mm512_srli_epi32(__A, __B),
51994893 (__v16si)_mm512_setzero_si512());
52004894}
52014895
5202static __inline__ __m512i __DEFAULT_FN_ATTRS512
5203_mm512_srli_epi64(__m512i __A, unsigned int __B)
5204{
4896static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4897_mm512_srli_epi64(__m512i __A, unsigned int __B) {
52054898 return (__m512i)__builtin_ia32_psrlqi512((__v8di)__A, (int)__B);
52064899}
52074900
5208static __inline__ __m512i __DEFAULT_FN_ATTRS512
4901static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
52094902_mm512_mask_srli_epi64(__m512i __W, __mmask8 __U, __m512i __A,
5210 unsigned int __B)
5211{
4903 unsigned int __B) {
52124904 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
52134905 (__v8di)_mm512_srli_epi64(__A, __B),
52144906 (__v8di)__W);
52154907}
52164908
5217static __inline__ __m512i __DEFAULT_FN_ATTRS512
5218_mm512_maskz_srli_epi64(__mmask8 __U, __m512i __A,
5219 unsigned int __B)
5220{
4909static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
4910_mm512_maskz_srli_epi64(__mmask8 __U, __m512i __A, unsigned int __B) {
52214911 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
52224912 (__v8di)_mm512_srli_epi64(__A, __B),
52234913 (__v8di)_mm512_setzero_si512());
......@@ -5303,7 +4993,7 @@ _mm512_mask_store_epi64 (void *__P, __mmask8 __U, __m512i __A)
53034993 (__mmask8) __U);
53044994}
53054995
5306static __inline__ __m512d __DEFAULT_FN_ATTRS512
4996static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
53074997_mm512_movedup_pd (__m512d __A)
53084998{
53094999 return (__m512d)__builtin_shufflevector((__v8df)__A, (__v8df)__A,
......@@ -5664,10 +5354,9 @@ _mm_maskz_getexp_ss (__mmask8 __U, __m128 __A, __m128 __B)
56645354 (int)(((D)<<2) | (C)), \
56655355 (__v4sf)_mm_setzero_ps(), \
56665356 (__mmask8)(U), (int)(R)))
5667
5668static __inline__ __mmask16 __DEFAULT_FN_ATTRS
5669_mm512_kmov (__mmask16 __A)
5670{
5357
5358static __inline__ __mmask16
5359 __DEFAULT_FN_ATTRS_CONSTEXPR _mm512_kmov(__mmask16 __A) {
56715360 return __A;
56725361}
56735362
......@@ -5684,79 +5373,70 @@ _mm512_kmov (__mmask16 __A)
56845373 ((long long)__builtin_ia32_vcvtsd2si64((__v2df)(__m128d)(A), (int)(R)))
56855374#endif
56865375
5687static __inline__ __m512i __DEFAULT_FN_ATTRS512
5688_mm512_sll_epi32(__m512i __A, __m128i __B)
5689{
5376static __inline__ __m512i
5377 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_sll_epi32(__m512i __A, __m128i __B) {
56905378 return (__m512i)__builtin_ia32_pslld512((__v16si) __A, (__v4si)__B);
56915379}
56925380
5693static __inline__ __m512i __DEFAULT_FN_ATTRS512
5694_mm512_mask_sll_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m128i __B)
5695{
5381static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5382_mm512_mask_sll_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m128i __B) {
56965383 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
56975384 (__v16si)_mm512_sll_epi32(__A, __B),
56985385 (__v16si)__W);
56995386}
57005387
5701static __inline__ __m512i __DEFAULT_FN_ATTRS512
5702_mm512_maskz_sll_epi32(__mmask16 __U, __m512i __A, __m128i __B)
5703{
5388static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5389_mm512_maskz_sll_epi32(__mmask16 __U, __m512i __A, __m128i __B) {
57045390 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
57055391 (__v16si)_mm512_sll_epi32(__A, __B),
57065392 (__v16si)_mm512_setzero_si512());
57075393}
57085394
5709static __inline__ __m512i __DEFAULT_FN_ATTRS512
5710_mm512_sll_epi64(__m512i __A, __m128i __B)
5711{
5395static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5396_mm512_sll_epi64(__m512i __A, __m128i __B) {
57125397 return (__m512i)__builtin_ia32_psllq512((__v8di)__A, (__v2di)__B);
57135398}
57145399
5715static __inline__ __m512i __DEFAULT_FN_ATTRS512
5716_mm512_mask_sll_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B)
5717{
5400static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5401_mm512_mask_sll_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B) {
57185402 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
57195403 (__v8di)_mm512_sll_epi64(__A, __B),
57205404 (__v8di)__W);
57215405}
57225406
5723static __inline__ __m512i __DEFAULT_FN_ATTRS512
5724_mm512_maskz_sll_epi64(__mmask8 __U, __m512i __A, __m128i __B)
5725{
5407static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5408_mm512_maskz_sll_epi64(__mmask8 __U, __m512i __A, __m128i __B) {
57265409 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
57275410 (__v8di)_mm512_sll_epi64(__A, __B),
57285411 (__v8di)_mm512_setzero_si512());
57295412}
57305413
5731static __inline__ __m512i __DEFAULT_FN_ATTRS512
5732_mm512_sllv_epi32(__m512i __X, __m512i __Y)
5733{
5414static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5415_mm512_sllv_epi32(__m512i __X, __m512i __Y) {
57345416 return (__m512i)__builtin_ia32_psllv16si((__v16si)__X, (__v16si)__Y);
57355417}
57365418
5737static __inline__ __m512i __DEFAULT_FN_ATTRS512
5738_mm512_mask_sllv_epi32(__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y)
5739{
5419static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5420_mm512_mask_sllv_epi32(__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y) {
57405421 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
57415422 (__v16si)_mm512_sllv_epi32(__X, __Y),
57425423 (__v16si)__W);
57435424}
57445425
5745static __inline__ __m512i __DEFAULT_FN_ATTRS512
5746_mm512_maskz_sllv_epi32(__mmask16 __U, __m512i __X, __m512i __Y)
5747{
5426static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5427_mm512_maskz_sllv_epi32(__mmask16 __U, __m512i __X, __m512i __Y) {
57485428 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
57495429 (__v16si)_mm512_sllv_epi32(__X, __Y),
57505430 (__v16si)_mm512_setzero_si512());
57515431}
57525432
5753static __inline__ __m512i __DEFAULT_FN_ATTRS512
5433static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
57545434_mm512_sllv_epi64(__m512i __X, __m512i __Y)
57555435{
57565436 return (__m512i)__builtin_ia32_psllv8di((__v8di)__X, (__v8di)__Y);
57575437}
57585438
5759static __inline__ __m512i __DEFAULT_FN_ATTRS512
5439static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
57605440_mm512_mask_sllv_epi64(__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
57615441{
57625442 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
......@@ -5764,7 +5444,7 @@ _mm512_mask_sllv_epi64(__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
57645444 (__v8di)__W);
57655445}
57665446
5767static __inline__ __m512i __DEFAULT_FN_ATTRS512
5447static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
57685448_mm512_maskz_sllv_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
57695449{
57705450 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
......@@ -5772,79 +5452,70 @@ _mm512_maskz_sllv_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
57725452 (__v8di)_mm512_setzero_si512());
57735453}
57745454
5775static __inline__ __m512i __DEFAULT_FN_ATTRS512
5776_mm512_sra_epi32(__m512i __A, __m128i __B)
5777{
5455static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5456_mm512_sra_epi32(__m512i __A, __m128i __B) {
57785457 return (__m512i)__builtin_ia32_psrad512((__v16si) __A, (__v4si)__B);
57795458}
57805459
5781static __inline__ __m512i __DEFAULT_FN_ATTRS512
5782_mm512_mask_sra_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m128i __B)
5783{
5460static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5461_mm512_mask_sra_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m128i __B) {
57845462 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
57855463 (__v16si)_mm512_sra_epi32(__A, __B),
57865464 (__v16si)__W);
57875465}
57885466
5789static __inline__ __m512i __DEFAULT_FN_ATTRS512
5790_mm512_maskz_sra_epi32(__mmask16 __U, __m512i __A, __m128i __B)
5791{
5467static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5468_mm512_maskz_sra_epi32(__mmask16 __U, __m512i __A, __m128i __B) {
57925469 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
57935470 (__v16si)_mm512_sra_epi32(__A, __B),
57945471 (__v16si)_mm512_setzero_si512());
57955472}
57965473
5797static __inline__ __m512i __DEFAULT_FN_ATTRS512
5798_mm512_sra_epi64(__m512i __A, __m128i __B)
5799{
5474static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5475_mm512_sra_epi64(__m512i __A, __m128i __B) {
58005476 return (__m512i)__builtin_ia32_psraq512((__v8di)__A, (__v2di)__B);
58015477}
58025478
5803static __inline__ __m512i __DEFAULT_FN_ATTRS512
5804_mm512_mask_sra_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B)
5805{
5479static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5480_mm512_mask_sra_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B) {
58065481 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
58075482 (__v8di)_mm512_sra_epi64(__A, __B),
58085483 (__v8di)__W);
58095484}
58105485
5811static __inline__ __m512i __DEFAULT_FN_ATTRS512
5812_mm512_maskz_sra_epi64(__mmask8 __U, __m512i __A, __m128i __B)
5813{
5486static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5487_mm512_maskz_sra_epi64(__mmask8 __U, __m512i __A, __m128i __B) {
58145488 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
58155489 (__v8di)_mm512_sra_epi64(__A, __B),
58165490 (__v8di)_mm512_setzero_si512());
58175491}
58185492
5819static __inline__ __m512i __DEFAULT_FN_ATTRS512
5820_mm512_srav_epi32(__m512i __X, __m512i __Y)
5821{
5493static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5494_mm512_srav_epi32(__m512i __X, __m512i __Y) {
58225495 return (__m512i)__builtin_ia32_psrav16si((__v16si)__X, (__v16si)__Y);
58235496}
58245497
5825static __inline__ __m512i __DEFAULT_FN_ATTRS512
5826_mm512_mask_srav_epi32(__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y)
5827{
5498static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5499_mm512_mask_srav_epi32(__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y) {
58285500 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
58295501 (__v16si)_mm512_srav_epi32(__X, __Y),
58305502 (__v16si)__W);
58315503}
58325504
5833static __inline__ __m512i __DEFAULT_FN_ATTRS512
5834_mm512_maskz_srav_epi32(__mmask16 __U, __m512i __X, __m512i __Y)
5835{
5505static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5506_mm512_maskz_srav_epi32(__mmask16 __U, __m512i __X, __m512i __Y) {
58365507 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
58375508 (__v16si)_mm512_srav_epi32(__X, __Y),
58385509 (__v16si)_mm512_setzero_si512());
58395510}
58405511
5841static __inline__ __m512i __DEFAULT_FN_ATTRS512
5512static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
58425513_mm512_srav_epi64(__m512i __X, __m512i __Y)
58435514{
58445515 return (__m512i)__builtin_ia32_psrav8di((__v8di)__X, (__v8di)__Y);
58455516}
58465517
5847static __inline__ __m512i __DEFAULT_FN_ATTRS512
5518static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
58485519_mm512_mask_srav_epi64(__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
58495520{
58505521 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
......@@ -5852,7 +5523,7 @@ _mm512_mask_srav_epi64(__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
58525523 (__v8di)__W);
58535524}
58545525
5855static __inline__ __m512i __DEFAULT_FN_ATTRS512
5526static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
58565527_mm512_maskz_srav_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
58575528{
58585529 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
......@@ -5860,79 +5531,70 @@ _mm512_maskz_srav_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
58605531 (__v8di)_mm512_setzero_si512());
58615532}
58625533
5863static __inline__ __m512i __DEFAULT_FN_ATTRS512
5864_mm512_srl_epi32(__m512i __A, __m128i __B)
5865{
5534static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5535_mm512_srl_epi32(__m512i __A, __m128i __B) {
58665536 return (__m512i)__builtin_ia32_psrld512((__v16si) __A, (__v4si)__B);
58675537}
58685538
5869static __inline__ __m512i __DEFAULT_FN_ATTRS512
5870_mm512_mask_srl_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m128i __B)
5871{
5539static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5540_mm512_mask_srl_epi32(__m512i __W, __mmask16 __U, __m512i __A, __m128i __B) {
58725541 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
58735542 (__v16si)_mm512_srl_epi32(__A, __B),
58745543 (__v16si)__W);
58755544}
58765545
5877static __inline__ __m512i __DEFAULT_FN_ATTRS512
5878_mm512_maskz_srl_epi32(__mmask16 __U, __m512i __A, __m128i __B)
5879{
5546static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5547_mm512_maskz_srl_epi32(__mmask16 __U, __m512i __A, __m128i __B) {
58805548 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
58815549 (__v16si)_mm512_srl_epi32(__A, __B),
58825550 (__v16si)_mm512_setzero_si512());
58835551}
58845552
5885static __inline__ __m512i __DEFAULT_FN_ATTRS512
5886_mm512_srl_epi64(__m512i __A, __m128i __B)
5887{
5553static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5554_mm512_srl_epi64(__m512i __A, __m128i __B) {
58885555 return (__m512i)__builtin_ia32_psrlq512((__v8di)__A, (__v2di)__B);
58895556}
58905557
5891static __inline__ __m512i __DEFAULT_FN_ATTRS512
5892_mm512_mask_srl_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B)
5893{
5558static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5559_mm512_mask_srl_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m128i __B) {
58945560 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
58955561 (__v8di)_mm512_srl_epi64(__A, __B),
58965562 (__v8di)__W);
58975563}
58985564
5899static __inline__ __m512i __DEFAULT_FN_ATTRS512
5900_mm512_maskz_srl_epi64(__mmask8 __U, __m512i __A, __m128i __B)
5901{
5565static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5566_mm512_maskz_srl_epi64(__mmask8 __U, __m512i __A, __m128i __B) {
59025567 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
59035568 (__v8di)_mm512_srl_epi64(__A, __B),
59045569 (__v8di)_mm512_setzero_si512());
59055570}
59065571
5907static __inline__ __m512i __DEFAULT_FN_ATTRS512
5908_mm512_srlv_epi32(__m512i __X, __m512i __Y)
5909{
5572static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5573_mm512_srlv_epi32(__m512i __X, __m512i __Y) {
59105574 return (__m512i)__builtin_ia32_psrlv16si((__v16si)__X, (__v16si)__Y);
59115575}
59125576
5913static __inline__ __m512i __DEFAULT_FN_ATTRS512
5914_mm512_mask_srlv_epi32(__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y)
5915{
5577static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5578_mm512_mask_srlv_epi32(__m512i __W, __mmask16 __U, __m512i __X, __m512i __Y) {
59165579 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
59175580 (__v16si)_mm512_srlv_epi32(__X, __Y),
59185581 (__v16si)__W);
59195582}
59205583
5921static __inline__ __m512i __DEFAULT_FN_ATTRS512
5922_mm512_maskz_srlv_epi32(__mmask16 __U, __m512i __X, __m512i __Y)
5923{
5584static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
5585_mm512_maskz_srlv_epi32(__mmask16 __U, __m512i __X, __m512i __Y) {
59245586 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
59255587 (__v16si)_mm512_srlv_epi32(__X, __Y),
59265588 (__v16si)_mm512_setzero_si512());
59275589}
59285590
5929static __inline__ __m512i __DEFAULT_FN_ATTRS512
5591static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
59305592_mm512_srlv_epi64 (__m512i __X, __m512i __Y)
59315593{
59325594 return (__m512i)__builtin_ia32_psrlv8di((__v8di)__X, (__v8di)__Y);
59335595}
59345596
5935static __inline__ __m512i __DEFAULT_FN_ATTRS512
5597static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
59365598_mm512_mask_srlv_epi64(__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
59375599{
59385600 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
......@@ -5940,7 +5602,7 @@ _mm512_mask_srlv_epi64(__m512i __W, __mmask8 __U, __m512i __X, __m512i __Y)
59405602 (__v8di)__W);
59415603}
59425604
5943static __inline__ __m512i __DEFAULT_FN_ATTRS512
5605static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
59445606_mm512_maskz_srlv_epi64(__mmask8 __U, __m512i __X, __m512i __Y)
59455607{
59465608 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
......@@ -6190,115 +5852,104 @@ _mm_cvttss_u64 (__m128 __A)
61905852 (__v16sf)_mm512_permute_ps((X), (C)), \
61915853 (__v16sf)_mm512_setzero_ps()))
61925854
6193static __inline__ __m512d __DEFAULT_FN_ATTRS512
6194_mm512_permutevar_pd(__m512d __A, __m512i __C)
6195{
5855static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
5856_mm512_permutevar_pd(__m512d __A, __m512i __C) {
61965857 return (__m512d)__builtin_ia32_vpermilvarpd512((__v8df)__A, (__v8di)__C);
61975858}
61985859
6199static __inline__ __m512d __DEFAULT_FN_ATTRS512
6200_mm512_mask_permutevar_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512i __C)
6201{
5860static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
5861_mm512_mask_permutevar_pd(__m512d __W, __mmask8 __U, __m512d __A, __m512i __C) {
62025862 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
62035863 (__v8df)_mm512_permutevar_pd(__A, __C),
62045864 (__v8df)__W);
62055865}
62065866
6207static __inline__ __m512d __DEFAULT_FN_ATTRS512
6208_mm512_maskz_permutevar_pd(__mmask8 __U, __m512d __A, __m512i __C)
6209{
5867static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
5868_mm512_maskz_permutevar_pd(__mmask8 __U, __m512d __A, __m512i __C) {
62105869 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
62115870 (__v8df)_mm512_permutevar_pd(__A, __C),
62125871 (__v8df)_mm512_setzero_pd());
62135872}
62145873
6215static __inline__ __m512 __DEFAULT_FN_ATTRS512
6216_mm512_permutevar_ps(__m512 __A, __m512i __C)
6217{
5874static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5875_mm512_permutevar_ps(__m512 __A, __m512i __C) {
62185876 return (__m512)__builtin_ia32_vpermilvarps512((__v16sf)__A, (__v16si)__C);
62195877}
62205878
6221static __inline__ __m512 __DEFAULT_FN_ATTRS512
6222_mm512_mask_permutevar_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512i __C)
6223{
5879static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5880_mm512_mask_permutevar_ps(__m512 __W, __mmask16 __U, __m512 __A, __m512i __C) {
62245881 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
62255882 (__v16sf)_mm512_permutevar_ps(__A, __C),
62265883 (__v16sf)__W);
62275884}
62285885
6229static __inline__ __m512 __DEFAULT_FN_ATTRS512
6230_mm512_maskz_permutevar_ps(__mmask16 __U, __m512 __A, __m512i __C)
6231{
5886static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5887_mm512_maskz_permutevar_ps(__mmask16 __U, __m512 __A, __m512i __C) {
62325888 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
62335889 (__v16sf)_mm512_permutevar_ps(__A, __C),
62345890 (__v16sf)_mm512_setzero_ps());
62355891}
62365892
6237static __inline __m512d __DEFAULT_FN_ATTRS512
6238_mm512_permutex2var_pd(__m512d __A, __m512i __I, __m512d __B)
6239{
5893static __inline __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
5894_mm512_permutex2var_pd(__m512d __A, __m512i __I, __m512d __B) {
62405895 return (__m512d)__builtin_ia32_vpermi2varpd512((__v8df)__A, (__v8di)__I,
62415896 (__v8df)__B);
62425897}
62435898
6244static __inline__ __m512d __DEFAULT_FN_ATTRS512
6245_mm512_mask_permutex2var_pd(__m512d __A, __mmask8 __U, __m512i __I, __m512d __B)
6246{
5899static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
5900_mm512_mask_permutex2var_pd(__m512d __A, __mmask8 __U, __m512i __I,
5901 __m512d __B) {
62475902 return (__m512d)__builtin_ia32_selectpd_512(__U,
62485903 (__v8df)_mm512_permutex2var_pd(__A, __I, __B),
62495904 (__v8df)__A);
62505905}
62515906
6252static __inline__ __m512d __DEFAULT_FN_ATTRS512
5907static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
62535908_mm512_mask2_permutex2var_pd(__m512d __A, __m512i __I, __mmask8 __U,
6254 __m512d __B)
6255{
5909 __m512d __B) {
62565910 return (__m512d)__builtin_ia32_selectpd_512(__U,
62575911 (__v8df)_mm512_permutex2var_pd(__A, __I, __B),
62585912 (__v8df)(__m512d)__I);
62595913}
62605914
6261static __inline__ __m512d __DEFAULT_FN_ATTRS512
5915static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
62625916_mm512_maskz_permutex2var_pd(__mmask8 __U, __m512d __A, __m512i __I,
6263 __m512d __B)
6264{
5917 __m512d __B) {
62655918 return (__m512d)__builtin_ia32_selectpd_512(__U,
62665919 (__v8df)_mm512_permutex2var_pd(__A, __I, __B),
62675920 (__v8df)_mm512_setzero_pd());
62685921}
62695922
6270static __inline __m512 __DEFAULT_FN_ATTRS512
6271_mm512_permutex2var_ps(__m512 __A, __m512i __I, __m512 __B)
6272{
5923static __inline __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5924_mm512_permutex2var_ps(__m512 __A, __m512i __I, __m512 __B) {
62735925 return (__m512)__builtin_ia32_vpermi2varps512((__v16sf)__A, (__v16si)__I,
62745926 (__v16sf) __B);
62755927}
62765928
6277static __inline__ __m512 __DEFAULT_FN_ATTRS512
6278_mm512_mask_permutex2var_ps(__m512 __A, __mmask16 __U, __m512i __I, __m512 __B)
6279{
5929static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5930_mm512_mask_permutex2var_ps(__m512 __A, __mmask16 __U, __m512i __I,
5931 __m512 __B) {
62805932 return (__m512)__builtin_ia32_selectps_512(__U,
62815933 (__v16sf)_mm512_permutex2var_ps(__A, __I, __B),
62825934 (__v16sf)__A);
62835935}
62845936
6285static __inline__ __m512 __DEFAULT_FN_ATTRS512
6286_mm512_mask2_permutex2var_ps(__m512 __A, __m512i __I, __mmask16 __U, __m512 __B)
6287{
5937static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5938_mm512_mask2_permutex2var_ps(__m512 __A, __m512i __I, __mmask16 __U,
5939 __m512 __B) {
62885940 return (__m512)__builtin_ia32_selectps_512(__U,
62895941 (__v16sf)_mm512_permutex2var_ps(__A, __I, __B),
62905942 (__v16sf)(__m512)__I);
62915943}
62925944
6293static __inline__ __m512 __DEFAULT_FN_ATTRS512
6294_mm512_maskz_permutex2var_ps(__mmask16 __U, __m512 __A, __m512i __I, __m512 __B)
6295{
5945static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
5946_mm512_maskz_permutex2var_ps(__mmask16 __U, __m512 __A, __m512i __I,
5947 __m512 __B) {
62965948 return (__m512)__builtin_ia32_selectps_512(__U,
62975949 (__v16sf)_mm512_permutex2var_ps(__A, __I, __B),
62985950 (__v16sf)_mm512_setzero_ps());
62995951}
63005952
6301
63025953#define _mm512_cvtt_roundpd_epu32(A, R) \
63035954 ((__m256i)__builtin_ia32_cvttpd2udq512_mask((__v8df)(__m512d)(A), \
63045955 (__v8si)_mm256_undefined_si256(), \
......@@ -6622,46 +6273,41 @@ _mm_maskz_scalef_ss (__mmask8 __U, __m128 __A, __m128 __B)
66226273 (__mmask8)(U), \
66236274 (int)(R)))
66246275
6625static __inline__ __m512i __DEFAULT_FN_ATTRS512
6626_mm512_srai_epi32(__m512i __A, unsigned int __B)
6627{
6276static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6277_mm512_srai_epi32(__m512i __A, unsigned int __B) {
66286278 return (__m512i)__builtin_ia32_psradi512((__v16si)__A, (int)__B);
66296279}
66306280
6631static __inline__ __m512i __DEFAULT_FN_ATTRS512
6281static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
66326282_mm512_mask_srai_epi32(__m512i __W, __mmask16 __U, __m512i __A,
6633 unsigned int __B)
6634{
6283 unsigned int __B) {
66356284 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
66366285 (__v16si)_mm512_srai_epi32(__A, __B),
66376286 (__v16si)__W);
66386287}
66396288
6640static __inline__ __m512i __DEFAULT_FN_ATTRS512
6641_mm512_maskz_srai_epi32(__mmask16 __U, __m512i __A,
6642 unsigned int __B) {
6289static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6290_mm512_maskz_srai_epi32(__mmask16 __U, __m512i __A, unsigned int __B) {
66436291 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__U,
66446292 (__v16si)_mm512_srai_epi32(__A, __B),
66456293 (__v16si)_mm512_setzero_si512());
66466294}
66476295
6648static __inline__ __m512i __DEFAULT_FN_ATTRS512
6649_mm512_srai_epi64(__m512i __A, unsigned int __B)
6650{
6296static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6297_mm512_srai_epi64(__m512i __A, unsigned int __B) {
66516298 return (__m512i)__builtin_ia32_psraqi512((__v8di)__A, (int)__B);
66526299}
66536300
6654static __inline__ __m512i __DEFAULT_FN_ATTRS512
6655_mm512_mask_srai_epi64(__m512i __W, __mmask8 __U, __m512i __A, unsigned int __B)
6656{
6301static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6302_mm512_mask_srai_epi64(__m512i __W, __mmask8 __U, __m512i __A,
6303 unsigned int __B) {
66576304 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
66586305 (__v8di)_mm512_srai_epi64(__A, __B),
66596306 (__v8di)__W);
66606307}
66616308
6662static __inline__ __m512i __DEFAULT_FN_ATTRS512
6663_mm512_maskz_srai_epi64(__mmask8 __U, __m512i __A, unsigned int __B)
6664{
6309static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6310_mm512_maskz_srai_epi64(__mmask8 __U, __m512i __A, unsigned int __B) {
66656311 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__U,
66666312 (__v8di)_mm512_srai_epi64(__A, __B),
66676313 (__v8di)_mm512_setzero_si512());
......@@ -6827,33 +6473,29 @@ _mm_maskz_sqrt_ss (__mmask8 __U, __m128 __A, __m128 __B)
68276473 (__v4sf)_mm_setzero_ps(), \
68286474 (__mmask8)(U), (int)(R)))
68296475
6830static __inline__ __m512 __DEFAULT_FN_ATTRS512
6831_mm512_broadcast_f32x4(__m128 __A)
6832{
6476static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
6477_mm512_broadcast_f32x4(__m128 __A) {
68336478 return (__m512)__builtin_shufflevector((__v4sf)__A, (__v4sf)__A,
68346479 0, 1, 2, 3, 0, 1, 2, 3,
68356480 0, 1, 2, 3, 0, 1, 2, 3);
68366481}
68376482
6838static __inline__ __m512 __DEFAULT_FN_ATTRS512
6839_mm512_mask_broadcast_f32x4(__m512 __O, __mmask16 __M, __m128 __A)
6840{
6483static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
6484_mm512_mask_broadcast_f32x4(__m512 __O, __mmask16 __M, __m128 __A) {
68416485 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
68426486 (__v16sf)_mm512_broadcast_f32x4(__A),
68436487 (__v16sf)__O);
68446488}
68456489
6846static __inline__ __m512 __DEFAULT_FN_ATTRS512
6847_mm512_maskz_broadcast_f32x4(__mmask16 __M, __m128 __A)
6848{
6490static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
6491_mm512_maskz_broadcast_f32x4(__mmask16 __M, __m128 __A) {
68496492 return (__m512)__builtin_ia32_selectps_512((__mmask16)__M,
68506493 (__v16sf)_mm512_broadcast_f32x4(__A),
68516494 (__v16sf)_mm512_setzero_ps());
68526495}
68536496
6854static __inline__ __m512d __DEFAULT_FN_ATTRS512
6855_mm512_broadcast_f64x4(__m256d __A)
6856{
6497static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
6498_mm512_broadcast_f64x4(__m256d __A) {
68576499 return (__m512d)__builtin_shufflevector((__v4df)__A, (__v4df)__A,
68586500 0, 1, 2, 3, 0, 1, 2, 3);
68596501}
......@@ -6874,33 +6516,29 @@ _mm512_maskz_broadcast_f64x4(__mmask8 __M, __m256d __A)
68746516 (__v8df)_mm512_setzero_pd());
68756517}
68766518
6877static __inline__ __m512i __DEFAULT_FN_ATTRS512
6878_mm512_broadcast_i32x4(__m128i __A)
6879{
6519static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6520_mm512_broadcast_i32x4(__m128i __A) {
68806521 return (__m512i)__builtin_shufflevector((__v4si)__A, (__v4si)__A,
68816522 0, 1, 2, 3, 0, 1, 2, 3,
68826523 0, 1, 2, 3, 0, 1, 2, 3);
68836524}
68846525
6885static __inline__ __m512i __DEFAULT_FN_ATTRS512
6886_mm512_mask_broadcast_i32x4(__m512i __O, __mmask16 __M, __m128i __A)
6887{
6526static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6527_mm512_mask_broadcast_i32x4(__m512i __O, __mmask16 __M, __m128i __A) {
68886528 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
68896529 (__v16si)_mm512_broadcast_i32x4(__A),
68906530 (__v16si)__O);
68916531}
68926532
6893static __inline__ __m512i __DEFAULT_FN_ATTRS512
6894_mm512_maskz_broadcast_i32x4(__mmask16 __M, __m128i __A)
6895{
6533static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6534_mm512_maskz_broadcast_i32x4(__mmask16 __M, __m128i __A) {
68966535 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
68976536 (__v16si)_mm512_broadcast_i32x4(__A),
68986537 (__v16si)_mm512_setzero_si512());
68996538}
69006539
6901static __inline__ __m512i __DEFAULT_FN_ATTRS512
6902_mm512_broadcast_i64x4(__m256i __A)
6903{
6540static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
6541_mm512_broadcast_i64x4(__m256i __A) {
69046542 return (__m512i)__builtin_shufflevector((__v4di)__A, (__v4di)__A,
69056543 0, 1, 2, 3, 0, 1, 2, 3);
69066544}
......@@ -6921,33 +6559,29 @@ _mm512_maskz_broadcast_i64x4(__mmask8 __M, __m256i __A)
69216559 (__v8di)_mm512_setzero_si512());
69226560}
69236561
6924static __inline__ __m512d __DEFAULT_FN_ATTRS512
6925_mm512_mask_broadcastsd_pd (__m512d __O, __mmask8 __M, __m128d __A)
6926{
6562static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
6563_mm512_mask_broadcastsd_pd(__m512d __O, __mmask8 __M, __m128d __A) {
69276564 return (__m512d)__builtin_ia32_selectpd_512(__M,
69286565 (__v8df) _mm512_broadcastsd_pd(__A),
69296566 (__v8df) __O);
69306567}
69316568
6932static __inline__ __m512d __DEFAULT_FN_ATTRS512
6933_mm512_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A)
6934{
6569static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
6570_mm512_maskz_broadcastsd_pd(__mmask8 __M, __m128d __A) {
69356571 return (__m512d)__builtin_ia32_selectpd_512(__M,
69366572 (__v8df) _mm512_broadcastsd_pd(__A),
69376573 (__v8df) _mm512_setzero_pd());
69386574}
69396575
6940static __inline__ __m512 __DEFAULT_FN_ATTRS512
6941_mm512_mask_broadcastss_ps (__m512 __O, __mmask16 __M, __m128 __A)
6942{
6576static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
6577_mm512_mask_broadcastss_ps(__m512 __O, __mmask16 __M, __m128 __A) {
69436578 return (__m512)__builtin_ia32_selectps_512(__M,
69446579 (__v16sf) _mm512_broadcastss_ps(__A),
69456580 (__v16sf) __O);
69466581}
69476582
6948static __inline__ __m512 __DEFAULT_FN_ATTRS512
6949_mm512_maskz_broadcastss_ps (__mmask16 __M, __m128 __A)
6950{
6583static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
6584_mm512_maskz_broadcastss_ps(__mmask16 __M, __m128 __A) {
69516585 return (__m512)__builtin_ia32_selectps_512(__M,
69526586 (__v16sf) _mm512_broadcastss_ps(__A),
69536587 (__v16sf) _mm512_setzero_ps());
......@@ -7391,10 +7025,10 @@ _mm512_mask_cvtepi64_storeu_epi16 (void *__P, __mmask8 __M, __m512i __A)
73917025 __builtin_ia32_pmovqw512mem_mask ((__v8hi *) __P, (__v8di) __A, __M);
73927026}
73937027
7394#define _mm512_extracti32x4_epi32(A, imm) \
7395 ((__m128i)__builtin_ia32_extracti32x4_mask((__v16si)(__m512i)(A), (int)(imm), \
7396 (__v4si)_mm_undefined_si128(), \
7397 (__mmask8)-1))
7028#define _mm512_extracti32x4_epi32(A, imm) \
7029 ((__m128i)__builtin_ia32_extracti32x4_mask( \
7030 (__v16si)(__m512i)(A), (int)(imm), (__v4si)_mm_setzero_si128(), \
7031 (__mmask8) - 1))
73987032
73997033#define _mm512_mask_extracti32x4_epi32(W, U, A, imm) \
74007034 ((__m128i)__builtin_ia32_extracti32x4_mask((__v16si)(__m512i)(A), (int)(imm), \
......@@ -7406,10 +7040,10 @@ _mm512_mask_cvtepi64_storeu_epi16 (void *__P, __mmask8 __M, __m512i __A)
74067040 (__v4si)_mm_setzero_si128(), \
74077041 (__mmask8)(U)))
74087042
7409#define _mm512_extracti64x4_epi64(A, imm) \
7043#define _mm512_extracti64x4_epi64(A, imm) \
74107044 ((__m256i)__builtin_ia32_extracti64x4_mask((__v8di)(__m512i)(A), (int)(imm), \
7411 (__v4di)_mm256_undefined_si256(), \
7412 (__mmask8)-1))
7045 (__v4di)_mm256_setzero_si256(), \
7046 (__mmask8) - 1))
74137047
74147048#define _mm512_mask_extracti64x4_epi64(W, U, A, imm) \
74157049 ((__m256i)__builtin_ia32_extracti64x4_mask((__v8di)(__m512i)(A), (int)(imm), \
......@@ -8274,93 +7908,82 @@ _mm_mask3_fnmsub_sd (__m128d __W, __m128d __X, __m128d __Y, __mmask8 __U)
82747908 (__v8di)_mm512_permutex_epi64((X), (C)), \
82757909 (__v8di)_mm512_setzero_si512()))
82767910
8277static __inline__ __m512d __DEFAULT_FN_ATTRS512
8278_mm512_permutexvar_pd (__m512i __X, __m512d __Y)
8279{
7911static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
7912_mm512_permutexvar_pd(__m512i __X, __m512d __Y) {
82807913 return (__m512d)__builtin_ia32_permvardf512((__v8df) __Y, (__v8di) __X);
82817914}
82827915
8283static __inline__ __m512d __DEFAULT_FN_ATTRS512
8284_mm512_mask_permutexvar_pd (__m512d __W, __mmask8 __U, __m512i __X, __m512d __Y)
8285{
7916static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
7917_mm512_mask_permutexvar_pd(__m512d __W, __mmask8 __U, __m512i __X,
7918 __m512d __Y) {
82867919 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
82877920 (__v8df)_mm512_permutexvar_pd(__X, __Y),
82887921 (__v8df)__W);
82897922}
82907923
8291static __inline__ __m512d __DEFAULT_FN_ATTRS512
8292_mm512_maskz_permutexvar_pd (__mmask8 __U, __m512i __X, __m512d __Y)
8293{
7924static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
7925_mm512_maskz_permutexvar_pd(__mmask8 __U, __m512i __X, __m512d __Y) {
82947926 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
82957927 (__v8df)_mm512_permutexvar_pd(__X, __Y),
82967928 (__v8df)_mm512_setzero_pd());
82977929}
82987930
8299static __inline__ __m512i __DEFAULT_FN_ATTRS512
8300_mm512_permutexvar_epi64 (__m512i __X, __m512i __Y)
8301{
7931static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
7932_mm512_permutexvar_epi64(__m512i __X, __m512i __Y) {
83027933 return (__m512i)__builtin_ia32_permvardi512((__v8di)__Y, (__v8di)__X);
83037934}
83047935
8305static __inline__ __m512i __DEFAULT_FN_ATTRS512
8306_mm512_maskz_permutexvar_epi64 (__mmask8 __M, __m512i __X, __m512i __Y)
8307{
7936static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
7937_mm512_maskz_permutexvar_epi64(__mmask8 __M, __m512i __X, __m512i __Y) {
83087938 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
83097939 (__v8di)_mm512_permutexvar_epi64(__X, __Y),
83107940 (__v8di)_mm512_setzero_si512());
83117941}
83127942
8313static __inline__ __m512i __DEFAULT_FN_ATTRS512
8314_mm512_mask_permutexvar_epi64 (__m512i __W, __mmask8 __M, __m512i __X,
8315 __m512i __Y)
8316{
7943static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
7944_mm512_mask_permutexvar_epi64(__m512i __W, __mmask8 __M, __m512i __X,
7945 __m512i __Y) {
83177946 return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
83187947 (__v8di)_mm512_permutexvar_epi64(__X, __Y),
83197948 (__v8di)__W);
83207949}
83217950
8322static __inline__ __m512 __DEFAULT_FN_ATTRS512
8323_mm512_permutexvar_ps (__m512i __X, __m512 __Y)
8324{
7951static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
7952_mm512_permutexvar_ps(__m512i __X, __m512 __Y) {
83257953 return (__m512)__builtin_ia32_permvarsf512((__v16sf)__Y, (__v16si)__X);
83267954}
83277955
8328static __inline__ __m512 __DEFAULT_FN_ATTRS512
8329_mm512_mask_permutexvar_ps (__m512 __W, __mmask16 __U, __m512i __X, __m512 __Y)
8330{
7956static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
7957_mm512_mask_permutexvar_ps(__m512 __W, __mmask16 __U, __m512i __X, __m512 __Y) {
83317958 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
83327959 (__v16sf)_mm512_permutexvar_ps(__X, __Y),
83337960 (__v16sf)__W);
83347961}
83357962
8336static __inline__ __m512 __DEFAULT_FN_ATTRS512
8337_mm512_maskz_permutexvar_ps (__mmask16 __U, __m512i __X, __m512 __Y)
8338{
7963static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
7964_mm512_maskz_permutexvar_ps(__mmask16 __U, __m512i __X, __m512 __Y) {
83397965 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
83407966 (__v16sf)_mm512_permutexvar_ps(__X, __Y),
83417967 (__v16sf)_mm512_setzero_ps());
83427968}
83437969
8344static __inline__ __m512i __DEFAULT_FN_ATTRS512
8345_mm512_permutexvar_epi32 (__m512i __X, __m512i __Y)
8346{
7970static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
7971_mm512_permutexvar_epi32(__m512i __X, __m512i __Y) {
83477972 return (__m512i)__builtin_ia32_permvarsi512((__v16si)__Y, (__v16si)__X);
83487973}
83497974
83507975#define _mm512_permutevar_epi32 _mm512_permutexvar_epi32
83517976
8352static __inline__ __m512i __DEFAULT_FN_ATTRS512
8353_mm512_maskz_permutexvar_epi32 (__mmask16 __M, __m512i __X, __m512i __Y)
8354{
7977static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
7978_mm512_maskz_permutexvar_epi32(__mmask16 __M, __m512i __X, __m512i __Y) {
83557979 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
83567980 (__v16si)_mm512_permutexvar_epi32(__X, __Y),
83577981 (__v16si)_mm512_setzero_si512());
83587982}
83597983
8360static __inline__ __m512i __DEFAULT_FN_ATTRS512
8361_mm512_mask_permutexvar_epi32 (__m512i __W, __mmask16 __M, __m512i __X,
8362 __m512i __Y)
8363{
7984static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
7985_mm512_mask_permutexvar_epi32(__m512i __W, __mmask16 __M, __m512i __X,
7986 __m512i __Y) {
83647987 return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
83657988 (__v16si)_mm512_permutexvar_epi32(__X, __Y),
83667989 (__v16si)__W);
......@@ -8368,69 +7991,59 @@ _mm512_mask_permutexvar_epi32 (__m512i __W, __mmask16 __M, __m512i __X,
83687991
83697992#define _mm512_mask_permutevar_epi32 _mm512_mask_permutexvar_epi32
83707993
8371static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8372_mm512_kand (__mmask16 __A, __mmask16 __B)
8373{
7994static __inline__ __mmask16
7995 __DEFAULT_FN_ATTRS_CONSTEXPR _mm512_kand(__mmask16 __A, __mmask16 __B) {
83747996 return (__mmask16) __builtin_ia32_kandhi ((__mmask16) __A, (__mmask16) __B);
83757997}
83767998
8377static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8378_mm512_kandn (__mmask16 __A, __mmask16 __B)
8379{
7999static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
8000_mm512_kandn(__mmask16 __A, __mmask16 __B) {
83808001 return (__mmask16) __builtin_ia32_kandnhi ((__mmask16) __A, (__mmask16) __B);
83818002}
83828003
8383static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8384_mm512_kor (__mmask16 __A, __mmask16 __B)
8385{
8004static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
8005_mm512_kor(__mmask16 __A, __mmask16 __B) {
83868006 return (__mmask16) __builtin_ia32_korhi ((__mmask16) __A, (__mmask16) __B);
83878007}
83888008
8389static __inline__ int __DEFAULT_FN_ATTRS
8390_mm512_kortestc (__mmask16 __A, __mmask16 __B)
8391{
8009static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
8010_mm512_kortestc(__mmask16 __A, __mmask16 __B) {
83928011 return __builtin_ia32_kortestchi ((__mmask16) __A, (__mmask16) __B);
83938012}
83948013
8395static __inline__ int __DEFAULT_FN_ATTRS
8396_mm512_kortestz (__mmask16 __A, __mmask16 __B)
8397{
8014static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
8015_mm512_kortestz(__mmask16 __A, __mmask16 __B) {
83988016 return __builtin_ia32_kortestzhi ((__mmask16) __A, (__mmask16) __B);
83998017}
84008018
8401static __inline__ unsigned char __DEFAULT_FN_ATTRS
8402_kortestc_mask16_u8(__mmask16 __A, __mmask16 __B)
8403{
8019static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
8020_kortestc_mask16_u8(__mmask16 __A, __mmask16 __B) {
84048021 return (unsigned char)__builtin_ia32_kortestchi(__A, __B);
84058022}
84068023
8407static __inline__ unsigned char __DEFAULT_FN_ATTRS
8408_kortestz_mask16_u8(__mmask16 __A, __mmask16 __B)
8409{
8024static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
8025_kortestz_mask16_u8(__mmask16 __A, __mmask16 __B) {
84108026 return (unsigned char)__builtin_ia32_kortestzhi(__A, __B);
84118027}
84128028
8413static __inline__ unsigned char __DEFAULT_FN_ATTRS
8029static __inline__ unsigned char __DEFAULT_FN_ATTRS_CONSTEXPR
84148030_kortest_mask16_u8(__mmask16 __A, __mmask16 __B, unsigned char *__C) {
84158031 *__C = (unsigned char)__builtin_ia32_kortestchi(__A, __B);
84168032 return (unsigned char)__builtin_ia32_kortestzhi(__A, __B);
84178033}
84188034
8419static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8420_mm512_kunpackb (__mmask16 __A, __mmask16 __B)
8421{
8035static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
8036_mm512_kunpackb(__mmask16 __A, __mmask16 __B) {
84228037 return (__mmask16) __builtin_ia32_kunpckhi ((__mmask16) __A, (__mmask16) __B);
84238038}
84248039
8425static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8426_mm512_kxnor (__mmask16 __A, __mmask16 __B)
8427{
8040static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
8041_mm512_kxnor(__mmask16 __A, __mmask16 __B) {
84288042 return (__mmask16) __builtin_ia32_kxnorhi ((__mmask16) __A, (__mmask16) __B);
84298043}
84308044
8431static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8432_mm512_kxor (__mmask16 __A, __mmask16 __B)
8433{
8045static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
8046_mm512_kxor(__mmask16 __A, __mmask16 __B) {
84348047 return (__mmask16) __builtin_ia32_kxorhi ((__mmask16) __A, (__mmask16) __B);
84358048}
84368049
......@@ -8447,12 +8060,12 @@ _mm512_kxor (__mmask16 __A, __mmask16 __B)
84478060#define _kshiftri_mask16(A, I) \
84488061 ((__mmask16)__builtin_ia32_kshiftrihi((__mmask16)(A), (unsigned int)(I)))
84498062
8450static __inline__ unsigned int __DEFAULT_FN_ATTRS
8451_cvtmask16_u32(__mmask16 __A) {
8063static __inline__ unsigned int
8064 __DEFAULT_FN_ATTRS_CONSTEXPR _cvtmask16_u32(__mmask16 __A) {
84528065 return (unsigned int)__builtin_ia32_kmovw((__mmask16)__A);
84538066}
84548067
8455static __inline__ __mmask16 __DEFAULT_FN_ATTRS
8068static __inline__ __mmask16 __DEFAULT_FN_ATTRS_CONSTEXPR
84568069_cvtu32_mask16(unsigned int __A) {
84578070 return (__mmask16)__builtin_ia32_kmovw((__mmask16)__A);
84588071}
......@@ -8665,74 +8278,66 @@ _mm512_mask_testn_epi64_mask (__mmask8 __U, __m512i __A, __m512i __B)
86658278 _mm512_setzero_si512());
86668279}
86678280
8668static __inline__ __m512 __DEFAULT_FN_ATTRS512
8281static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
86698282_mm512_movehdup_ps (__m512 __A)
86708283{
86718284 return (__m512)__builtin_shufflevector((__v16sf)__A, (__v16sf)__A,
86728285 1, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11, 13, 13, 15, 15);
86738286}
86748287
8675static __inline__ __m512 __DEFAULT_FN_ATTRS512
8676_mm512_mask_movehdup_ps (__m512 __W, __mmask16 __U, __m512 __A)
8677{
8288static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8289_mm512_mask_movehdup_ps(__m512 __W, __mmask16 __U, __m512 __A) {
86788290 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
86798291 (__v16sf)_mm512_movehdup_ps(__A),
86808292 (__v16sf)__W);
86818293}
86828294
8683static __inline__ __m512 __DEFAULT_FN_ATTRS512
8684_mm512_maskz_movehdup_ps (__mmask16 __U, __m512 __A)
8685{
8295static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8296_mm512_maskz_movehdup_ps(__mmask16 __U, __m512 __A) {
86868297 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
86878298 (__v16sf)_mm512_movehdup_ps(__A),
86888299 (__v16sf)_mm512_setzero_ps());
86898300}
86908301
8691static __inline__ __m512 __DEFAULT_FN_ATTRS512
8302static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
86928303_mm512_moveldup_ps (__m512 __A)
86938304{
86948305 return (__m512)__builtin_shufflevector((__v16sf)__A, (__v16sf)__A,
86958306 0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14);
86968307}
86978308
8698static __inline__ __m512 __DEFAULT_FN_ATTRS512
8699_mm512_mask_moveldup_ps (__m512 __W, __mmask16 __U, __m512 __A)
8700{
8309static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8310_mm512_mask_moveldup_ps(__m512 __W, __mmask16 __U, __m512 __A) {
87018311 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
87028312 (__v16sf)_mm512_moveldup_ps(__A),
87038313 (__v16sf)__W);
87048314}
87058315
8706static __inline__ __m512 __DEFAULT_FN_ATTRS512
8707_mm512_maskz_moveldup_ps (__mmask16 __U, __m512 __A)
8708{
8316static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8317_mm512_maskz_moveldup_ps(__mmask16 __U, __m512 __A) {
87098318 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U,
87108319 (__v16sf)_mm512_moveldup_ps(__A),
87118320 (__v16sf)_mm512_setzero_ps());
87128321}
87138322
8714static __inline__ __m128 __DEFAULT_FN_ATTRS128
8715_mm_mask_move_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
8716{
8323static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
8324_mm_mask_move_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
87178325 return __builtin_ia32_selectss_128(__U, _mm_move_ss(__A, __B), __W);
87188326}
87198327
8720static __inline__ __m128 __DEFAULT_FN_ATTRS128
8721_mm_maskz_move_ss (__mmask8 __U, __m128 __A, __m128 __B)
8722{
8328static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
8329_mm_maskz_move_ss(__mmask8 __U, __m128 __A, __m128 __B) {
87238330 return __builtin_ia32_selectss_128(__U, _mm_move_ss(__A, __B),
87248331 _mm_setzero_ps());
87258332}
87268333
8727static __inline__ __m128d __DEFAULT_FN_ATTRS128
8728_mm_mask_move_sd (__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
8729{
8334static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
8335_mm_mask_move_sd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
87308336 return __builtin_ia32_selectsd_128(__U, _mm_move_sd(__A, __B), __W);
87318337}
87328338
8733static __inline__ __m128d __DEFAULT_FN_ATTRS128
8734_mm_maskz_move_sd (__mmask8 __U, __m128d __A, __m128d __B)
8735{
8339static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
8340_mm_maskz_move_sd(__mmask8 __U, __m128d __A, __m128d __B) {
87368341 return __builtin_ia32_selectsd_128(__U, _mm_move_sd(__A, __B),
87378342 _mm_setzero_pd());
87388343}
......@@ -8941,70 +8546,57 @@ _mm512_maskz_expand_epi32 (__mmask16 __U, __m512i __A)
89418546 (__v8df)_mm512_setzero_pd(), \
89428547 (__mmask8)(U), (int)(R)))
89438548
8944static __inline__ __m512d __DEFAULT_FN_ATTRS512
8945_mm512_cvtps_pd (__m256 __A)
8946{
8549static __inline__ __m512d
8550 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_cvtps_pd(__m256 __A) {
89478551 return (__m512d) __builtin_convertvector((__v8sf)__A, __v8df);
89488552}
89498553
8950static __inline__ __m512d __DEFAULT_FN_ATTRS512
8951_mm512_mask_cvtps_pd (__m512d __W, __mmask8 __U, __m256 __A)
8952{
8554static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8555_mm512_mask_cvtps_pd(__m512d __W, __mmask8 __U, __m256 __A) {
89538556 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
89548557 (__v8df)_mm512_cvtps_pd(__A),
89558558 (__v8df)__W);
89568559}
89578560
8958static __inline__ __m512d __DEFAULT_FN_ATTRS512
8959_mm512_maskz_cvtps_pd (__mmask8 __U, __m256 __A)
8960{
8561static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8562_mm512_maskz_cvtps_pd(__mmask8 __U, __m256 __A) {
89618563 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U,
89628564 (__v8df)_mm512_cvtps_pd(__A),
89638565 (__v8df)_mm512_setzero_pd());
89648566}
89658567
8966static __inline__ __m512d __DEFAULT_FN_ATTRS512
8967_mm512_cvtpslo_pd (__m512 __A)
8968{
8568static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8569_mm512_cvtpslo_pd(__m512 __A) {
89698570 return (__m512d) _mm512_cvtps_pd(_mm512_castps512_ps256(__A));
89708571}
89718572
8972static __inline__ __m512d __DEFAULT_FN_ATTRS512
8973_mm512_mask_cvtpslo_pd (__m512d __W, __mmask8 __U, __m512 __A)
8974{
8573static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8574_mm512_mask_cvtpslo_pd(__m512d __W, __mmask8 __U, __m512 __A) {
89758575 return (__m512d) _mm512_mask_cvtps_pd(__W, __U, _mm512_castps512_ps256(__A));
89768576}
89778577
8978static __inline__ __m512d __DEFAULT_FN_ATTRS512
8979_mm512_mask_mov_pd (__m512d __W, __mmask8 __U, __m512d __A)
8980{
8981 return (__m512d) __builtin_ia32_selectpd_512 ((__mmask8) __U,
8982 (__v8df) __A,
8983 (__v8df) __W);
8578static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8579_mm512_mask_mov_pd(__m512d __W, __mmask8 __U, __m512d __A) {
8580 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U, (__v8df)__A,
8581 (__v8df)__W);
89848582}
89858583
8986static __inline__ __m512d __DEFAULT_FN_ATTRS512
8987_mm512_maskz_mov_pd (__mmask8 __U, __m512d __A)
8988{
8989 return (__m512d) __builtin_ia32_selectpd_512 ((__mmask8) __U,
8990 (__v8df) __A,
8991 (__v8df) _mm512_setzero_pd ());
8584static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8585_mm512_maskz_mov_pd(__mmask8 __U, __m512d __A) {
8586 return (__m512d)__builtin_ia32_selectpd_512((__mmask8)__U, (__v8df)__A,
8587 (__v8df)_mm512_setzero_pd());
89928588}
89938589
8994static __inline__ __m512 __DEFAULT_FN_ATTRS512
8995_mm512_mask_mov_ps (__m512 __W, __mmask16 __U, __m512 __A)
8996{
8997 return (__m512) __builtin_ia32_selectps_512 ((__mmask16) __U,
8998 (__v16sf) __A,
8999 (__v16sf) __W);
8590static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8591_mm512_mask_mov_ps(__m512 __W, __mmask16 __U, __m512 __A) {
8592 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U, (__v16sf)__A,
8593 (__v16sf)__W);
90008594}
90018595
9002static __inline__ __m512 __DEFAULT_FN_ATTRS512
9003_mm512_maskz_mov_ps (__mmask16 __U, __m512 __A)
9004{
9005 return (__m512) __builtin_ia32_selectps_512 ((__mmask16) __U,
9006 (__v16sf) __A,
9007 (__v16sf) _mm512_setzero_ps ());
8596static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8597_mm512_maskz_mov_ps(__mmask16 __U, __m512 __A) {
8598 return (__m512)__builtin_ia32_selectps_512((__mmask16)__U, (__v16sf)__A,
8599 (__v16sf)_mm512_setzero_ps());
90088600}
90098601
90108602static __inline__ void __DEFAULT_FN_ATTRS512
......@@ -9053,18 +8645,16 @@ _mm512_mask_compressstoreu_epi32 (void *__P, __mmask16 __U, __m512i __A)
90538645 (__v4sf)_mm_setzero_ps(), \
90548646 (__mmask8)(U), (int)(R)))
90558647
9056static __inline__ __m128 __DEFAULT_FN_ATTRS128
9057_mm_mask_cvtsd_ss (__m128 __W, __mmask8 __U, __m128 __A, __m128d __B)
9058{
8648static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
8649_mm_mask_cvtsd_ss(__m128 __W, __mmask8 __U, __m128 __A, __m128d __B) {
90598650 return __builtin_ia32_cvtsd2ss_round_mask ((__v4sf)__A,
90608651 (__v2df)__B,
90618652 (__v4sf)__W,
90628653 (__mmask8)__U, _MM_FROUND_CUR_DIRECTION);
90638654}
90648655
9065static __inline__ __m128 __DEFAULT_FN_ATTRS128
9066_mm_maskz_cvtsd_ss (__mmask8 __U, __m128 __A, __m128d __B)
9067{
8656static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
8657_mm_maskz_cvtsd_ss(__mmask8 __U, __m128 __A, __m128d __B) {
90688658 return __builtin_ia32_cvtsd2ss_round_mask ((__v4sf)__A,
90698659 (__v2df)__B,
90708660 (__v4sf)_mm_setzero_ps(),
......@@ -9188,34 +8778,32 @@ _mm_cvtu64_ss (__m128 __A, unsigned long long __B)
91888778}
91898779#endif
91908780
9191static __inline__ __m512i __DEFAULT_FN_ATTRS512
9192_mm512_mask_set1_epi32 (__m512i __O, __mmask16 __M, int __A)
9193{
8781static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
8782_mm512_mask_set1_epi32(__m512i __O, __mmask16 __M, int __A) {
91948783 return (__m512i) __builtin_ia32_selectd_512(__M,
91958784 (__v16si) _mm512_set1_epi32(__A),
91968785 (__v16si) __O);
91978786}
91988787
9199static __inline__ __m512i __DEFAULT_FN_ATTRS512
9200_mm512_mask_set1_epi64 (__m512i __O, __mmask8 __M, long long __A)
9201{
8788static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
8789_mm512_mask_set1_epi64(__m512i __O, __mmask8 __M, long long __A) {
92028790 return (__m512i) __builtin_ia32_selectq_512(__M,
92038791 (__v8di) _mm512_set1_epi64(__A),
92048792 (__v8di) __O);
92058793}
92068794
9207static __inline __m512i __DEFAULT_FN_ATTRS512
9208_mm512_set_epi8 (char __e63, char __e62, char __e61, char __e60, char __e59,
9209 char __e58, char __e57, char __e56, char __e55, char __e54, char __e53,
9210 char __e52, char __e51, char __e50, char __e49, char __e48, char __e47,
9211 char __e46, char __e45, char __e44, char __e43, char __e42, char __e41,
9212 char __e40, char __e39, char __e38, char __e37, char __e36, char __e35,
9213 char __e34, char __e33, char __e32, char __e31, char __e30, char __e29,
9214 char __e28, char __e27, char __e26, char __e25, char __e24, char __e23,
9215 char __e22, char __e21, char __e20, char __e19, char __e18, char __e17,
9216 char __e16, char __e15, char __e14, char __e13, char __e12, char __e11,
9217 char __e10, char __e9, char __e8, char __e7, char __e6, char __e5,
9218 char __e4, char __e3, char __e2, char __e1, char __e0) {
8795static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_set_epi8(
8796 char __e63, char __e62, char __e61, char __e60, char __e59, char __e58,
8797 char __e57, char __e56, char __e55, char __e54, char __e53, char __e52,
8798 char __e51, char __e50, char __e49, char __e48, char __e47, char __e46,
8799 char __e45, char __e44, char __e43, char __e42, char __e41, char __e40,
8800 char __e39, char __e38, char __e37, char __e36, char __e35, char __e34,
8801 char __e33, char __e32, char __e31, char __e30, char __e29, char __e28,
8802 char __e27, char __e26, char __e25, char __e24, char __e23, char __e22,
8803 char __e21, char __e20, char __e19, char __e18, char __e17, char __e16,
8804 char __e15, char __e14, char __e13, char __e12, char __e11, char __e10,
8805 char __e9, char __e8, char __e7, char __e6, char __e5, char __e4, char __e3,
8806 char __e2, char __e1, char __e0) {
92198807
92208808 return __extension__ (__m512i)(__v64qi)
92218809 {__e0, __e1, __e2, __e3, __e4, __e5, __e6, __e7,
......@@ -9228,14 +8816,13 @@ _mm512_set_epi8 (char __e63, char __e62, char __e61, char __e60, char __e59,
92288816 __e56, __e57, __e58, __e59, __e60, __e61, __e62, __e63};
92298817}
92308818
9231static __inline __m512i __DEFAULT_FN_ATTRS512
9232_mm512_set_epi16(short __e31, short __e30, short __e29, short __e28,
9233 short __e27, short __e26, short __e25, short __e24, short __e23,
9234 short __e22, short __e21, short __e20, short __e19, short __e18,
9235 short __e17, short __e16, short __e15, short __e14, short __e13,
9236 short __e12, short __e11, short __e10, short __e9, short __e8,
9237 short __e7, short __e6, short __e5, short __e4, short __e3,
9238 short __e2, short __e1, short __e0) {
8819static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_set_epi16(
8820 short __e31, short __e30, short __e29, short __e28, short __e27,
8821 short __e26, short __e25, short __e24, short __e23, short __e22,
8822 short __e21, short __e20, short __e19, short __e18, short __e17,
8823 short __e16, short __e15, short __e14, short __e13, short __e12,
8824 short __e11, short __e10, short __e9, short __e8, short __e7, short __e6,
8825 short __e5, short __e4, short __e3, short __e2, short __e1, short __e0) {
92398826 return __extension__ (__m512i)(__v32hi)
92408827 {__e0, __e1, __e2, __e3, __e4, __e5, __e6, __e7,
92418828 __e8, __e9, __e10, __e11, __e12, __e13, __e14, __e15,
......@@ -9243,81 +8830,81 @@ _mm512_set_epi16(short __e31, short __e30, short __e29, short __e28,
92438830 __e24, __e25, __e26, __e27, __e28, __e29, __e30, __e31 };
92448831}
92458832
9246static __inline __m512i __DEFAULT_FN_ATTRS512
9247_mm512_set_epi32 (int __A, int __B, int __C, int __D,
9248 int __E, int __F, int __G, int __H,
9249 int __I, int __J, int __K, int __L,
9250 int __M, int __N, int __O, int __P)
9251{
8833static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_set_epi32(
8834 int __A, int __B, int __C, int __D, int __E, int __F, int __G, int __H,
8835 int __I, int __J, int __K, int __L, int __M, int __N, int __O, int __P) {
92528836 return __extension__ (__m512i)(__v16si)
92538837 { __P, __O, __N, __M, __L, __K, __J, __I,
92548838 __H, __G, __F, __E, __D, __C, __B, __A };
92558839}
92568840
9257#define _mm512_setr_epi32(e0,e1,e2,e3,e4,e5,e6,e7, \
9258 e8,e9,e10,e11,e12,e13,e14,e15) \
9259 _mm512_set_epi32((e15),(e14),(e13),(e12),(e11),(e10),(e9),(e8),(e7),(e6), \
9260 (e5),(e4),(e3),(e2),(e1),(e0))
8841static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_setr_epi32(
8842 int e0, int e1, int e2, int e3, int e4, int e5, int e6, int e7, int e8,
8843 int e9, int e10, int e11, int e12, int e13, int e14, int e15) {
8844 return _mm512_set_epi32(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4,
8845 e3, e2, e1, e0);
8846}
92618847
9262static __inline__ __m512i __DEFAULT_FN_ATTRS512
9263_mm512_set_epi64 (long long __A, long long __B, long long __C,
9264 long long __D, long long __E, long long __F,
9265 long long __G, long long __H)
9266{
8848static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
8849_mm512_set_epi64(long long __A, long long __B, long long __C, long long __D,
8850 long long __E, long long __F, long long __G, long long __H) {
92678851 return __extension__ (__m512i) (__v8di)
92688852 { __H, __G, __F, __E, __D, __C, __B, __A };
92698853}
92708854
9271#define _mm512_setr_epi64(e0,e1,e2,e3,e4,e5,e6,e7) \
9272 _mm512_set_epi64((e7),(e6),(e5),(e4),(e3),(e2),(e1),(e0))
8855static __inline __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
8856_mm512_setr_epi64(long long e0, long long e1, long long e2, long long e3,
8857 long long e4, long long e5, long long e6, long long e7) {
8858 return _mm512_set_epi64(e7, e6, e5, e4, e3, e2, e1, e0);
8859}
92738860
9274static __inline__ __m512d __DEFAULT_FN_ATTRS512
9275_mm512_set_pd (double __A, double __B, double __C, double __D,
9276 double __E, double __F, double __G, double __H)
9277{
8861static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8862_mm512_set_pd(double __A, double __B, double __C, double __D, double __E,
8863 double __F, double __G, double __H) {
92788864 return __extension__ (__m512d)
92798865 { __H, __G, __F, __E, __D, __C, __B, __A };
92808866}
92818867
9282#define _mm512_setr_pd(e0,e1,e2,e3,e4,e5,e6,e7) \
9283 _mm512_set_pd((e7),(e6),(e5),(e4),(e3),(e2),(e1),(e0))
8868static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8869_mm512_setr_pd(double e0, double e1, double e2, double e3, double e4, double e5,
8870 double e6, double e7) {
8871 return _mm512_set_pd(e7, e6, e5, e4, e3, e2, e1, e0);
8872}
92848873
9285static __inline__ __m512 __DEFAULT_FN_ATTRS512
9286_mm512_set_ps (float __A, float __B, float __C, float __D,
9287 float __E, float __F, float __G, float __H,
9288 float __I, float __J, float __K, float __L,
9289 float __M, float __N, float __O, float __P)
9290{
8874static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8875_mm512_set_ps(float __A, float __B, float __C, float __D, float __E, float __F,
8876 float __G, float __H, float __I, float __J, float __K, float __L,
8877 float __M, float __N, float __O, float __P) {
92918878 return __extension__ (__m512)
92928879 { __P, __O, __N, __M, __L, __K, __J, __I,
92938880 __H, __G, __F, __E, __D, __C, __B, __A };
92948881}
92958882
9296#define _mm512_setr_ps(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15) \
9297 _mm512_set_ps((e15),(e14),(e13),(e12),(e11),(e10),(e9),(e8),(e7),(e6),(e5), \
9298 (e4),(e3),(e2),(e1),(e0))
8883static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8884_mm512_setr_ps(float e0, float e1, float e2, float e3, float e4, float e5,
8885 float e6, float e7, float e8, float e9, float e10, float e11,
8886 float e12, float e13, float e14, float e15) {
8887 return _mm512_set_ps(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3,
8888 e2, e1, e0);
8889}
92998890
9300static __inline__ __m512 __DEFAULT_FN_ATTRS512
9301_mm512_abs_ps(__m512 __A)
9302{
8891static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8892_mm512_abs_ps(__m512 __A) {
93038893 return (__m512)_mm512_and_epi32(_mm512_set1_epi32(0x7FFFFFFF),(__m512i)__A) ;
93048894}
93058895
9306static __inline__ __m512 __DEFAULT_FN_ATTRS512
9307_mm512_mask_abs_ps(__m512 __W, __mmask16 __K, __m512 __A)
9308{
8896static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
8897_mm512_mask_abs_ps(__m512 __W, __mmask16 __K, __m512 __A) {
93098898 return (__m512)_mm512_mask_and_epi32((__m512i)__W, __K, _mm512_set1_epi32(0x7FFFFFFF),(__m512i)__A) ;
93108899}
93118900
9312static __inline__ __m512d __DEFAULT_FN_ATTRS512
9313_mm512_abs_pd(__m512d __A)
9314{
8901static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8902_mm512_abs_pd(__m512d __A) {
93158903 return (__m512d)_mm512_and_epi64(_mm512_set1_epi64(0x7FFFFFFFFFFFFFFF),(__v8di)__A) ;
93168904}
93178905
9318static __inline__ __m512d __DEFAULT_FN_ATTRS512
9319_mm512_mask_abs_pd(__m512d __W, __mmask8 __K, __m512d __A)
9320{
8906static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
8907_mm512_mask_abs_pd(__m512d __W, __mmask8 __K, __m512d __A) {
93218908 return (__m512d)_mm512_mask_and_epi64((__v8di)__W, __K, _mm512_set1_epi64(0x7FFFFFFFFFFFFFFF),(__v8di)__A);
93228909}
93238910
......@@ -9337,19 +8924,23 @@ _mm512_mask_abs_pd(__m512d __W, __mmask8 __K, __m512d __A)
93378924 * This takes log2(n) steps where n is the number of elements in the vector.
93388925 */
93398926
9340static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_add_epi64(__m512i __W) {
8927static __inline__ long long __DEFAULT_FN_ATTRS512_CONSTEXPR
8928_mm512_reduce_add_epi64(__m512i __W) {
93418929 return __builtin_reduce_add((__v8di)__W);
93428930}
93438931
9344static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_mul_epi64(__m512i __W) {
8932static __inline__ long long __DEFAULT_FN_ATTRS512_CONSTEXPR
8933_mm512_reduce_mul_epi64(__m512i __W) {
93458934 return __builtin_reduce_mul((__v8di)__W);
93468935}
93478936
9348static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_and_epi64(__m512i __W) {
8937static __inline__ long long __DEFAULT_FN_ATTRS512_CONSTEXPR
8938_mm512_reduce_and_epi64(__m512i __W) {
93498939 return __builtin_reduce_and((__v8di)__W);
93508940}
93518941
9352static __inline__ long long __DEFAULT_FN_ATTRS512 _mm512_reduce_or_epi64(__m512i __W) {
8942static __inline__ long long __DEFAULT_FN_ATTRS512_CONSTEXPR
8943_mm512_reduce_or_epi64(__m512i __W) {
93538944 return __builtin_reduce_or((__v8di)__W);
93548945}
93558946
......@@ -9400,22 +8991,22 @@ _mm512_mask_reduce_mul_pd(__mmask8 __M, __m512d __W) {
94008991 return __builtin_ia32_reduce_fmul_pd512(1.0, __W);
94018992}
94028993
9403static __inline__ int __DEFAULT_FN_ATTRS512
8994static __inline__ int __DEFAULT_FN_ATTRS512_CONSTEXPR
94048995_mm512_reduce_add_epi32(__m512i __W) {
94058996 return __builtin_reduce_add((__v16si)__W);
94068997}
94078998
9408static __inline__ int __DEFAULT_FN_ATTRS512
8999static __inline__ int __DEFAULT_FN_ATTRS512_CONSTEXPR
94099000_mm512_reduce_mul_epi32(__m512i __W) {
94109001 return __builtin_reduce_mul((__v16si)__W);
94119002}
94129003
9413static __inline__ int __DEFAULT_FN_ATTRS512
9004static __inline__ int __DEFAULT_FN_ATTRS512_CONSTEXPR
94149005_mm512_reduce_and_epi32(__m512i __W) {
94159006 return __builtin_reduce_and((__v16si)__W);
94169007}
94179008
9418static __inline__ int __DEFAULT_FN_ATTRS512
9009static __inline__ int __DEFAULT_FN_ATTRS512_CONSTEXPR
94199010_mm512_reduce_or_epi32(__m512i __W) {
94209011 return __builtin_reduce_or((__v16si)__W);
94219012}
......@@ -9466,22 +9057,22 @@ _mm512_mask_reduce_mul_ps(__mmask16 __M, __m512 __W) {
94669057 return __builtin_ia32_reduce_fmul_ps512(1.0f, __W);
94679058}
94689059
9469static __inline__ long long __DEFAULT_FN_ATTRS512
9060static __inline__ long long __DEFAULT_FN_ATTRS512_CONSTEXPR
94709061_mm512_reduce_max_epi64(__m512i __V) {
94719062 return __builtin_reduce_max((__v8di)__V);
94729063}
94739064
9474static __inline__ unsigned long long __DEFAULT_FN_ATTRS512
9065static __inline__ unsigned long long __DEFAULT_FN_ATTRS512_CONSTEXPR
94759066_mm512_reduce_max_epu64(__m512i __V) {
94769067 return __builtin_reduce_max((__v8du)__V);
94779068}
94789069
9479static __inline__ long long __DEFAULT_FN_ATTRS512
9070static __inline__ long long __DEFAULT_FN_ATTRS512_CONSTEXPR
94809071_mm512_reduce_min_epi64(__m512i __V) {
94819072 return __builtin_reduce_min((__v8di)__V);
94829073}
94839074
9484static __inline__ unsigned long long __DEFAULT_FN_ATTRS512
9075static __inline__ unsigned long long __DEFAULT_FN_ATTRS512_CONSTEXPR
94859076_mm512_reduce_min_epu64(__m512i __V) {
94869077 return __builtin_reduce_min((__v8du)__V);
94879078}
......@@ -9509,22 +9100,22 @@ _mm512_mask_reduce_min_epu64(__mmask8 __M, __m512i __V) {
95099100 __V = _mm512_mask_mov_epi64(_mm512_set1_epi64(-1LL), __M, __V);
95109101 return __builtin_reduce_min((__v8du)__V);
95119102}
9512static __inline__ int __DEFAULT_FN_ATTRS512
9103static __inline__ int __DEFAULT_FN_ATTRS512_CONSTEXPR
95139104_mm512_reduce_max_epi32(__m512i __V) {
95149105 return __builtin_reduce_max((__v16si)__V);
95159106}
95169107
9517static __inline__ unsigned int __DEFAULT_FN_ATTRS512
9108static __inline__ unsigned int __DEFAULT_FN_ATTRS512_CONSTEXPR
95189109_mm512_reduce_max_epu32(__m512i __V) {
95199110 return __builtin_reduce_max((__v16su)__V);
95209111}
95219112
9522static __inline__ int __DEFAULT_FN_ATTRS512
9113static __inline__ int __DEFAULT_FN_ATTRS512_CONSTEXPR
95239114_mm512_reduce_min_epi32(__m512i __V) {
95249115 return __builtin_reduce_min((__v16si)__V);
95259116}
95269117
9527static __inline__ unsigned int __DEFAULT_FN_ATTRS512
9118static __inline__ unsigned int __DEFAULT_FN_ATTRS512_CONSTEXPR
95289119_mm512_reduce_min_epu32(__m512i __V) {
95299120 return __builtin_reduce_min((__v16su)__V);
95309121}
lib/include/avx512fp16intrin.h+112-110
......@@ -22,26 +22,36 @@ typedef _Float16 __m512h_u __attribute__((__vector_size__(64), __aligned__(1)));
2222
2323/* Define the default attributes for the functions in this file. */
2424#define __DEFAULT_FN_ATTRS512 \
25 __attribute__((__always_inline__, __nodebug__, \
26 __target__("avx512fp16,evex512"), __min_vector_width__(512)))
25 __attribute__((__always_inline__, __nodebug__, __target__("avx512fp16"), \
26 __min_vector_width__(512)))
2727#define __DEFAULT_FN_ATTRS256 \
28 __attribute__((__always_inline__, __nodebug__, \
29 __target__("avx512fp16,no-evex512"), \
28 __attribute__((__always_inline__, __nodebug__, __target__("avx512fp16"), \
3029 __min_vector_width__(256)))
3130#define __DEFAULT_FN_ATTRS128 \
32 __attribute__((__always_inline__, __nodebug__, \
33 __target__("avx512fp16,no-evex512"), \
31 __attribute__((__always_inline__, __nodebug__, __target__("avx512fp16"), \
3432 __min_vector_width__(128)))
3533
36static __inline__ _Float16 __DEFAULT_FN_ATTRS512 _mm512_cvtsh_h(__m512h __a) {
34#if defined(__cplusplus) && (__cplusplus >= 201103L)
35#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512 constexpr
36#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
37#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
38#else
39#define __DEFAULT_FN_ATTRS512_CONSTEXPR __DEFAULT_FN_ATTRS512
40#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
41#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
42#endif
43
44static __inline__ _Float16 __DEFAULT_FN_ATTRS512_CONSTEXPR
45_mm512_cvtsh_h(__m512h __a) {
3746 return __a[0];
3847}
3948
40static __inline __m128h __DEFAULT_FN_ATTRS128 _mm_setzero_ph(void) {
49static __inline __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_setzero_ph(void) {
4150 return (__m128h){0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
4251}
4352
44static __inline __m256h __DEFAULT_FN_ATTRS256 _mm256_setzero_ph(void) {
53static __inline __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
54_mm256_setzero_ph(void) {
4555 return (__m256h){0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
4656 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
4757}
......@@ -50,7 +60,8 @@ static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_undefined_ph(void) {
5060 return (__m256h)__builtin_ia32_undef256();
5161}
5262
53static __inline __m512h __DEFAULT_FN_ATTRS512 _mm512_setzero_ph(void) {
63static __inline __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
64_mm512_setzero_ph(void) {
5465 return (__m512h){0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
5566 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
5667 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
......@@ -64,14 +75,15 @@ static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_undefined_ph(void) {
6475 return (__m512h)__builtin_ia32_undef512();
6576}
6677
67static __inline __m512h __DEFAULT_FN_ATTRS512 _mm512_set1_ph(_Float16 __h) {
78static __inline __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
79_mm512_set1_ph(_Float16 __h) {
6880 return (__m512h)(__v32hf){__h, __h, __h, __h, __h, __h, __h, __h,
6981 __h, __h, __h, __h, __h, __h, __h, __h,
7082 __h, __h, __h, __h, __h, __h, __h, __h,
7183 __h, __h, __h, __h, __h, __h, __h, __h};
7284}
7385
74static __inline __m512h __DEFAULT_FN_ATTRS512
86static __inline __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
7587_mm512_set_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, _Float16 __h4,
7688 _Float16 __h5, _Float16 __h6, _Float16 __h7, _Float16 __h8,
7789 _Float16 __h9, _Float16 __h10, _Float16 __h11, _Float16 __h12,
......@@ -87,106 +99,111 @@ _mm512_set_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, _Float16 __h4,
8799 __h4, __h3, __h2, __h1};
88100}
89101
90#define _mm512_setr_ph(h1, h2, h3, h4, h5, h6, h7, h8, h9, h10, h11, h12, h13, \
91 h14, h15, h16, h17, h18, h19, h20, h21, h22, h23, h24, \
92 h25, h26, h27, h28, h29, h30, h31, h32) \
93 _mm512_set_ph((h32), (h31), (h30), (h29), (h28), (h27), (h26), (h25), (h24), \
94 (h23), (h22), (h21), (h20), (h19), (h18), (h17), (h16), (h15), \
95 (h14), (h13), (h12), (h11), (h10), (h9), (h8), (h7), (h6), \
96 (h5), (h4), (h3), (h2), (h1))
102static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_setr_ph(
103 _Float16 e0, _Float16 e1, _Float16 e2, _Float16 e3, _Float16 e4,
104 _Float16 e5, _Float16 e6, _Float16 e7, _Float16 e8, _Float16 e9,
105 _Float16 e10, _Float16 e11, _Float16 e12, _Float16 e13, _Float16 e14,
106 _Float16 e15, _Float16 e16, _Float16 e17, _Float16 e18, _Float16 e19,
107 _Float16 e20, _Float16 e21, _Float16 e22, _Float16 e23, _Float16 e24,
108 _Float16 e25, _Float16 e26, _Float16 e27, _Float16 e28, _Float16 e29,
109 _Float16 e30, _Float16 e31) {
110 return _mm512_set_ph(e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21,
111 e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10,
112 e9, e8, e7, e6, e5, e4, e3, e2, e1, e0);
113}
97114
98static __inline __m512h __DEFAULT_FN_ATTRS512
115static __inline __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
99116_mm512_set1_pch(_Float16 _Complex __h) {
100117 return (__m512h)_mm512_set1_ps(__builtin_bit_cast(float, __h));
101118}
102119
103static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_castph_ps(__m128h __a) {
120static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_castph_ps(__m128h __a) {
104121 return (__m128)__a;
105122}
106123
107static __inline__ __m256 __DEFAULT_FN_ATTRS256 _mm256_castph_ps(__m256h __a) {
124static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_castph_ps(__m256h __a) {
108125 return (__m256)__a;
109126}
110127
111static __inline__ __m512 __DEFAULT_FN_ATTRS512 _mm512_castph_ps(__m512h __a) {
128static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_castph_ps(__m512h __a) {
112129 return (__m512)__a;
113130}
114131
115static __inline__ __m128d __DEFAULT_FN_ATTRS128 _mm_castph_pd(__m128h __a) {
132static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_castph_pd(__m128h __a) {
116133 return (__m128d)__a;
117134}
118135
119static __inline__ __m256d __DEFAULT_FN_ATTRS256 _mm256_castph_pd(__m256h __a) {
136static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_castph_pd(__m256h __a) {
120137 return (__m256d)__a;
121138}
122139
123static __inline__ __m512d __DEFAULT_FN_ATTRS512 _mm512_castph_pd(__m512h __a) {
140static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_castph_pd(__m512h __a) {
124141 return (__m512d)__a;
125142}
126143
127static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_castph_si128(__m128h __a) {
144static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_castph_si128(__m128h __a) {
128145 return (__m128i)__a;
129146}
130147
131static __inline__ __m256i __DEFAULT_FN_ATTRS256
148static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
132149_mm256_castph_si256(__m256h __a) {
133150 return (__m256i)__a;
134151}
135152
136static __inline__ __m512i __DEFAULT_FN_ATTRS512
153static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
137154_mm512_castph_si512(__m512h __a) {
138155 return (__m512i)__a;
139156}
140157
141static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_castps_ph(__m128 __a) {
158static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_castps_ph(__m128 __a) {
142159 return (__m128h)__a;
143160}
144161
145static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_castps_ph(__m256 __a) {
162static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_castps_ph(__m256 __a) {
146163 return (__m256h)__a;
147164}
148165
149static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_castps_ph(__m512 __a) {
166static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_castps_ph(__m512 __a) {
150167 return (__m512h)__a;
151168}
152169
153static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_castpd_ph(__m128d __a) {
170static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_castpd_ph(__m128d __a) {
154171 return (__m128h)__a;
155172}
156173
157static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_castpd_ph(__m256d __a) {
174static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR _mm256_castpd_ph(__m256d __a) {
158175 return (__m256h)__a;
159176}
160177
161static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_castpd_ph(__m512d __a) {
178static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_castpd_ph(__m512d __a) {
162179 return (__m512h)__a;
163180}
164181
165static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_castsi128_ph(__m128i __a) {
182static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_castsi128_ph(__m128i __a) {
166183 return (__m128h)__a;
167184}
168185
169static __inline__ __m256h __DEFAULT_FN_ATTRS256
186static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
170187_mm256_castsi256_ph(__m256i __a) {
171188 return (__m256h)__a;
172189}
173190
174static __inline__ __m512h __DEFAULT_FN_ATTRS512
191static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
175192_mm512_castsi512_ph(__m512i __a) {
176193 return (__m512h)__a;
177194}
178195
179static __inline__ __m128h __DEFAULT_FN_ATTRS256
196static __inline__ __m128h __DEFAULT_FN_ATTRS256_CONSTEXPR
180197_mm256_castph256_ph128(__m256h __a) {
181198 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7);
182199}
183200
184static __inline__ __m128h __DEFAULT_FN_ATTRS512
201static __inline__ __m128h __DEFAULT_FN_ATTRS512_CONSTEXPR
185202_mm512_castph512_ph128(__m512h __a) {
186203 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7);
187204}
188205
189static __inline__ __m256h __DEFAULT_FN_ATTRS512
206static __inline__ __m256h __DEFAULT_FN_ATTRS512_CONSTEXPR
190207_mm512_castph512_ph256(__m512h __a) {
191208 return __builtin_shufflevector(__a, __a, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
192209 12, 13, 14, 15);
......@@ -229,7 +246,7 @@ _mm512_castph256_ph512(__m256h __a) {
229246/// A 128-bit vector of [8 x half].
230247/// \returns A 512-bit floating-point vector of [16 x half]. The lower 128 bits
231248/// contain the value of the parameter. The upper 384 bits are set to zero.
232static __inline__ __m256h __DEFAULT_FN_ATTRS256
249static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
233250_mm256_zextph128_ph256(__m128h __a) {
234251 return __builtin_shufflevector(__a, (__v8hf)_mm_setzero_ph(), 0, 1, 2, 3, 4,
235252 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);
......@@ -248,7 +265,7 @@ _mm256_zextph128_ph256(__m128h __a) {
248265/// A 128-bit vector of [8 x half].
249266/// \returns A 512-bit floating-point vector of [32 x half]. The lower 128 bits
250267/// contain the value of the parameter. The upper 384 bits are set to zero.
251static __inline__ __m512h __DEFAULT_FN_ATTRS512
268static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
252269_mm512_zextph128_ph512(__m128h __a) {
253270 return __builtin_shufflevector(
254271 __a, (__v8hf)_mm_setzero_ph(), 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
......@@ -268,7 +285,7 @@ _mm512_zextph128_ph512(__m128h __a) {
268285/// A 256-bit vector of [16 x half].
269286/// \returns A 512-bit floating-point vector of [32 x half]. The lower 256 bits
270287/// contain the value of the parameter. The upper 256 bits are set to zero.
271static __inline__ __m512h __DEFAULT_FN_ATTRS512
288static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
272289_mm512_zextph256_ph512(__m256h __a) {
273290 return __builtin_shufflevector(__a, (__v16hf)_mm256_setzero_ph(), 0, 1, 2, 3,
274291 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
......@@ -482,19 +499,19 @@ _mm512_maskz_div_ph(__mmask32 __U, __m512h __A, __m512h __B) {
482499 (__mmask32)(U), (__v32hf)_mm512_div_round_ph((A), (B), (R)), \
483500 (__v32hf)_mm512_setzero_ph()))
484501
485static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_min_ph(__m512h __A,
486 __m512h __B) {
502static __inline__ __m512h
503 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_min_ph(__m512h __A, __m512h __B) {
487504 return (__m512h)__builtin_ia32_minph512((__v32hf)__A, (__v32hf)__B,
488505 _MM_FROUND_CUR_DIRECTION);
489506}
490507
491static __inline__ __m512h __DEFAULT_FN_ATTRS512
508static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
492509_mm512_mask_min_ph(__m512h __W, __mmask32 __U, __m512h __A, __m512h __B) {
493510 return (__m512h)__builtin_ia32_selectph_512(
494511 (__mmask32)__U, (__v32hf)_mm512_min_ph(__A, __B), (__v32hf)__W);
495512}
496513
497static __inline__ __m512h __DEFAULT_FN_ATTRS512
514static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
498515_mm512_maskz_min_ph(__mmask32 __U, __m512h __A, __m512h __B) {
499516 return (__m512h)__builtin_ia32_selectph_512((__mmask32)__U,
500517 (__v32hf)_mm512_min_ph(__A, __B),
......@@ -515,19 +532,19 @@ _mm512_maskz_min_ph(__mmask32 __U, __m512h __A, __m512h __B) {
515532 (__mmask32)(U), (__v32hf)_mm512_min_round_ph((A), (B), (R)), \
516533 (__v32hf)_mm512_setzero_ph()))
517534
518static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_max_ph(__m512h __A,
519 __m512h __B) {
535static __inline__ __m512h
536 __DEFAULT_FN_ATTRS512_CONSTEXPR _mm512_max_ph(__m512h __A, __m512h __B) {
520537 return (__m512h)__builtin_ia32_maxph512((__v32hf)__A, (__v32hf)__B,
521538 _MM_FROUND_CUR_DIRECTION);
522539}
523540
524static __inline__ __m512h __DEFAULT_FN_ATTRS512
541static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
525542_mm512_mask_max_ph(__m512h __W, __mmask32 __U, __m512h __A, __m512h __B) {
526543 return (__m512h)__builtin_ia32_selectph_512(
527544 (__mmask32)__U, (__v32hf)_mm512_max_ph(__A, __B), (__v32hf)__W);
528545}
529546
530static __inline__ __m512h __DEFAULT_FN_ATTRS512
547static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
531548_mm512_maskz_max_ph(__mmask32 __U, __m512h __A, __m512h __B) {
532549 return (__m512h)__builtin_ia32_selectph_512((__mmask32)__U,
533550 (__v32hf)_mm512_max_ph(__A, __B),
......@@ -548,7 +565,8 @@ _mm512_maskz_max_ph(__mmask32 __U, __m512h __A, __m512h __B) {
548565 (__mmask32)(U), (__v32hf)_mm512_max_round_ph((A), (B), (R)), \
549566 (__v32hf)_mm512_setzero_ph()))
550567
551static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_abs_ph(__m512h __A) {
568static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
569_mm512_abs_ph(__m512h __A) {
552570 return (__m512h)_mm512_and_epi32(_mm512_set1_epi32(0x7FFF7FFF), (__m512i)__A);
553571}
554572
......@@ -570,23 +588,20 @@ _mm512_maskz_conj_pch(__mmask16 __U, __m512h __A) {
570588 (__v16sf)_mm512_setzero_ps());
571589}
572590
573static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_add_sh(__m128h __A,
574 __m128h __B) {
591static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
592_mm_add_sh(__m128h __A, __m128h __B) {
575593 __A[0] += __B[0];
576594 return __A;
577595}
578596
579static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_add_sh(__m128h __W,
580 __mmask8 __U,
581 __m128h __A,
582 __m128h __B) {
597static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
598_mm_mask_add_sh(__m128h __W, __mmask8 __U, __m128h __A, __m128h __B) {
583599 __A = _mm_add_sh(__A, __B);
584600 return __builtin_ia32_selectsh_128(__U, __A, __W);
585601}
586602
587static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_maskz_add_sh(__mmask8 __U,
588 __m128h __A,
589 __m128h __B) {
603static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
604_mm_maskz_add_sh(__mmask8 __U, __m128h __A, __m128h __B) {
590605 __A = _mm_add_sh(__A, __B);
591606 return __builtin_ia32_selectsh_128(__U, __A, _mm_setzero_ph());
592607}
......@@ -606,23 +621,20 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_maskz_add_sh(__mmask8 __U,
606621 (__v8hf)(__m128h)(A), (__v8hf)(__m128h)(B), (__v8hf)_mm_setzero_ph(), \
607622 (__mmask8)(U), (int)(R)))
608623
609static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_sub_sh(__m128h __A,
610 __m128h __B) {
624static __inline__ __m128h
625 __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_sub_sh(__m128h __A, __m128h __B) {
611626 __A[0] -= __B[0];
612627 return __A;
613628}
614629
615static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_sub_sh(__m128h __W,
616 __mmask8 __U,
617 __m128h __A,
618 __m128h __B) {
630static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
631_mm_mask_sub_sh(__m128h __W, __mmask8 __U, __m128h __A, __m128h __B) {
619632 __A = _mm_sub_sh(__A, __B);
620633 return __builtin_ia32_selectsh_128(__U, __A, __W);
621634}
622635
623static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_maskz_sub_sh(__mmask8 __U,
624 __m128h __A,
625 __m128h __B) {
636static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
637_mm_maskz_sub_sh(__mmask8 __U, __m128h __A, __m128h __B) {
626638 __A = _mm_sub_sh(__A, __B);
627639 return __builtin_ia32_selectsh_128(__U, __A, _mm_setzero_ph());
628640}
......@@ -642,23 +654,20 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_maskz_sub_sh(__mmask8 __U,
642654 (__v8hf)(__m128h)(A), (__v8hf)(__m128h)(B), (__v8hf)_mm_setzero_ph(), \
643655 (__mmask8)(U), (int)(R)))
644656
645static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mul_sh(__m128h __A,
646 __m128h __B) {
657static __inline__ __m128h
658 __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mul_sh(__m128h __A, __m128h __B) {
647659 __A[0] *= __B[0];
648660 return __A;
649661}
650662
651static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_mul_sh(__m128h __W,
652 __mmask8 __U,
653 __m128h __A,
654 __m128h __B) {
663static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
664_mm_mask_mul_sh(__m128h __W, __mmask8 __U, __m128h __A, __m128h __B) {
655665 __A = _mm_mul_sh(__A, __B);
656666 return __builtin_ia32_selectsh_128(__U, __A, __W);
657667}
658668
659static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_maskz_mul_sh(__mmask8 __U,
660 __m128h __A,
661 __m128h __B) {
669static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
670_mm_maskz_mul_sh(__mmask8 __U, __m128h __A, __m128h __B) {
662671 __A = _mm_mul_sh(__A, __B);
663672 return __builtin_ia32_selectsh_128(__U, __A, _mm_setzero_ph());
664673}
......@@ -678,23 +687,20 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_maskz_mul_sh(__mmask8 __U,
678687 (__v8hf)(__m128h)(A), (__v8hf)(__m128h)(B), (__v8hf)_mm_setzero_ph(), \
679688 (__mmask8)(U), (int)(R)))
680689
681static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_div_sh(__m128h __A,
682 __m128h __B) {
690static __inline__ __m128h
691 __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_div_sh(__m128h __A, __m128h __B) {
683692 __A[0] /= __B[0];
684693 return __A;
685694}
686695
687static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_div_sh(__m128h __W,
688 __mmask8 __U,
689 __m128h __A,
690 __m128h __B) {
696static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
697_mm_mask_div_sh(__m128h __W, __mmask8 __U, __m128h __A, __m128h __B) {
691698 __A = _mm_div_sh(__A, __B);
692699 return __builtin_ia32_selectsh_128(__U, __A, __W);
693700}
694701
695static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_maskz_div_sh(__mmask8 __U,
696 __m128h __A,
697 __m128h __B) {
702static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
703_mm_maskz_div_sh(__mmask8 __U, __m128h __A, __m128h __B) {
698704 __A = _mm_div_sh(__A, __B);
699705 return __builtin_ia32_selectsh_128(__U, __A, _mm_setzero_ph());
700706}
......@@ -942,22 +948,19 @@ static __inline__ void __DEFAULT_FN_ATTRS128 _mm_storeu_ph(void *__P,
942948}
943949
944950// moves with vmovsh:
945static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_move_sh(__m128h __a,
946 __m128h __b) {
951static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
952_mm_move_sh(__m128h __a, __m128h __b) {
947953 __a[0] = __b[0];
948954 return __a;
949955}
950956
951static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_move_sh(__m128h __W,
952 __mmask8 __U,
953 __m128h __A,
954 __m128h __B) {
957static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
958_mm_mask_move_sh(__m128h __W, __mmask8 __U, __m128h __A, __m128h __B) {
955959 return __builtin_ia32_selectsh_128(__U, _mm_move_sh(__A, __B), __W);
956960}
957961
958static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_maskz_move_sh(__mmask8 __U,
959 __m128h __A,
960 __m128h __B) {
962static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
963_mm_maskz_move_sh(__mmask8 __U, __m128h __A, __m128h __B) {
961964 return __builtin_ia32_selectsh_128(__U, _mm_move_sh(__A, __B),
962965 _mm_setzero_ph());
963966}
......@@ -1383,24 +1386,20 @@ _mm_maskz_scalef_sh(__mmask8 __U, __m128h __A, __m128h __B) {
13831386 (__v32hf)_mm512_setzero_ph()))
13841387
13851388static __inline__ __m512h __DEFAULT_FN_ATTRS512 _mm512_sqrt_ph(__m512h __A) {
1386 return (__m512h)__builtin_ia32_sqrtph512((__v32hf)__A,
1387 _MM_FROUND_CUR_DIRECTION);
1389 return (__m512h)__builtin_elementwise_sqrt((__v32hf)__A);
13881390}
13891391
13901392static __inline__ __m512h __DEFAULT_FN_ATTRS512
13911393_mm512_mask_sqrt_ph(__m512h __W, __mmask32 __U, __m512h __A) {
13921394 return (__m512h)__builtin_ia32_selectph_512(
1393 (__mmask32)(__U),
1394 (__v32hf)__builtin_ia32_sqrtph512((__A), (_MM_FROUND_CUR_DIRECTION)),
1395 (__v32hf)(__m512h)(__W));
1395 (__mmask32)(__U), (__v32hf)_mm512_sqrt_ph(__A), (__v32hf)(__m512h)(__W));
13961396}
13971397
13981398static __inline__ __m512h __DEFAULT_FN_ATTRS512
13991399_mm512_maskz_sqrt_ph(__mmask32 __U, __m512h __A) {
1400 return (__m512h)__builtin_ia32_selectph_512(
1401 (__mmask32)(__U),
1402 (__v32hf)__builtin_ia32_sqrtph512((__A), (_MM_FROUND_CUR_DIRECTION)),
1403 (__v32hf)_mm512_setzero_ph());
1400 return (__m512h)__builtin_ia32_selectph_512((__mmask32)(__U),
1401 (__v32hf)_mm512_sqrt_ph(__A),
1402 (__v32hf)_mm512_setzero_ph());
14041403}
14051404
14061405#define _mm_sqrt_round_sh(A, B, R) \
......@@ -3292,19 +3291,19 @@ _mm512_reduce_min_ph(__m512h __V) {
32923291 return __builtin_ia32_reduce_fmin_ph512(__V);
32933292}
32943293
3295static __inline__ __m512h __DEFAULT_FN_ATTRS512
3294static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
32963295_mm512_mask_blend_ph(__mmask32 __U, __m512h __A, __m512h __W) {
32973296 return (__m512h)__builtin_ia32_selectph_512((__mmask32)__U, (__v32hf)__W,
32983297 (__v32hf)__A);
32993298}
33003299
3301static __inline__ __m512h __DEFAULT_FN_ATTRS512
3300static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
33023301_mm512_permutex2var_ph(__m512h __A, __m512i __I, __m512h __B) {
33033302 return (__m512h)__builtin_ia32_vpermi2varhi512((__v32hi)__A, (__v32hi)__I,
33043303 (__v32hi)__B);
33053304}
33063305
3307static __inline__ __m512h __DEFAULT_FN_ATTRS512
3306static __inline__ __m512h __DEFAULT_FN_ATTRS512_CONSTEXPR
33083307_mm512_permutexvar_ph(__m512i __A, __m512h __B) {
33093308 return (__m512h)__builtin_ia32_permvarhi512((__v32hi)__B, (__v32hi)__A);
33103309}
......@@ -3348,6 +3347,9 @@ _mm512_permutexvar_ph(__m512i __A, __m512h __B) {
33483347#undef __DEFAULT_FN_ATTRS128
33493348#undef __DEFAULT_FN_ATTRS256
33503349#undef __DEFAULT_FN_ATTRS512
3350#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
3351#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
3352#undef __DEFAULT_FN_ATTRS512_CONSTEXPR
33513353
33523354#endif
33533355#endif
lib/include/avx512ifmaintrin.h+32-34
......@@ -15,54 +15,52 @@
1515#define __IFMAINTRIN_H
1616
1717/* Define the default attributes for the functions in this file. */
18#if defined(__cplusplus) && (__cplusplus >= 201103L)
1819#define __DEFAULT_FN_ATTRS \
19 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512ifma,evex512"), __min_vector_width__(512)))
20 __attribute__((__always_inline__, __nodebug__, __target__("avx512ifma"), \
21 __min_vector_width__(512))) constexpr
22#else
23#define __DEFAULT_FN_ATTRS \
24 __attribute__((__always_inline__, __nodebug__, __target__("avx512ifma"), \
25 __min_vector_width__(512)))
26#endif
2127
2228static __inline__ __m512i __DEFAULT_FN_ATTRS
23_mm512_madd52hi_epu64 (__m512i __X, __m512i __Y, __m512i __Z)
24{
25 return (__m512i)__builtin_ia32_vpmadd52huq512((__v8di) __X, (__v8di) __Y,
26 (__v8di) __Z);
29_mm512_madd52hi_epu64(__m512i __X, __m512i __Y, __m512i __Z) {
30 return (__m512i)__builtin_ia32_vpmadd52huq512((__v8di)__X, (__v8di)__Y,
31 (__v8di)__Z);
2732}
2833
29static __inline__ __m512i __DEFAULT_FN_ATTRS
30_mm512_mask_madd52hi_epu64 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
31{
32 return (__m512i)__builtin_ia32_selectq_512(__M,
33 (__v8di)_mm512_madd52hi_epu64(__W, __X, __Y),
34 (__v8di)__W);
34static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_madd52hi_epu64(
35 __m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) {
36 return (__m512i)__builtin_ia32_selectq_512(
37 __M, (__v8di)_mm512_madd52hi_epu64(__W, __X, __Y), (__v8di)__W);
3538}
3639
37static __inline__ __m512i __DEFAULT_FN_ATTRS
38_mm512_maskz_madd52hi_epu64 (__mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z)
39{
40 return (__m512i)__builtin_ia32_selectq_512(__M,
41 (__v8di)_mm512_madd52hi_epu64(__X, __Y, __Z),
42 (__v8di)_mm512_setzero_si512());
40static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_madd52hi_epu64(
41 __mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z) {
42 return (__m512i)__builtin_ia32_selectq_512(
43 __M, (__v8di)_mm512_madd52hi_epu64(__X, __Y, __Z),
44 (__v8di)_mm512_setzero_si512());
4345}
4446
4547static __inline__ __m512i __DEFAULT_FN_ATTRS
46_mm512_madd52lo_epu64 (__m512i __X, __m512i __Y, __m512i __Z)
47{
48 return (__m512i)__builtin_ia32_vpmadd52luq512((__v8di) __X, (__v8di) __Y,
49 (__v8di) __Z);
48_mm512_madd52lo_epu64(__m512i __X, __m512i __Y, __m512i __Z) {
49 return (__m512i)__builtin_ia32_vpmadd52luq512((__v8di)__X, (__v8di)__Y,
50 (__v8di)__Z);
5051}
5152
52static __inline__ __m512i __DEFAULT_FN_ATTRS
53_mm512_mask_madd52lo_epu64 (__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y)
54{
55 return (__m512i)__builtin_ia32_selectq_512(__M,
56 (__v8di)_mm512_madd52lo_epu64(__W, __X, __Y),
57 (__v8di)__W);
53static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_madd52lo_epu64(
54 __m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) {
55 return (__m512i)__builtin_ia32_selectq_512(
56 __M, (__v8di)_mm512_madd52lo_epu64(__W, __X, __Y), (__v8di)__W);
5857}
5958
60static __inline__ __m512i __DEFAULT_FN_ATTRS
61_mm512_maskz_madd52lo_epu64 (__mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z)
62{
63 return (__m512i)__builtin_ia32_selectq_512(__M,
64 (__v8di)_mm512_madd52lo_epu64(__X, __Y, __Z),
65 (__v8di)_mm512_setzero_si512());
59static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_madd52lo_epu64(
60 __mmask8 __M, __m512i __X, __m512i __Y, __m512i __Z) {
61 return (__m512i)__builtin_ia32_selectq_512(
62 __M, (__v8di)_mm512_madd52lo_epu64(__X, __Y, __Z),
63 (__v8di)_mm512_setzero_si512());
6664}
6765
6866#undef __DEFAULT_FN_ATTRS
lib/include/avx512ifmavlintrin.h+73-46
......@@ -8,22 +8,35 @@
88 *===-----------------------------------------------------------------------===
99 */
1010#ifndef __IMMINTRIN_H
11#error "Never use <avx512ifmavlintrin.h> directly; include <immintrin.h> instead."
11#error \
12 "Never use <avx512ifmavlintrin.h> directly; include <immintrin.h> instead."
1213#endif
1314
1415#ifndef __IFMAVLINTRIN_H
1516#define __IFMAVLINTRIN_H
1617
1718/* Define the default attributes for the functions in this file. */
19#if defined(__cplusplus) && (__cplusplus >= 201103L)
1820#define __DEFAULT_FN_ATTRS128 \
1921 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512ifma,avx512vl,no-evex512"), \
22 __target__("avx512ifma,avx512vl"), \
23 __min_vector_width__(128))) constexpr
24#define __DEFAULT_FN_ATTRS256 \
25 __attribute__((__always_inline__, __nodebug__, \
26 __target__("avx512ifma,avx512vl"), \
27 __min_vector_width__(256))) constexpr
28#else
29#define __DEFAULT_FN_ATTRS128 \
30 __attribute__((__always_inline__, __nodebug__, \
31 __target__("avx512ifma,avx512vl"), \
2132 __min_vector_width__(128)))
2233#define __DEFAULT_FN_ATTRS256 \
2334 __attribute__((__always_inline__, __nodebug__, \
24 __target__("avx512ifma,avx512vl,no-evex512"), \
35 __target__("avx512ifma,avx512vl"), \
2536 __min_vector_width__(256)))
37#endif
2638
39#if !(defined(__AVXIFMA__) || defined(__AVX512IFMA__))
2740#define _mm_madd52hi_epu64(X, Y, Z) \
2841 ((__m128i)__builtin_ia32_vpmadd52huq128((__v2di)(X), (__v2di)(Y), \
2942 (__v2di)(Z)))
......@@ -39,71 +52,85 @@
3952#define _mm256_madd52lo_epu64(X, Y, Z) \
4053 ((__m256i)__builtin_ia32_vpmadd52luq256((__v4di)(X), (__v4di)(Y), \
4154 (__v4di)(Z)))
55#endif
4256
57#if defined(__AVX512IFMA__)
4358static __inline__ __m128i __DEFAULT_FN_ATTRS128
44_mm_mask_madd52hi_epu64 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
45{
46 return (__m128i)__builtin_ia32_selectq_128(__M,
47 (__v2di)_mm_madd52hi_epu64(__W, __X, __Y),
48 (__v2di)__W);
59_mm_madd52hi_epu64(__m128i __X, __m128i __Y, __m128i __Z) {
60 return (__m128i)__builtin_ia32_vpmadd52huq128((__v2di)__X, (__v2di)__Y,
61 (__v2di)__Z);
62}
63
64static __inline__ __m256i __DEFAULT_FN_ATTRS256
65_mm256_madd52hi_epu64(__m256i __X, __m256i __Y, __m256i __Z) {
66 return (__m256i)__builtin_ia32_vpmadd52huq256((__v4di)__X, (__v4di)__Y,
67 (__v4di)__Z);
4968}
5069
5170static __inline__ __m128i __DEFAULT_FN_ATTRS128
52_mm_maskz_madd52hi_epu64 (__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z)
53{
54 return (__m128i)__builtin_ia32_selectq_128(__M,
55 (__v2di)_mm_madd52hi_epu64(__X, __Y, __Z),
56 (__v2di)_mm_setzero_si128());
71_mm_madd52lo_epu64(__m128i __X, __m128i __Y, __m128i __Z) {
72 return (__m128i)__builtin_ia32_vpmadd52luq128((__v2di)__X, (__v2di)__Y,
73 (__v2di)__Z);
5774}
5875
5976static __inline__ __m256i __DEFAULT_FN_ATTRS256
60_mm256_mask_madd52hi_epu64 (__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y)
61{
62 return (__m256i)__builtin_ia32_selectq_256(__M,
63 (__v4di)_mm256_madd52hi_epu64(__W, __X, __Y),
64 (__v4di)__W);
77_mm256_madd52lo_epu64(__m256i __X, __m256i __Y, __m256i __Z) {
78 return (__m256i)__builtin_ia32_vpmadd52luq256((__v4di)__X, (__v4di)__Y,
79 (__v4di)__Z);
6580}
81#endif
6682
67static __inline__ __m256i __DEFAULT_FN_ATTRS256
68_mm256_maskz_madd52hi_epu64 (__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z)
69{
70 return (__m256i)__builtin_ia32_selectq_256(__M,
71 (__v4di)_mm256_madd52hi_epu64(__X, __Y, __Z),
72 (__v4di)_mm256_setzero_si256());
83static __inline__ __m128i __DEFAULT_FN_ATTRS128
84_mm_mask_madd52hi_epu64(__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y) {
85 return (__m128i)__builtin_ia32_selectq_128(
86 __M, (__v2di)__builtin_ia32_vpmadd52huq128(__W, __X, __Y), (__v2di)__W);
7387}
7488
7589static __inline__ __m128i __DEFAULT_FN_ATTRS128
76_mm_mask_madd52lo_epu64 (__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
77{
78 return (__m128i)__builtin_ia32_selectq_128(__M,
79 (__v2di)_mm_madd52lo_epu64(__W, __X, __Y),
80 (__v2di)__W);
90_mm_maskz_madd52hi_epu64(__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z) {
91 return (__m128i)__builtin_ia32_selectq_128(
92 __M, (__v2di)__builtin_ia32_vpmadd52huq128(__X, __Y, __Z),
93 (__v2di)_mm_setzero_si128());
94}
95
96static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_madd52hi_epu64(
97 __m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) {
98 return (__m256i)__builtin_ia32_selectq_256(
99 __M, (__v4di)__builtin_ia32_vpmadd52huq256(__W, __X, __Y), (__v4di)__W);
100}
101
102static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_madd52hi_epu64(
103 __mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z) {
104 return (__m256i)__builtin_ia32_selectq_256(
105 __M, (__v4di)__builtin_ia32_vpmadd52huq256(__X, __Y, __Z),
106 (__v4di)_mm256_setzero_si256());
81107}
82108
83109static __inline__ __m128i __DEFAULT_FN_ATTRS128
84_mm_maskz_madd52lo_epu64 (__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z)
85{
86 return (__m128i)__builtin_ia32_selectq_128(__M,
87 (__v2di)_mm_madd52lo_epu64(__X, __Y, __Z),
88 (__v2di)_mm_setzero_si128());
110_mm_mask_madd52lo_epu64(__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y) {
111 return (__m128i)__builtin_ia32_selectq_128(
112 __M, (__v2di)__builtin_ia32_vpmadd52luq128(__W, __X, __Y), (__v2di)__W);
89113}
90114
91static __inline__ __m256i __DEFAULT_FN_ATTRS256
92_mm256_mask_madd52lo_epu64 (__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y)
93{
94 return (__m256i)__builtin_ia32_selectq_256(__M,
95 (__v4di)_mm256_madd52lo_epu64(__W, __X, __Y),
96 (__v4di)__W);
115static __inline__ __m128i __DEFAULT_FN_ATTRS128
116_mm_maskz_madd52lo_epu64(__mmask8 __M, __m128i __X, __m128i __Y, __m128i __Z) {
117 return (__m128i)__builtin_ia32_selectq_128(
118 __M, (__v2di)__builtin_ia32_vpmadd52luq128(__X, __Y, __Z),
119 (__v2di)_mm_setzero_si128());
97120}
98121
99static __inline__ __m256i __DEFAULT_FN_ATTRS256
100_mm256_maskz_madd52lo_epu64 (__mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z)
101{
102 return (__m256i)__builtin_ia32_selectq_256(__M,
103 (__v4di)_mm256_madd52lo_epu64(__X, __Y, __Z),
104 (__v4di)_mm256_setzero_si256());
122static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_madd52lo_epu64(
123 __m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) {
124 return (__m256i)__builtin_ia32_selectq_256(
125 __M, (__v4di)__builtin_ia32_vpmadd52luq256(__W, __X, __Y), (__v4di)__W);
105126}
106127
128static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_madd52lo_epu64(
129 __mmask8 __M, __m256i __X, __m256i __Y, __m256i __Z) {
130 return (__m256i)__builtin_ia32_selectq_256(
131 __M, (__v4di)__builtin_ia32_vpmadd52luq256(__X, __Y, __Z),
132 (__v4di)_mm256_setzero_si256());
133}
107134
108135#undef __DEFAULT_FN_ATTRS128
109136#undef __DEFAULT_FN_ATTRS256
lib/include/avx512vbmi2intrin.h+43-32
......@@ -15,8 +15,15 @@
1515#define __AVX512VBMI2INTRIN_H
1616
1717/* Define the default attributes for the functions in this file. */
18#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vbmi2,evex512"), __min_vector_width__(512)))
19
18#define __DEFAULT_FN_ATTRS \
19 __attribute__((__always_inline__, __nodebug__, __target__("avx512vbmi2"), \
20 __min_vector_width__(512)))
21
22#if defined(__cplusplus) && (__cplusplus >= 201103L)
23#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
24#else
25#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
26#endif
2027
2128static __inline__ __m512i __DEFAULT_FN_ATTRS
2229_mm512_mask_compress_epi16(__m512i __S, __mmask32 __U, __m512i __D)
......@@ -212,14 +219,14 @@ _mm512_maskz_expandloadu_epi8(__mmask64 __U, void const *__P)
212219 (__v32hi)_mm512_shrdi_epi16((A), (B), (I)), \
213220 (__v32hi)_mm512_setzero_si512()))
214221
215static __inline__ __m512i __DEFAULT_FN_ATTRS
222static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
216223_mm512_shldv_epi64(__m512i __A, __m512i __B, __m512i __C)
217224{
218 return (__m512i)__builtin_ia32_vpshldvq512((__v8di)__A, (__v8di)__B,
219 (__v8di)__C);
225 return (__m512i)__builtin_elementwise_fshl((__v8du)__A, (__v8du)__B,
226 (__v8du)__C);
220227}
221228
222static __inline__ __m512i __DEFAULT_FN_ATTRS
229static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
223230_mm512_mask_shldv_epi64(__m512i __A, __mmask8 __U, __m512i __B, __m512i __C)
224231{
225232 return (__m512i)__builtin_ia32_selectq_512(__U,
......@@ -227,7 +234,7 @@ _mm512_mask_shldv_epi64(__m512i __A, __mmask8 __U, __m512i __B, __m512i __C)
227234 (__v8di)__A);
228235}
229236
230static __inline__ __m512i __DEFAULT_FN_ATTRS
237static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
231238_mm512_maskz_shldv_epi64(__mmask8 __U, __m512i __A, __m512i __B, __m512i __C)
232239{
233240 return (__m512i)__builtin_ia32_selectq_512(__U,
......@@ -235,14 +242,14 @@ _mm512_maskz_shldv_epi64(__mmask8 __U, __m512i __A, __m512i __B, __m512i __C)
235242 (__v8di)_mm512_setzero_si512());
236243}
237244
238static __inline__ __m512i __DEFAULT_FN_ATTRS
245static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
239246_mm512_shldv_epi32(__m512i __A, __m512i __B, __m512i __C)
240247{
241 return (__m512i)__builtin_ia32_vpshldvd512((__v16si)__A, (__v16si)__B,
242 (__v16si)__C);
248 return (__m512i)__builtin_elementwise_fshl((__v16su)__A, (__v16su)__B,
249 (__v16su)__C);
243250}
244251
245static __inline__ __m512i __DEFAULT_FN_ATTRS
252static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
246253_mm512_mask_shldv_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C)
247254{
248255 return (__m512i)__builtin_ia32_selectd_512(__U,
......@@ -250,7 +257,7 @@ _mm512_mask_shldv_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C)
250257 (__v16si)__A);
251258}
252259
253static __inline__ __m512i __DEFAULT_FN_ATTRS
260static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
254261_mm512_maskz_shldv_epi32(__mmask16 __U, __m512i __A, __m512i __B, __m512i __C)
255262{
256263 return (__m512i)__builtin_ia32_selectd_512(__U,
......@@ -258,14 +265,14 @@ _mm512_maskz_shldv_epi32(__mmask16 __U, __m512i __A, __m512i __B, __m512i __C)
258265 (__v16si)_mm512_setzero_si512());
259266}
260267
261static __inline__ __m512i __DEFAULT_FN_ATTRS
268static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
262269_mm512_shldv_epi16(__m512i __A, __m512i __B, __m512i __C)
263270{
264 return (__m512i)__builtin_ia32_vpshldvw512((__v32hi)__A, (__v32hi)__B,
265 (__v32hi)__C);
271 return (__m512i)__builtin_elementwise_fshl((__v32hu)__A, (__v32hu)__B,
272 (__v32hu)__C);
266273}
267274
268static __inline__ __m512i __DEFAULT_FN_ATTRS
275static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
269276_mm512_mask_shldv_epi16(__m512i __A, __mmask32 __U, __m512i __B, __m512i __C)
270277{
271278 return (__m512i)__builtin_ia32_selectw_512(__U,
......@@ -273,7 +280,7 @@ _mm512_mask_shldv_epi16(__m512i __A, __mmask32 __U, __m512i __B, __m512i __C)
273280 (__v32hi)__A);
274281}
275282
276static __inline__ __m512i __DEFAULT_FN_ATTRS
283static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
277284_mm512_maskz_shldv_epi16(__mmask32 __U, __m512i __A, __m512i __B, __m512i __C)
278285{
279286 return (__m512i)__builtin_ia32_selectw_512(__U,
......@@ -281,14 +288,15 @@ _mm512_maskz_shldv_epi16(__mmask32 __U, __m512i __A, __m512i __B, __m512i __C)
281288 (__v32hi)_mm512_setzero_si512());
282289}
283290
284static __inline__ __m512i __DEFAULT_FN_ATTRS
291static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
285292_mm512_shrdv_epi64(__m512i __A, __m512i __B, __m512i __C)
286293{
287 return (__m512i)__builtin_ia32_vpshrdvq512((__v8di)__A, (__v8di)__B,
288 (__v8di)__C);
294 // Ops __A and __B are swapped.
295 return (__m512i)__builtin_elementwise_fshr((__v8du)__B, (__v8du)__A,
296 (__v8du)__C);
289297}
290298
291static __inline__ __m512i __DEFAULT_FN_ATTRS
299static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
292300_mm512_mask_shrdv_epi64(__m512i __A, __mmask8 __U, __m512i __B, __m512i __C)
293301{
294302 return (__m512i)__builtin_ia32_selectq_512(__U,
......@@ -296,7 +304,7 @@ _mm512_mask_shrdv_epi64(__m512i __A, __mmask8 __U, __m512i __B, __m512i __C)
296304 (__v8di)__A);
297305}
298306
299static __inline__ __m512i __DEFAULT_FN_ATTRS
307static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
300308_mm512_maskz_shrdv_epi64(__mmask8 __U, __m512i __A, __m512i __B, __m512i __C)
301309{
302310 return (__m512i)__builtin_ia32_selectq_512(__U,
......@@ -304,14 +312,15 @@ _mm512_maskz_shrdv_epi64(__mmask8 __U, __m512i __A, __m512i __B, __m512i __C)
304312 (__v8di)_mm512_setzero_si512());
305313}
306314
307static __inline__ __m512i __DEFAULT_FN_ATTRS
315static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
308316_mm512_shrdv_epi32(__m512i __A, __m512i __B, __m512i __C)
309317{
310 return (__m512i)__builtin_ia32_vpshrdvd512((__v16si)__A, (__v16si)__B,
311 (__v16si)__C);
318 // Ops __A and __B are swapped.
319 return (__m512i)__builtin_elementwise_fshr((__v16su)__B, (__v16su)__A,
320 (__v16su)__C);
312321}
313322
314static __inline__ __m512i __DEFAULT_FN_ATTRS
323static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
315324_mm512_mask_shrdv_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C)
316325{
317326 return (__m512i) __builtin_ia32_selectd_512(__U,
......@@ -319,7 +328,7 @@ _mm512_mask_shrdv_epi32(__m512i __A, __mmask16 __U, __m512i __B, __m512i __C)
319328 (__v16si)__A);
320329}
321330
322static __inline__ __m512i __DEFAULT_FN_ATTRS
331static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
323332_mm512_maskz_shrdv_epi32(__mmask16 __U, __m512i __A, __m512i __B, __m512i __C)
324333{
325334 return (__m512i) __builtin_ia32_selectd_512(__U,
......@@ -327,14 +336,15 @@ _mm512_maskz_shrdv_epi32(__mmask16 __U, __m512i __A, __m512i __B, __m512i __C)
327336 (__v16si)_mm512_setzero_si512());
328337}
329338
330static __inline__ __m512i __DEFAULT_FN_ATTRS
339static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
331340_mm512_shrdv_epi16(__m512i __A, __m512i __B, __m512i __C)
332341{
333 return (__m512i)__builtin_ia32_vpshrdvw512((__v32hi)__A, (__v32hi)__B,
334 (__v32hi)__C);
342 // Ops __A and __B are swapped.
343 return (__m512i)__builtin_elementwise_fshr((__v32hu)__B, (__v32hu)__A,
344 (__v32hu)__C);
335345}
336346
337static __inline__ __m512i __DEFAULT_FN_ATTRS
347static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
338348_mm512_mask_shrdv_epi16(__m512i __A, __mmask32 __U, __m512i __B, __m512i __C)
339349{
340350 return (__m512i)__builtin_ia32_selectw_512(__U,
......@@ -342,7 +352,7 @@ _mm512_mask_shrdv_epi16(__m512i __A, __mmask32 __U, __m512i __B, __m512i __C)
342352 (__v32hi)__A);
343353}
344354
345static __inline__ __m512i __DEFAULT_FN_ATTRS
355static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
346356_mm512_maskz_shrdv_epi16(__mmask32 __U, __m512i __A, __m512i __B, __m512i __C)
347357{
348358 return (__m512i)__builtin_ia32_selectw_512(__U,
......@@ -352,6 +362,7 @@ _mm512_maskz_shrdv_epi16(__mmask32 __U, __m512i __A, __m512i __B, __m512i __C)
352362
353363
354364#undef __DEFAULT_FN_ATTRS
365#undef __DEFAULT_FN_ATTRS_CONSTEXPR
355366
356367#endif
357368
lib/include/avx512vbmiintrin.h+19-27
......@@ -15,63 +15,57 @@
1515#define __VBMIINTRIN_H
1616
1717/* Define the default attributes for the functions in this file. */
18#if defined(__cplusplus) && (__cplusplus >= 201103L)
1819#define __DEFAULT_FN_ATTRS \
19 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512vbmi,evex512"), __min_vector_width__(512)))
20 __attribute__((__always_inline__, __nodebug__, __target__("avx512vbmi"), \
21 __min_vector_width__(512))) constexpr
22#else
23#define __DEFAULT_FN_ATTRS \
24 __attribute__((__always_inline__, __nodebug__, __target__("avx512vbmi"), \
25 __min_vector_width__(512)))
26#endif
2127
2228static __inline__ __m512i __DEFAULT_FN_ATTRS
23_mm512_permutex2var_epi8(__m512i __A, __m512i __I, __m512i __B)
24{
29_mm512_permutex2var_epi8(__m512i __A, __m512i __I, __m512i __B) {
2530 return (__m512i)__builtin_ia32_vpermi2varqi512((__v64qi)__A, (__v64qi)__I,
2631 (__v64qi) __B);
2732}
2833
29static __inline__ __m512i __DEFAULT_FN_ATTRS
30_mm512_mask_permutex2var_epi8(__m512i __A, __mmask64 __U, __m512i __I,
31 __m512i __B)
32{
34static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_permutex2var_epi8(
35 __m512i __A, __mmask64 __U, __m512i __I, __m512i __B) {
3336 return (__m512i)__builtin_ia32_selectb_512(__U,
3437 (__v64qi)_mm512_permutex2var_epi8(__A, __I, __B),
3538 (__v64qi)__A);
3639}
3740
38static __inline__ __m512i __DEFAULT_FN_ATTRS
39_mm512_mask2_permutex2var_epi8(__m512i __A, __m512i __I, __mmask64 __U,
40 __m512i __B)
41{
41static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask2_permutex2var_epi8(
42 __m512i __A, __m512i __I, __mmask64 __U, __m512i __B) {
4243 return (__m512i)__builtin_ia32_selectb_512(__U,
4344 (__v64qi)_mm512_permutex2var_epi8(__A, __I, __B),
4445 (__v64qi)__I);
4546}
4647
47static __inline__ __m512i __DEFAULT_FN_ATTRS
48_mm512_maskz_permutex2var_epi8(__mmask64 __U, __m512i __A, __m512i __I,
49 __m512i __B)
50{
48static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_maskz_permutex2var_epi8(
49 __mmask64 __U, __m512i __A, __m512i __I, __m512i __B) {
5150 return (__m512i)__builtin_ia32_selectb_512(__U,
5251 (__v64qi)_mm512_permutex2var_epi8(__A, __I, __B),
5352 (__v64qi)_mm512_setzero_si512());
5453}
5554
5655static __inline__ __m512i __DEFAULT_FN_ATTRS
57_mm512_permutexvar_epi8 (__m512i __A, __m512i __B)
58{
56_mm512_permutexvar_epi8(__m512i __A, __m512i __B) {
5957 return (__m512i)__builtin_ia32_permvarqi512((__v64qi) __B, (__v64qi) __A);
6058}
6159
6260static __inline__ __m512i __DEFAULT_FN_ATTRS
63_mm512_maskz_permutexvar_epi8 (__mmask64 __M, __m512i __A,
64 __m512i __B)
65{
61_mm512_maskz_permutexvar_epi8(__mmask64 __M, __m512i __A, __m512i __B) {
6662 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
6763 (__v64qi)_mm512_permutexvar_epi8(__A, __B),
6864 (__v64qi)_mm512_setzero_si512());
6965}
7066
71static __inline__ __m512i __DEFAULT_FN_ATTRS
72_mm512_mask_permutexvar_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
73 __m512i __B)
74{
67static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_mask_permutexvar_epi8(
68 __m512i __W, __mmask64 __M, __m512i __A, __m512i __B) {
7569 return (__m512i)__builtin_ia32_selectb_512((__mmask64)__M,
7670 (__v64qi)_mm512_permutexvar_epi8(__A, __B),
7771 (__v64qi)__W);
......@@ -100,7 +94,5 @@ _mm512_maskz_multishift_epi64_epi8(__mmask64 __M, __m512i __X, __m512i __Y)
10094 (__v64qi)_mm512_setzero_si512());
10195}
10296
103
10497#undef __DEFAULT_FN_ATTRS
105
10698#endif
lib/include/avx512vbmivlintrin.h+35-49
......@@ -15,126 +15,114 @@
1515#define __VBMIVLINTRIN_H
1616
1717/* Define the default attributes for the functions in this file. */
18#if defined(__cplusplus) && (__cplusplus >= 201103L)
1819#define __DEFAULT_FN_ATTRS128 \
1920 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512vbmi,avx512vl,no-evex512"), \
21 __target__("avx512vbmi,avx512vl"), \
22 __min_vector_width__(128))) constexpr
23#define __DEFAULT_FN_ATTRS256 \
24 __attribute__((__always_inline__, __nodebug__, \
25 __target__("avx512vbmi,avx512vl"), \
26 __min_vector_width__(256))) constexpr
27#else
28#define __DEFAULT_FN_ATTRS128 \
29 __attribute__((__always_inline__, __nodebug__, \
30 __target__("avx512vbmi,avx512vl"), \
2131 __min_vector_width__(128)))
2232#define __DEFAULT_FN_ATTRS256 \
2333 __attribute__((__always_inline__, __nodebug__, \
24 __target__("avx512vbmi,avx512vl,no-evex512"), \
34 __target__("avx512vbmi,avx512vl"), \
2535 __min_vector_width__(256)))
36#endif
2637
2738static __inline__ __m128i __DEFAULT_FN_ATTRS128
28_mm_permutex2var_epi8(__m128i __A, __m128i __I, __m128i __B)
29{
39_mm_permutex2var_epi8(__m128i __A, __m128i __I, __m128i __B) {
3040 return (__m128i)__builtin_ia32_vpermi2varqi128((__v16qi)__A,
3141 (__v16qi)__I,
3242 (__v16qi)__B);
3343}
3444
35static __inline__ __m128i __DEFAULT_FN_ATTRS128
36_mm_mask_permutex2var_epi8(__m128i __A, __mmask16 __U, __m128i __I,
37 __m128i __B)
38{
45static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_permutex2var_epi8(
46 __m128i __A, __mmask16 __U, __m128i __I, __m128i __B) {
3947 return (__m128i)__builtin_ia32_selectb_128(__U,
4048 (__v16qi)_mm_permutex2var_epi8(__A, __I, __B),
4149 (__v16qi)__A);
4250}
4351
44static __inline__ __m128i __DEFAULT_FN_ATTRS128
45_mm_mask2_permutex2var_epi8(__m128i __A, __m128i __I, __mmask16 __U,
46 __m128i __B)
47{
52static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask2_permutex2var_epi8(
53 __m128i __A, __m128i __I, __mmask16 __U, __m128i __B) {
4854 return (__m128i)__builtin_ia32_selectb_128(__U,
4955 (__v16qi)_mm_permutex2var_epi8(__A, __I, __B),
5056 (__v16qi)__I);
5157}
5258
53static __inline__ __m128i __DEFAULT_FN_ATTRS128
54_mm_maskz_permutex2var_epi8(__mmask16 __U, __m128i __A, __m128i __I,
55 __m128i __B)
56{
59static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_maskz_permutex2var_epi8(
60 __mmask16 __U, __m128i __A, __m128i __I, __m128i __B) {
5761 return (__m128i)__builtin_ia32_selectb_128(__U,
5862 (__v16qi)_mm_permutex2var_epi8(__A, __I, __B),
5963 (__v16qi)_mm_setzero_si128());
6064}
6165
6266static __inline__ __m256i __DEFAULT_FN_ATTRS256
63_mm256_permutex2var_epi8(__m256i __A, __m256i __I, __m256i __B)
64{
67_mm256_permutex2var_epi8(__m256i __A, __m256i __I, __m256i __B) {
6568 return (__m256i)__builtin_ia32_vpermi2varqi256((__v32qi)__A, (__v32qi)__I,
6669 (__v32qi)__B);
6770}
6871
69static __inline__ __m256i __DEFAULT_FN_ATTRS256
70_mm256_mask_permutex2var_epi8(__m256i __A, __mmask32 __U, __m256i __I,
71 __m256i __B)
72{
72static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_permutex2var_epi8(
73 __m256i __A, __mmask32 __U, __m256i __I, __m256i __B) {
7374 return (__m256i)__builtin_ia32_selectb_256(__U,
7475 (__v32qi)_mm256_permutex2var_epi8(__A, __I, __B),
7576 (__v32qi)__A);
7677}
7778
78static __inline__ __m256i __DEFAULT_FN_ATTRS256
79_mm256_mask2_permutex2var_epi8(__m256i __A, __m256i __I, __mmask32 __U,
80 __m256i __B)
81{
79static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask2_permutex2var_epi8(
80 __m256i __A, __m256i __I, __mmask32 __U, __m256i __B) {
8281 return (__m256i)__builtin_ia32_selectb_256(__U,
8382 (__v32qi)_mm256_permutex2var_epi8(__A, __I, __B),
8483 (__v32qi)__I);
8584}
8685
87static __inline__ __m256i __DEFAULT_FN_ATTRS256
88_mm256_maskz_permutex2var_epi8(__mmask32 __U, __m256i __A, __m256i __I,
89 __m256i __B)
90{
86static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_maskz_permutex2var_epi8(
87 __mmask32 __U, __m256i __A, __m256i __I, __m256i __B) {
9188 return (__m256i)__builtin_ia32_selectb_256(__U,
9289 (__v32qi)_mm256_permutex2var_epi8(__A, __I, __B),
9390 (__v32qi)_mm256_setzero_si256());
9491}
9592
9693static __inline__ __m128i __DEFAULT_FN_ATTRS128
97_mm_permutexvar_epi8 (__m128i __A, __m128i __B)
98{
94_mm_permutexvar_epi8(__m128i __A, __m128i __B) {
9995 return (__m128i)__builtin_ia32_permvarqi128((__v16qi)__B, (__v16qi)__A);
10096}
10197
10298static __inline__ __m128i __DEFAULT_FN_ATTRS128
103_mm_maskz_permutexvar_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
104{
99_mm_maskz_permutexvar_epi8(__mmask16 __M, __m128i __A, __m128i __B) {
105100 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
106101 (__v16qi)_mm_permutexvar_epi8(__A, __B),
107102 (__v16qi)_mm_setzero_si128());
108103}
109104
110static __inline__ __m128i __DEFAULT_FN_ATTRS128
111_mm_mask_permutexvar_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
112 __m128i __B)
113{
105static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_mask_permutexvar_epi8(
106 __m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
114107 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
115108 (__v16qi)_mm_permutexvar_epi8(__A, __B),
116109 (__v16qi)__W);
117110}
118111
119112static __inline__ __m256i __DEFAULT_FN_ATTRS256
120_mm256_permutexvar_epi8 (__m256i __A, __m256i __B)
121{
113_mm256_permutexvar_epi8(__m256i __A, __m256i __B) {
122114 return (__m256i)__builtin_ia32_permvarqi256((__v32qi) __B, (__v32qi) __A);
123115}
124116
125117static __inline__ __m256i __DEFAULT_FN_ATTRS256
126_mm256_maskz_permutexvar_epi8 (__mmask32 __M, __m256i __A,
127 __m256i __B)
128{
118_mm256_maskz_permutexvar_epi8(__mmask32 __M, __m256i __A, __m256i __B) {
129119 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
130120 (__v32qi)_mm256_permutexvar_epi8(__A, __B),
131121 (__v32qi)_mm256_setzero_si256());
132122}
133123
134static __inline__ __m256i __DEFAULT_FN_ATTRS256
135_mm256_mask_permutexvar_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
136 __m256i __B)
137{
124static __inline__ __m256i __DEFAULT_FN_ATTRS256 _mm256_mask_permutexvar_epi8(
125 __m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
138126 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
139127 (__v32qi)_mm256_permutexvar_epi8(__A, __B),
140128 (__v32qi)__W);
......@@ -186,8 +174,6 @@ _mm256_maskz_multishift_epi64_epi8(__mmask32 __M, __m256i __X, __m256i __Y)
186174 (__v32qi)_mm256_setzero_si256());
187175}
188176
189
190177#undef __DEFAULT_FN_ATTRS128
191178#undef __DEFAULT_FN_ATTRS256
192
193179#endif
lib/include/avx512vlbf16intrin.h+32-22
......@@ -17,13 +17,21 @@
1717
1818#define __DEFAULT_FN_ATTRS128 \
1919 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512vl,avx512bf16,no-evex512"), \
20 __target__("avx512vl,avx512bf16"), \
2121 __min_vector_width__(128)))
2222#define __DEFAULT_FN_ATTRS256 \
2323 __attribute__((__always_inline__, __nodebug__, \
24 __target__("avx512vl,avx512bf16,no-evex512"), \
24 __target__("avx512vl,avx512bf16"), \
2525 __min_vector_width__(256)))
2626
27#if defined(__cplusplus) && (__cplusplus >= 201103L)
28#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
29#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
30#else
31#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
32#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
33#endif
34
2735/// Convert Two Packed Single Data to One Packed BF16 Data.
2836///
2937/// \headerfile <x86intrin.h>
......@@ -421,9 +429,10 @@ static __inline__ __bf16 __DEFAULT_FN_ATTRS128 _mm_cvtness_sbh(float __A) {
421429/// \param __A
422430/// A 128-bit vector of [4 x bfloat].
423431/// \returns A 128-bit vector of [4 x float] come from conversion of __A
424static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_cvtpbh_ps(__m128bh __A) {
425 return _mm_castsi128_ps(
426 (__m128i)_mm_slli_epi32((__m128i)_mm_cvtepi16_epi32((__m128i)__A), 16));
432static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
433_mm_cvtpbh_ps(__m128bh __A) {
434 return (__m128)_mm256_castps256_ps128(
435 (__m256) __builtin_convertvector(__A, __v8sf));
427436}
428437
429438/// Convert Packed BF16 Data to Packed float Data.
......@@ -433,9 +442,9 @@ static __inline__ __m128 __DEFAULT_FN_ATTRS128 _mm_cvtpbh_ps(__m128bh __A) {
433442/// \param __A
434443/// A 128-bit vector of [8 x bfloat].
435444/// \returns A 256-bit vector of [8 x float] come from conversion of __A
436static __inline__ __m256 __DEFAULT_FN_ATTRS256 _mm256_cvtpbh_ps(__m128bh __A) {
437 return _mm256_castsi256_ps((__m256i)_mm256_slli_epi32(
438 (__m256i)_mm256_cvtepi16_epi32((__m128i)__A), 16));
445static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
446_mm256_cvtpbh_ps(__m128bh __A) {
447 return (__m256) __builtin_convertvector(__A, __v8sf);
439448}
440449
441450/// Convert Packed BF16 Data to Packed float Data using zeroing mask.
......@@ -448,10 +457,10 @@ static __inline__ __m256 __DEFAULT_FN_ATTRS256 _mm256_cvtpbh_ps(__m128bh __A) {
448457/// \param __A
449458/// A 128-bit vector of [4 x bfloat].
450459/// \returns A 128-bit vector of [4 x float] come from conversion of __A
451static __inline__ __m128 __DEFAULT_FN_ATTRS128
460static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
452461_mm_maskz_cvtpbh_ps(__mmask8 __U, __m128bh __A) {
453 return _mm_castsi128_ps((__m128i)_mm_slli_epi32(
454 (__m128i)_mm_maskz_cvtepi16_epi32((__mmask8)__U, (__m128i)__A), 16));
462 return (__m128)__builtin_ia32_selectps_128(
463 (__mmask8)__U, (__v4sf)_mm_cvtpbh_ps(__A), (__v4sf)_mm_setzero_ps());
455464}
456465
457466/// Convert Packed BF16 Data to Packed float Data using zeroing mask.
......@@ -464,10 +473,11 @@ _mm_maskz_cvtpbh_ps(__mmask8 __U, __m128bh __A) {
464473/// \param __A
465474/// A 128-bit vector of [8 x bfloat].
466475/// \returns A 256-bit vector of [8 x float] come from conversion of __A
467static __inline__ __m256 __DEFAULT_FN_ATTRS256
476static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
468477_mm256_maskz_cvtpbh_ps(__mmask8 __U, __m128bh __A) {
469 return _mm256_castsi256_ps((__m256i)_mm256_slli_epi32(
470 (__m256i)_mm256_maskz_cvtepi16_epi32((__mmask8)__U, (__m128i)__A), 16));
478 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
479 (__v8sf)_mm256_cvtpbh_ps(__A),
480 (__v8sf)_mm256_setzero_ps());
471481}
472482
473483/// Convert Packed BF16 Data to Packed float Data using merging mask.
......@@ -483,11 +493,10 @@ _mm256_maskz_cvtpbh_ps(__mmask8 __U, __m128bh __A) {
483493/// \param __A
484494/// A 128-bit vector of [4 x bfloat].
485495/// \returns A 128-bit vector of [4 x float] come from conversion of __A
486static __inline__ __m128 __DEFAULT_FN_ATTRS128
496static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
487497_mm_mask_cvtpbh_ps(__m128 __S, __mmask8 __U, __m128bh __A) {
488 return _mm_castsi128_ps((__m128i)_mm_mask_slli_epi32(
489 (__m128i)__S, (__mmask8)__U, (__m128i)_mm_cvtepi16_epi32((__m128i)__A),
490 16));
498 return (__m128)__builtin_ia32_selectps_128(
499 (__mmask8)__U, (__v4sf)_mm_cvtpbh_ps(__A), (__v4sf)__S);
491500}
492501
493502/// Convert Packed BF16 Data to Packed float Data using merging mask.
......@@ -503,15 +512,16 @@ _mm_mask_cvtpbh_ps(__m128 __S, __mmask8 __U, __m128bh __A) {
503512/// \param __A
504513/// A 128-bit vector of [8 x bfloat].
505514/// \returns A 256-bit vector of [8 x float] come from conversion of __A
506static __inline__ __m256 __DEFAULT_FN_ATTRS256
515static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
507516_mm256_mask_cvtpbh_ps(__m256 __S, __mmask8 __U, __m128bh __A) {
508 return _mm256_castsi256_ps((__m256i)_mm256_mask_slli_epi32(
509 (__m256i)__S, (__mmask8)__U, (__m256i)_mm256_cvtepi16_epi32((__m128i)__A),
510 16));
517 return (__m256)__builtin_ia32_selectps_256(
518 (__mmask8)__U, (__v8sf)_mm256_cvtpbh_ps(__A), (__v8sf)__S);
511519}
512520
513521#undef __DEFAULT_FN_ATTRS128
514522#undef __DEFAULT_FN_ATTRS256
523#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
524#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
515525
516526#endif
517527#endif
lib/include/avx512vlbitalgintrin.h+37-53
......@@ -15,101 +15,86 @@
1515#define __AVX512VLBITALGINTRIN_H
1616
1717/* Define the default attributes for the functions in this file. */
18#if defined(__cplusplus) && (__cplusplus >= 201103L)
1819#define __DEFAULT_FN_ATTRS128 \
1920 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512vl,avx512bitalg,no-evex512"), \
21 __target__("avx512vl,avx512bitalg"), \
22 __min_vector_width__(128))) constexpr
23#define __DEFAULT_FN_ATTRS256 \
24 __attribute__((__always_inline__, __nodebug__, \
25 __target__("avx512vl,avx512bitalg"), \
26 __min_vector_width__(256))) constexpr
27#else
28#define __DEFAULT_FN_ATTRS128 \
29 __attribute__((__always_inline__, __nodebug__, \
30 __target__("avx512vl,avx512bitalg"), \
2131 __min_vector_width__(128)))
2232#define __DEFAULT_FN_ATTRS256 \
2333 __attribute__((__always_inline__, __nodebug__, \
24 __target__("avx512vl,avx512bitalg,no-evex512"), \
34 __target__("avx512vl,avx512bitalg"), \
2535 __min_vector_width__(256)))
36#endif
2637
2738static __inline__ __m256i __DEFAULT_FN_ATTRS256
28_mm256_popcnt_epi16(__m256i __A)
29{
39_mm256_popcnt_epi16(__m256i __A) {
3040 return (__m256i)__builtin_elementwise_popcount((__v16hu)__A);
3141}
3242
3343static __inline__ __m256i __DEFAULT_FN_ATTRS256
34_mm256_mask_popcnt_epi16(__m256i __A, __mmask16 __U, __m256i __B)
35{
36 return (__m256i) __builtin_ia32_selectw_256((__mmask16) __U,
37 (__v16hi) _mm256_popcnt_epi16(__B),
38 (__v16hi) __A);
44_mm256_mask_popcnt_epi16(__m256i __A, __mmask16 __U, __m256i __B) {
45 return (__m256i)__builtin_ia32_selectw_256(
46 (__mmask16)__U, (__v16hi)_mm256_popcnt_epi16(__B), (__v16hi)__A);
3947}
4048
4149static __inline__ __m256i __DEFAULT_FN_ATTRS256
42_mm256_maskz_popcnt_epi16(__mmask16 __U, __m256i __B)
43{
44 return _mm256_mask_popcnt_epi16((__m256i) _mm256_setzero_si256(),
45 __U,
46 __B);
50_mm256_maskz_popcnt_epi16(__mmask16 __U, __m256i __B) {
51 return _mm256_mask_popcnt_epi16((__m256i)_mm256_setzero_si256(), __U, __B);
4752}
4853
49static __inline__ __m128i __DEFAULT_FN_ATTRS128
50_mm_popcnt_epi16(__m128i __A)
51{
54static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_popcnt_epi16(__m128i __A) {
5255 return (__m128i)__builtin_elementwise_popcount((__v8hu)__A);
5356}
5457
5558static __inline__ __m128i __DEFAULT_FN_ATTRS128
56_mm_mask_popcnt_epi16(__m128i __A, __mmask8 __U, __m128i __B)
57{
58 return (__m128i) __builtin_ia32_selectw_128((__mmask8) __U,
59 (__v8hi) _mm_popcnt_epi16(__B),
60 (__v8hi) __A);
59_mm_mask_popcnt_epi16(__m128i __A, __mmask8 __U, __m128i __B) {
60 return (__m128i)__builtin_ia32_selectw_128(
61 (__mmask8)__U, (__v8hi)_mm_popcnt_epi16(__B), (__v8hi)__A);
6162}
6263
6364static __inline__ __m128i __DEFAULT_FN_ATTRS128
64_mm_maskz_popcnt_epi16(__mmask8 __U, __m128i __B)
65{
66 return _mm_mask_popcnt_epi16((__m128i) _mm_setzero_si128(),
67 __U,
68 __B);
65_mm_maskz_popcnt_epi16(__mmask8 __U, __m128i __B) {
66 return _mm_mask_popcnt_epi16((__m128i)_mm_setzero_si128(), __U, __B);
6967}
7068
7169static __inline__ __m256i __DEFAULT_FN_ATTRS256
72_mm256_popcnt_epi8(__m256i __A)
73{
70_mm256_popcnt_epi8(__m256i __A) {
7471 return (__m256i)__builtin_elementwise_popcount((__v32qu)__A);
7572}
7673
7774static __inline__ __m256i __DEFAULT_FN_ATTRS256
78_mm256_mask_popcnt_epi8(__m256i __A, __mmask32 __U, __m256i __B)
79{
80 return (__m256i) __builtin_ia32_selectb_256((__mmask32) __U,
81 (__v32qi) _mm256_popcnt_epi8(__B),
82 (__v32qi) __A);
75_mm256_mask_popcnt_epi8(__m256i __A, __mmask32 __U, __m256i __B) {
76 return (__m256i)__builtin_ia32_selectb_256(
77 (__mmask32)__U, (__v32qi)_mm256_popcnt_epi8(__B), (__v32qi)__A);
8378}
8479
8580static __inline__ __m256i __DEFAULT_FN_ATTRS256
86_mm256_maskz_popcnt_epi8(__mmask32 __U, __m256i __B)
87{
88 return _mm256_mask_popcnt_epi8((__m256i) _mm256_setzero_si256(),
89 __U,
90 __B);
81_mm256_maskz_popcnt_epi8(__mmask32 __U, __m256i __B) {
82 return _mm256_mask_popcnt_epi8((__m256i)_mm256_setzero_si256(), __U, __B);
9183}
9284
93static __inline__ __m128i __DEFAULT_FN_ATTRS128
94_mm_popcnt_epi8(__m128i __A)
95{
85static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_popcnt_epi8(__m128i __A) {
9686 return (__m128i)__builtin_elementwise_popcount((__v16qu)__A);
9787}
9888
9989static __inline__ __m128i __DEFAULT_FN_ATTRS128
100_mm_mask_popcnt_epi8(__m128i __A, __mmask16 __U, __m128i __B)
101{
102 return (__m128i) __builtin_ia32_selectb_128((__mmask16) __U,
103 (__v16qi) _mm_popcnt_epi8(__B),
104 (__v16qi) __A);
90_mm_mask_popcnt_epi8(__m128i __A, __mmask16 __U, __m128i __B) {
91 return (__m128i)__builtin_ia32_selectb_128(
92 (__mmask16)__U, (__v16qi)_mm_popcnt_epi8(__B), (__v16qi)__A);
10593}
10694
10795static __inline__ __m128i __DEFAULT_FN_ATTRS128
108_mm_maskz_popcnt_epi8(__mmask16 __U, __m128i __B)
109{
110 return _mm_mask_popcnt_epi8((__m128i) _mm_setzero_si128(),
111 __U,
112 __B);
96_mm_maskz_popcnt_epi8(__mmask16 __U, __m128i __B) {
97 return _mm_mask_popcnt_epi8((__m128i)_mm_setzero_si128(), __U, __B);
11398}
11499
115100static __inline__ __mmask32 __DEFAULT_FN_ATTRS256
......@@ -147,5 +132,4 @@ _mm_bitshuffle_epi64_mask(__m128i __A, __m128i __B)
147132
148133#undef __DEFAULT_FN_ATTRS128
149134#undef __DEFAULT_FN_ATTRS256
150
151135#endif
lib/include/avx512vlbwintrin.h+470-573
......@@ -17,12 +17,18 @@
1717/* Define the default attributes for the functions in this file. */
1818#define __DEFAULT_FN_ATTRS128 \
1919 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512vl,avx512bw,no-evex512"), \
21 __min_vector_width__(128)))
20 __target__("avx512vl,avx512bw"), __min_vector_width__(128)))
2221#define __DEFAULT_FN_ATTRS256 \
2322 __attribute__((__always_inline__, __nodebug__, \
24 __target__("avx512vl,avx512bw,no-evex512"), \
25 __min_vector_width__(256)))
23 __target__("avx512vl,avx512bw"), __min_vector_width__(256)))
24
25#if defined(__cplusplus) && (__cplusplus >= 201103L)
26#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
27#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
28#else
29#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
30#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
31#endif
2632
2733/* Integer compare */
2834
......@@ -306,250 +312,238 @@
306312#define _mm256_mask_cmpneq_epu16_mask(k, A, B) \
307313 _mm256_mask_cmp_epu16_mask((k), (A), (B), _MM_CMPINT_NE)
308314
309static __inline__ __m256i __DEFAULT_FN_ATTRS256
310_mm256_mask_add_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B){
315static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
316_mm256_mask_add_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
311317 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
312318 (__v32qi)_mm256_add_epi8(__A, __B),
313319 (__v32qi)__W);
314320}
315321
316static __inline__ __m256i __DEFAULT_FN_ATTRS256
322static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
317323_mm256_maskz_add_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
318324 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
319325 (__v32qi)_mm256_add_epi8(__A, __B),
320326 (__v32qi)_mm256_setzero_si256());
321327}
322328
323static __inline__ __m256i __DEFAULT_FN_ATTRS256
329static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
324330_mm256_mask_add_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
325331 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
326332 (__v16hi)_mm256_add_epi16(__A, __B),
327333 (__v16hi)__W);
328334}
329335
330static __inline__ __m256i __DEFAULT_FN_ATTRS256
336static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
331337_mm256_maskz_add_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
332338 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
333339 (__v16hi)_mm256_add_epi16(__A, __B),
334340 (__v16hi)_mm256_setzero_si256());
335341}
336342
337static __inline__ __m256i __DEFAULT_FN_ATTRS256
343static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
338344_mm256_mask_sub_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
339345 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
340346 (__v32qi)_mm256_sub_epi8(__A, __B),
341347 (__v32qi)__W);
342348}
343349
344static __inline__ __m256i __DEFAULT_FN_ATTRS256
350static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
345351_mm256_maskz_sub_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
346352 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
347353 (__v32qi)_mm256_sub_epi8(__A, __B),
348354 (__v32qi)_mm256_setzero_si256());
349355}
350356
351static __inline__ __m256i __DEFAULT_FN_ATTRS256
357static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
352358_mm256_mask_sub_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
353359 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
354360 (__v16hi)_mm256_sub_epi16(__A, __B),
355361 (__v16hi)__W);
356362}
357363
358static __inline__ __m256i __DEFAULT_FN_ATTRS256
364static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
359365_mm256_maskz_sub_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
360366 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
361367 (__v16hi)_mm256_sub_epi16(__A, __B),
362368 (__v16hi)_mm256_setzero_si256());
363369}
364370
365static __inline__ __m128i __DEFAULT_FN_ATTRS128
371static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
366372_mm_mask_add_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
367373 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
368374 (__v16qi)_mm_add_epi8(__A, __B),
369375 (__v16qi)__W);
370376}
371377
372static __inline__ __m128i __DEFAULT_FN_ATTRS128
378static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
373379_mm_maskz_add_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
374380 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
375381 (__v16qi)_mm_add_epi8(__A, __B),
376382 (__v16qi)_mm_setzero_si128());
377383}
378384
379static __inline__ __m128i __DEFAULT_FN_ATTRS128
385static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
380386_mm_mask_add_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
381387 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
382388 (__v8hi)_mm_add_epi16(__A, __B),
383389 (__v8hi)__W);
384390}
385391
386static __inline__ __m128i __DEFAULT_FN_ATTRS128
392static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
387393_mm_maskz_add_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
388394 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
389395 (__v8hi)_mm_add_epi16(__A, __B),
390396 (__v8hi)_mm_setzero_si128());
391397}
392398
393static __inline__ __m128i __DEFAULT_FN_ATTRS128
399static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
394400_mm_mask_sub_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
395401 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
396402 (__v16qi)_mm_sub_epi8(__A, __B),
397403 (__v16qi)__W);
398404}
399405
400static __inline__ __m128i __DEFAULT_FN_ATTRS128
406static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
401407_mm_maskz_sub_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
402408 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
403409 (__v16qi)_mm_sub_epi8(__A, __B),
404410 (__v16qi)_mm_setzero_si128());
405411}
406412
407static __inline__ __m128i __DEFAULT_FN_ATTRS128
413static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
408414_mm_mask_sub_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
409415 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
410416 (__v8hi)_mm_sub_epi16(__A, __B),
411417 (__v8hi)__W);
412418}
413419
414static __inline__ __m128i __DEFAULT_FN_ATTRS128
420static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
415421_mm_maskz_sub_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
416422 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
417423 (__v8hi)_mm_sub_epi16(__A, __B),
418424 (__v8hi)_mm_setzero_si128());
419425}
420426
421static __inline__ __m256i __DEFAULT_FN_ATTRS256
427static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
422428_mm256_mask_mullo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
423429 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
424430 (__v16hi)_mm256_mullo_epi16(__A, __B),
425431 (__v16hi)__W);
426432}
427433
428static __inline__ __m256i __DEFAULT_FN_ATTRS256
434static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
429435_mm256_maskz_mullo_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
430436 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
431437 (__v16hi)_mm256_mullo_epi16(__A, __B),
432438 (__v16hi)_mm256_setzero_si256());
433439}
434440
435static __inline__ __m128i __DEFAULT_FN_ATTRS128
441static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
436442_mm_mask_mullo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
437443 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
438444 (__v8hi)_mm_mullo_epi16(__A, __B),
439445 (__v8hi)__W);
440446}
441447
442static __inline__ __m128i __DEFAULT_FN_ATTRS128
448static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
443449_mm_maskz_mullo_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
444450 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
445451 (__v8hi)_mm_mullo_epi16(__A, __B),
446452 (__v8hi)_mm_setzero_si128());
447453}
448454
449static __inline__ __m128i __DEFAULT_FN_ATTRS128
450_mm_mask_blend_epi8 (__mmask16 __U, __m128i __A, __m128i __W)
451{
455static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
456_mm_mask_blend_epi8(__mmask16 __U, __m128i __A, __m128i __W) {
452457 return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
453458 (__v16qi) __W,
454459 (__v16qi) __A);
455460}
456461
457static __inline__ __m256i __DEFAULT_FN_ATTRS256
458_mm256_mask_blend_epi8 (__mmask32 __U, __m256i __A, __m256i __W)
459{
462static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
463_mm256_mask_blend_epi8(__mmask32 __U, __m256i __A, __m256i __W) {
460464 return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
461465 (__v32qi) __W,
462466 (__v32qi) __A);
463467}
464468
465static __inline__ __m128i __DEFAULT_FN_ATTRS128
466_mm_mask_blend_epi16 (__mmask8 __U, __m128i __A, __m128i __W)
467{
469static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
470_mm_mask_blend_epi16(__mmask8 __U, __m128i __A, __m128i __W) {
468471 return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
469472 (__v8hi) __W,
470473 (__v8hi) __A);
471474}
472475
473static __inline__ __m256i __DEFAULT_FN_ATTRS256
474_mm256_mask_blend_epi16 (__mmask16 __U, __m256i __A, __m256i __W)
475{
476static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
477_mm256_mask_blend_epi16(__mmask16 __U, __m256i __A, __m256i __W) {
476478 return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
477479 (__v16hi) __W,
478480 (__v16hi) __A);
479481}
480482
481static __inline__ __m128i __DEFAULT_FN_ATTRS128
482_mm_mask_abs_epi8(__m128i __W, __mmask16 __U, __m128i __A)
483{
483static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
484_mm_mask_abs_epi8(__m128i __W, __mmask16 __U, __m128i __A) {
484485 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
485486 (__v16qi)_mm_abs_epi8(__A),
486487 (__v16qi)__W);
487488}
488489
489static __inline__ __m128i __DEFAULT_FN_ATTRS128
490_mm_maskz_abs_epi8(__mmask16 __U, __m128i __A)
491{
490static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
491_mm_maskz_abs_epi8(__mmask16 __U, __m128i __A) {
492492 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
493493 (__v16qi)_mm_abs_epi8(__A),
494494 (__v16qi)_mm_setzero_si128());
495495}
496496
497static __inline__ __m256i __DEFAULT_FN_ATTRS256
498_mm256_mask_abs_epi8(__m256i __W, __mmask32 __U, __m256i __A)
499{
497static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
498_mm256_mask_abs_epi8(__m256i __W, __mmask32 __U, __m256i __A) {
500499 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
501500 (__v32qi)_mm256_abs_epi8(__A),
502501 (__v32qi)__W);
503502}
504503
505static __inline__ __m256i __DEFAULT_FN_ATTRS256
506_mm256_maskz_abs_epi8 (__mmask32 __U, __m256i __A)
507{
504static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
505_mm256_maskz_abs_epi8(__mmask32 __U, __m256i __A) {
508506 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
509507 (__v32qi)_mm256_abs_epi8(__A),
510508 (__v32qi)_mm256_setzero_si256());
511509}
512510
513static __inline__ __m128i __DEFAULT_FN_ATTRS128
514_mm_mask_abs_epi16(__m128i __W, __mmask8 __U, __m128i __A)
515{
511static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
512_mm_mask_abs_epi16(__m128i __W, __mmask8 __U, __m128i __A) {
516513 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
517514 (__v8hi)_mm_abs_epi16(__A),
518515 (__v8hi)__W);
519516}
520517
521static __inline__ __m128i __DEFAULT_FN_ATTRS128
522_mm_maskz_abs_epi16(__mmask8 __U, __m128i __A)
523{
518static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
519_mm_maskz_abs_epi16(__mmask8 __U, __m128i __A) {
524520 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
525521 (__v8hi)_mm_abs_epi16(__A),
526522 (__v8hi)_mm_setzero_si128());
527523}
528524
529static __inline__ __m256i __DEFAULT_FN_ATTRS256
530_mm256_mask_abs_epi16(__m256i __W, __mmask16 __U, __m256i __A)
531{
525static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
526_mm256_mask_abs_epi16(__m256i __W, __mmask16 __U, __m256i __A) {
532527 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
533528 (__v16hi)_mm256_abs_epi16(__A),
534529 (__v16hi)__W);
535530}
536531
537static __inline__ __m256i __DEFAULT_FN_ATTRS256
538_mm256_maskz_abs_epi16(__mmask16 __U, __m256i __A)
539{
532static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
533_mm256_maskz_abs_epi16(__mmask16 __U, __m256i __A) {
540534 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
541535 (__v16hi)_mm256_abs_epi16(__A),
542536 (__v16hi)_mm256_setzero_si256());
543537}
544538
545static __inline__ __m128i __DEFAULT_FN_ATTRS128
539static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
546540_mm_maskz_packs_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
547541 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
548542 (__v8hi)_mm_packs_epi32(__A, __B),
549543 (__v8hi)_mm_setzero_si128());
550544}
551545
552static __inline__ __m128i __DEFAULT_FN_ATTRS128
546static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
553547_mm_mask_packs_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
554548{
555549 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
......@@ -557,7 +551,7 @@ _mm_mask_packs_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
557551 (__v8hi)__W);
558552}
559553
560static __inline__ __m256i __DEFAULT_FN_ATTRS256
554static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
561555_mm256_maskz_packs_epi32(__mmask16 __M, __m256i __A, __m256i __B)
562556{
563557 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
......@@ -565,7 +559,7 @@ _mm256_maskz_packs_epi32(__mmask16 __M, __m256i __A, __m256i __B)
565559 (__v16hi)_mm256_setzero_si256());
566560}
567561
568static __inline__ __m256i __DEFAULT_FN_ATTRS256
562static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
569563_mm256_mask_packs_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
570564{
571565 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
......@@ -573,7 +567,7 @@ _mm256_mask_packs_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
573567 (__v16hi)__W);
574568}
575569
576static __inline__ __m128i __DEFAULT_FN_ATTRS128
570static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
577571_mm_maskz_packs_epi16(__mmask16 __M, __m128i __A, __m128i __B)
578572{
579573 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
......@@ -581,7 +575,7 @@ _mm_maskz_packs_epi16(__mmask16 __M, __m128i __A, __m128i __B)
581575 (__v16qi)_mm_setzero_si128());
582576}
583577
584static __inline__ __m128i __DEFAULT_FN_ATTRS128
578static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
585579_mm_mask_packs_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
586580{
587581 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
......@@ -589,7 +583,7 @@ _mm_mask_packs_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
589583 (__v16qi)__W);
590584}
591585
592static __inline__ __m256i __DEFAULT_FN_ATTRS256
586static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
593587_mm256_maskz_packs_epi16(__mmask32 __M, __m256i __A, __m256i __B)
594588{
595589 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
......@@ -597,7 +591,7 @@ _mm256_maskz_packs_epi16(__mmask32 __M, __m256i __A, __m256i __B)
597591 (__v32qi)_mm256_setzero_si256());
598592}
599593
600static __inline__ __m256i __DEFAULT_FN_ATTRS256
594static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
601595_mm256_mask_packs_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
602596{
603597 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
......@@ -605,7 +599,7 @@ _mm256_mask_packs_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
605599 (__v32qi)__W);
606600}
607601
608static __inline__ __m128i __DEFAULT_FN_ATTRS128
602static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
609603_mm_maskz_packus_epi32(__mmask8 __M, __m128i __A, __m128i __B)
610604{
611605 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
......@@ -613,7 +607,7 @@ _mm_maskz_packus_epi32(__mmask8 __M, __m128i __A, __m128i __B)
613607 (__v8hi)_mm_setzero_si128());
614608}
615609
616static __inline__ __m128i __DEFAULT_FN_ATTRS128
610static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
617611_mm_mask_packus_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
618612{
619613 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
......@@ -621,7 +615,7 @@ _mm_mask_packus_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
621615 (__v8hi)__W);
622616}
623617
624static __inline__ __m256i __DEFAULT_FN_ATTRS256
618static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
625619_mm256_maskz_packus_epi32(__mmask16 __M, __m256i __A, __m256i __B)
626620{
627621 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
......@@ -629,7 +623,7 @@ _mm256_maskz_packus_epi32(__mmask16 __M, __m256i __A, __m256i __B)
629623 (__v16hi)_mm256_setzero_si256());
630624}
631625
632static __inline__ __m256i __DEFAULT_FN_ATTRS256
626static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
633627_mm256_mask_packus_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
634628{
635629 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
......@@ -637,7 +631,7 @@ _mm256_mask_packus_epi32(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
637631 (__v16hi)__W);
638632}
639633
640static __inline__ __m128i __DEFAULT_FN_ATTRS128
634static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
641635_mm_maskz_packus_epi16(__mmask16 __M, __m128i __A, __m128i __B)
642636{
643637 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
......@@ -645,7 +639,7 @@ _mm_maskz_packus_epi16(__mmask16 __M, __m128i __A, __m128i __B)
645639 (__v16qi)_mm_setzero_si128());
646640}
647641
648static __inline__ __m128i __DEFAULT_FN_ATTRS128
642static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
649643_mm_mask_packus_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
650644{
651645 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
......@@ -653,7 +647,7 @@ _mm_mask_packus_epi16(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
653647 (__v16qi)__W);
654648}
655649
656static __inline__ __m256i __DEFAULT_FN_ATTRS256
650static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
657651_mm256_maskz_packus_epi16(__mmask32 __M, __m256i __A, __m256i __B)
658652{
659653 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
......@@ -661,7 +655,7 @@ _mm256_maskz_packus_epi16(__mmask32 __M, __m256i __A, __m256i __B)
661655 (__v32qi)_mm256_setzero_si256());
662656}
663657
664static __inline__ __m256i __DEFAULT_FN_ATTRS256
658static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
665659_mm256_mask_packus_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
666660{
667661 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
......@@ -669,7 +663,7 @@ _mm256_mask_packus_epi16(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
669663 (__v32qi)__W);
670664}
671665
672static __inline__ __m128i __DEFAULT_FN_ATTRS128
666static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
673667_mm_mask_adds_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
674668{
675669 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
......@@ -677,7 +671,7 @@ _mm_mask_adds_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
677671 (__v16qi)__W);
678672}
679673
680static __inline__ __m128i __DEFAULT_FN_ATTRS128
674static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
681675_mm_maskz_adds_epi8(__mmask16 __U, __m128i __A, __m128i __B)
682676{
683677 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
......@@ -685,7 +679,7 @@ _mm_maskz_adds_epi8(__mmask16 __U, __m128i __A, __m128i __B)
685679 (__v16qi)_mm_setzero_si128());
686680}
687681
688static __inline__ __m256i __DEFAULT_FN_ATTRS256
682static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
689683_mm256_mask_adds_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
690684{
691685 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
......@@ -693,7 +687,7 @@ _mm256_mask_adds_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
693687 (__v32qi)__W);
694688}
695689
696static __inline__ __m256i __DEFAULT_FN_ATTRS256
690static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
697691_mm256_maskz_adds_epi8(__mmask32 __U, __m256i __A, __m256i __B)
698692{
699693 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
......@@ -701,7 +695,7 @@ _mm256_maskz_adds_epi8(__mmask32 __U, __m256i __A, __m256i __B)
701695 (__v32qi)_mm256_setzero_si256());
702696}
703697
704static __inline__ __m128i __DEFAULT_FN_ATTRS128
698static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
705699_mm_mask_adds_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
706700{
707701 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -709,7 +703,7 @@ _mm_mask_adds_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
709703 (__v8hi)__W);
710704}
711705
712static __inline__ __m128i __DEFAULT_FN_ATTRS128
706static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
713707_mm_maskz_adds_epi16(__mmask8 __U, __m128i __A, __m128i __B)
714708{
715709 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -717,7 +711,7 @@ _mm_maskz_adds_epi16(__mmask8 __U, __m128i __A, __m128i __B)
717711 (__v8hi)_mm_setzero_si128());
718712}
719713
720static __inline__ __m256i __DEFAULT_FN_ATTRS256
714static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
721715_mm256_mask_adds_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
722716{
723717 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -725,7 +719,7 @@ _mm256_mask_adds_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
725719 (__v16hi)__W);
726720}
727721
728static __inline__ __m256i __DEFAULT_FN_ATTRS256
722static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
729723_mm256_maskz_adds_epi16(__mmask16 __U, __m256i __A, __m256i __B)
730724{
731725 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -733,7 +727,7 @@ _mm256_maskz_adds_epi16(__mmask16 __U, __m256i __A, __m256i __B)
733727 (__v16hi)_mm256_setzero_si256());
734728}
735729
736static __inline__ __m128i __DEFAULT_FN_ATTRS128
730static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
737731_mm_mask_adds_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
738732{
739733 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
......@@ -741,7 +735,7 @@ _mm_mask_adds_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
741735 (__v16qi)__W);
742736}
743737
744static __inline__ __m128i __DEFAULT_FN_ATTRS128
738static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
745739_mm_maskz_adds_epu8(__mmask16 __U, __m128i __A, __m128i __B)
746740{
747741 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
......@@ -749,7 +743,7 @@ _mm_maskz_adds_epu8(__mmask16 __U, __m128i __A, __m128i __B)
749743 (__v16qi)_mm_setzero_si128());
750744}
751745
752static __inline__ __m256i __DEFAULT_FN_ATTRS256
746static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
753747_mm256_mask_adds_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
754748{
755749 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
......@@ -757,7 +751,7 @@ _mm256_mask_adds_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
757751 (__v32qi)__W);
758752}
759753
760static __inline__ __m256i __DEFAULT_FN_ATTRS256
754static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
761755_mm256_maskz_adds_epu8(__mmask32 __U, __m256i __A, __m256i __B)
762756{
763757 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
......@@ -765,7 +759,7 @@ _mm256_maskz_adds_epu8(__mmask32 __U, __m256i __A, __m256i __B)
765759 (__v32qi)_mm256_setzero_si256());
766760}
767761
768static __inline__ __m128i __DEFAULT_FN_ATTRS128
762static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
769763_mm_mask_adds_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
770764{
771765 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -773,7 +767,7 @@ _mm_mask_adds_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
773767 (__v8hi)__W);
774768}
775769
776static __inline__ __m128i __DEFAULT_FN_ATTRS128
770static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
777771_mm_maskz_adds_epu16(__mmask8 __U, __m128i __A, __m128i __B)
778772{
779773 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -781,7 +775,7 @@ _mm_maskz_adds_epu16(__mmask8 __U, __m128i __A, __m128i __B)
781775 (__v8hi)_mm_setzero_si128());
782776}
783777
784static __inline__ __m256i __DEFAULT_FN_ATTRS256
778static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
785779_mm256_mask_adds_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
786780{
787781 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -789,7 +783,7 @@ _mm256_mask_adds_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
789783 (__v16hi)__W);
790784}
791785
792static __inline__ __m256i __DEFAULT_FN_ATTRS256
786static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
793787_mm256_maskz_adds_epu16(__mmask16 __U, __m256i __A, __m256i __B)
794788{
795789 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -797,359 +791,311 @@ _mm256_maskz_adds_epu16(__mmask16 __U, __m256i __A, __m256i __B)
797791 (__v16hi)_mm256_setzero_si256());
798792}
799793
800static __inline__ __m128i __DEFAULT_FN_ATTRS128
801_mm_mask_avg_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
802{
803 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
804 (__v16qi)_mm_avg_epu8(__A, __B),
805 (__v16qi)__W);
794static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
795_mm_mask_avg_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
796 return (__m128i)__builtin_ia32_selectb_128(
797 (__mmask16)__U, (__v16qi)_mm_avg_epu8(__A, __B), (__v16qi)__W);
806798}
807799
808static __inline__ __m128i __DEFAULT_FN_ATTRS128
809_mm_maskz_avg_epu8(__mmask16 __U, __m128i __A, __m128i __B)
810{
800static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
801_mm_maskz_avg_epu8(__mmask16 __U, __m128i __A, __m128i __B) {
811802 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
812803 (__v16qi)_mm_avg_epu8(__A, __B),
813804 (__v16qi)_mm_setzero_si128());
814805}
815806
816static __inline__ __m256i __DEFAULT_FN_ATTRS256
817_mm256_mask_avg_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
818{
819 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
820 (__v32qi)_mm256_avg_epu8(__A, __B),
821 (__v32qi)__W);
807static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
808_mm256_mask_avg_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
809 return (__m256i)__builtin_ia32_selectb_256(
810 (__mmask32)__U, (__v32qi)_mm256_avg_epu8(__A, __B), (__v32qi)__W);
822811}
823812
824static __inline__ __m256i __DEFAULT_FN_ATTRS256
825_mm256_maskz_avg_epu8(__mmask32 __U, __m256i __A, __m256i __B)
826{
813static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
814_mm256_maskz_avg_epu8(__mmask32 __U, __m256i __A, __m256i __B) {
827815 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
828816 (__v32qi)_mm256_avg_epu8(__A, __B),
829817 (__v32qi)_mm256_setzero_si256());
830818}
831819
832static __inline__ __m128i __DEFAULT_FN_ATTRS128
833_mm_mask_avg_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
834{
835 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
836 (__v8hi)_mm_avg_epu16(__A, __B),
837 (__v8hi)__W);
820static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
821_mm_mask_avg_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
822 return (__m128i)__builtin_ia32_selectw_128(
823 (__mmask8)__U, (__v8hi)_mm_avg_epu16(__A, __B), (__v8hi)__W);
838824}
839825
840static __inline__ __m128i __DEFAULT_FN_ATTRS128
841_mm_maskz_avg_epu16(__mmask8 __U, __m128i __A, __m128i __B)
842{
826static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
827_mm_maskz_avg_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
843828 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
844829 (__v8hi)_mm_avg_epu16(__A, __B),
845830 (__v8hi)_mm_setzero_si128());
846831}
847832
848static __inline__ __m256i __DEFAULT_FN_ATTRS256
849_mm256_mask_avg_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
850{
851 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
852 (__v16hi)_mm256_avg_epu16(__A, __B),
853 (__v16hi)__W);
833static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
834_mm256_mask_avg_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
835 return (__m256i)__builtin_ia32_selectw_256(
836 (__mmask16)__U, (__v16hi)_mm256_avg_epu16(__A, __B), (__v16hi)__W);
854837}
855838
856static __inline__ __m256i __DEFAULT_FN_ATTRS256
857_mm256_maskz_avg_epu16(__mmask16 __U, __m256i __A, __m256i __B)
858{
859 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
860 (__v16hi)_mm256_avg_epu16(__A, __B),
861 (__v16hi)_mm256_setzero_si256());
839static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
840_mm256_maskz_avg_epu16(__mmask16 __U, __m256i __A, __m256i __B) {
841 return (__m256i)__builtin_ia32_selectw_256(
842 (__mmask16)__U, (__v16hi)_mm256_avg_epu16(__A, __B),
843 (__v16hi)_mm256_setzero_si256());
862844}
863845
864static __inline__ __m128i __DEFAULT_FN_ATTRS128
865_mm_maskz_max_epi8(__mmask16 __M, __m128i __A, __m128i __B)
866{
846static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
847_mm_maskz_max_epi8(__mmask16 __M, __m128i __A, __m128i __B) {
867848 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
868849 (__v16qi)_mm_max_epi8(__A, __B),
869850 (__v16qi)_mm_setzero_si128());
870851}
871852
872static __inline__ __m128i __DEFAULT_FN_ATTRS128
873_mm_mask_max_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
874{
853static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
854_mm_mask_max_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
875855 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
876856 (__v16qi)_mm_max_epi8(__A, __B),
877857 (__v16qi)__W);
878858}
879859
880static __inline__ __m256i __DEFAULT_FN_ATTRS256
881_mm256_maskz_max_epi8(__mmask32 __M, __m256i __A, __m256i __B)
882{
860static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
861_mm256_maskz_max_epi8(__mmask32 __M, __m256i __A, __m256i __B) {
883862 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
884863 (__v32qi)_mm256_max_epi8(__A, __B),
885864 (__v32qi)_mm256_setzero_si256());
886865}
887866
888static __inline__ __m256i __DEFAULT_FN_ATTRS256
889_mm256_mask_max_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
890{
867static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
868_mm256_mask_max_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
891869 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
892870 (__v32qi)_mm256_max_epi8(__A, __B),
893871 (__v32qi)__W);
894872}
895873
896static __inline__ __m128i __DEFAULT_FN_ATTRS128
897_mm_maskz_max_epi16(__mmask8 __M, __m128i __A, __m128i __B)
898{
874static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
875_mm_maskz_max_epi16(__mmask8 __M, __m128i __A, __m128i __B) {
899876 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
900877 (__v8hi)_mm_max_epi16(__A, __B),
901878 (__v8hi)_mm_setzero_si128());
902879}
903880
904static __inline__ __m128i __DEFAULT_FN_ATTRS128
905_mm_mask_max_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
906{
881static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
882_mm_mask_max_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
907883 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
908884 (__v8hi)_mm_max_epi16(__A, __B),
909885 (__v8hi)__W);
910886}
911887
912static __inline__ __m256i __DEFAULT_FN_ATTRS256
913_mm256_maskz_max_epi16(__mmask16 __M, __m256i __A, __m256i __B)
914{
888static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
889_mm256_maskz_max_epi16(__mmask16 __M, __m256i __A, __m256i __B) {
915890 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
916891 (__v16hi)_mm256_max_epi16(__A, __B),
917892 (__v16hi)_mm256_setzero_si256());
918893}
919894
920static __inline__ __m256i __DEFAULT_FN_ATTRS256
921_mm256_mask_max_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
922{
895static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
896_mm256_mask_max_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
923897 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
924898 (__v16hi)_mm256_max_epi16(__A, __B),
925899 (__v16hi)__W);
926900}
927901
928static __inline__ __m128i __DEFAULT_FN_ATTRS128
929_mm_maskz_max_epu8(__mmask16 __M, __m128i __A, __m128i __B)
930{
902static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
903_mm_maskz_max_epu8(__mmask16 __M, __m128i __A, __m128i __B) {
931904 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
932905 (__v16qi)_mm_max_epu8(__A, __B),
933906 (__v16qi)_mm_setzero_si128());
934907}
935908
936static __inline__ __m128i __DEFAULT_FN_ATTRS128
937_mm_mask_max_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
938{
909static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
910_mm_mask_max_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
939911 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
940912 (__v16qi)_mm_max_epu8(__A, __B),
941913 (__v16qi)__W);
942914}
943915
944static __inline__ __m256i __DEFAULT_FN_ATTRS256
945_mm256_maskz_max_epu8 (__mmask32 __M, __m256i __A, __m256i __B)
946{
916static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
917_mm256_maskz_max_epu8(__mmask32 __M, __m256i __A, __m256i __B) {
947918 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
948919 (__v32qi)_mm256_max_epu8(__A, __B),
949920 (__v32qi)_mm256_setzero_si256());
950921}
951922
952static __inline__ __m256i __DEFAULT_FN_ATTRS256
953_mm256_mask_max_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
954{
923static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
924_mm256_mask_max_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
955925 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
956926 (__v32qi)_mm256_max_epu8(__A, __B),
957927 (__v32qi)__W);
958928}
959929
960static __inline__ __m128i __DEFAULT_FN_ATTRS128
961_mm_maskz_max_epu16(__mmask8 __M, __m128i __A, __m128i __B)
962{
930static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
931_mm_maskz_max_epu16(__mmask8 __M, __m128i __A, __m128i __B) {
963932 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
964933 (__v8hi)_mm_max_epu16(__A, __B),
965934 (__v8hi)_mm_setzero_si128());
966935}
967936
968static __inline__ __m128i __DEFAULT_FN_ATTRS128
969_mm_mask_max_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
970{
937static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
938_mm_mask_max_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
971939 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
972940 (__v8hi)_mm_max_epu16(__A, __B),
973941 (__v8hi)__W);
974942}
975943
976static __inline__ __m256i __DEFAULT_FN_ATTRS256
977_mm256_maskz_max_epu16(__mmask16 __M, __m256i __A, __m256i __B)
978{
944static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
945_mm256_maskz_max_epu16(__mmask16 __M, __m256i __A, __m256i __B) {
979946 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
980947 (__v16hi)_mm256_max_epu16(__A, __B),
981948 (__v16hi)_mm256_setzero_si256());
982949}
983950
984static __inline__ __m256i __DEFAULT_FN_ATTRS256
985_mm256_mask_max_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
986{
951static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
952_mm256_mask_max_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
987953 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
988954 (__v16hi)_mm256_max_epu16(__A, __B),
989955 (__v16hi)__W);
990956}
991957
992static __inline__ __m128i __DEFAULT_FN_ATTRS128
993_mm_maskz_min_epi8(__mmask16 __M, __m128i __A, __m128i __B)
994{
958static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
959_mm_maskz_min_epi8(__mmask16 __M, __m128i __A, __m128i __B) {
995960 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
996961 (__v16qi)_mm_min_epi8(__A, __B),
997962 (__v16qi)_mm_setzero_si128());
998963}
999964
1000static __inline__ __m128i __DEFAULT_FN_ATTRS128
1001_mm_mask_min_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
1002{
965static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
966_mm_mask_min_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
1003967 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
1004968 (__v16qi)_mm_min_epi8(__A, __B),
1005969 (__v16qi)__W);
1006970}
1007971
1008static __inline__ __m256i __DEFAULT_FN_ATTRS256
1009_mm256_maskz_min_epi8(__mmask32 __M, __m256i __A, __m256i __B)
1010{
972static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
973_mm256_maskz_min_epi8(__mmask32 __M, __m256i __A, __m256i __B) {
1011974 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
1012975 (__v32qi)_mm256_min_epi8(__A, __B),
1013976 (__v32qi)_mm256_setzero_si256());
1014977}
1015978
1016static __inline__ __m256i __DEFAULT_FN_ATTRS256
1017_mm256_mask_min_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
1018{
979static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
980_mm256_mask_min_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
1019981 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
1020982 (__v32qi)_mm256_min_epi8(__A, __B),
1021983 (__v32qi)__W);
1022984}
1023985
1024static __inline__ __m128i __DEFAULT_FN_ATTRS128
1025_mm_maskz_min_epi16(__mmask8 __M, __m128i __A, __m128i __B)
1026{
986static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
987_mm_maskz_min_epi16(__mmask8 __M, __m128i __A, __m128i __B) {
1027988 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
1028989 (__v8hi)_mm_min_epi16(__A, __B),
1029990 (__v8hi)_mm_setzero_si128());
1030991}
1031992
1032static __inline__ __m128i __DEFAULT_FN_ATTRS128
1033_mm_mask_min_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
1034{
993static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
994_mm_mask_min_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
1035995 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
1036996 (__v8hi)_mm_min_epi16(__A, __B),
1037997 (__v8hi)__W);
1038998}
1039999
1040static __inline__ __m256i __DEFAULT_FN_ATTRS256
1041_mm256_maskz_min_epi16(__mmask16 __M, __m256i __A, __m256i __B)
1042{
1000static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1001_mm256_maskz_min_epi16(__mmask16 __M, __m256i __A, __m256i __B) {
10431002 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
10441003 (__v16hi)_mm256_min_epi16(__A, __B),
10451004 (__v16hi)_mm256_setzero_si256());
10461005}
10471006
1048static __inline__ __m256i __DEFAULT_FN_ATTRS256
1049_mm256_mask_min_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
1050{
1007static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1008_mm256_mask_min_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
10511009 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
10521010 (__v16hi)_mm256_min_epi16(__A, __B),
10531011 (__v16hi)__W);
10541012}
10551013
1056static __inline__ __m128i __DEFAULT_FN_ATTRS128
1057_mm_maskz_min_epu8(__mmask16 __M, __m128i __A, __m128i __B)
1058{
1014static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1015_mm_maskz_min_epu8(__mmask16 __M, __m128i __A, __m128i __B) {
10591016 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
10601017 (__v16qi)_mm_min_epu8(__A, __B),
10611018 (__v16qi)_mm_setzero_si128());
10621019}
10631020
1064static __inline__ __m128i __DEFAULT_FN_ATTRS128
1065_mm_mask_min_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B)
1066{
1021static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1022_mm_mask_min_epu8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) {
10671023 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
10681024 (__v16qi)_mm_min_epu8(__A, __B),
10691025 (__v16qi)__W);
10701026}
10711027
1072static __inline__ __m256i __DEFAULT_FN_ATTRS256
1073_mm256_maskz_min_epu8 (__mmask32 __M, __m256i __A, __m256i __B)
1074{
1028static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1029_mm256_maskz_min_epu8(__mmask32 __M, __m256i __A, __m256i __B) {
10751030 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
10761031 (__v32qi)_mm256_min_epu8(__A, __B),
10771032 (__v32qi)_mm256_setzero_si256());
10781033}
10791034
1080static __inline__ __m256i __DEFAULT_FN_ATTRS256
1081_mm256_mask_min_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B)
1082{
1035static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1036_mm256_mask_min_epu8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) {
10831037 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__M,
10841038 (__v32qi)_mm256_min_epu8(__A, __B),
10851039 (__v32qi)__W);
10861040}
10871041
1088static __inline__ __m128i __DEFAULT_FN_ATTRS128
1089_mm_maskz_min_epu16(__mmask8 __M, __m128i __A, __m128i __B)
1090{
1042static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1043_mm_maskz_min_epu16(__mmask8 __M, __m128i __A, __m128i __B) {
10911044 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
10921045 (__v8hi)_mm_min_epu16(__A, __B),
10931046 (__v8hi)_mm_setzero_si128());
10941047}
10951048
1096static __inline__ __m128i __DEFAULT_FN_ATTRS128
1097_mm_mask_min_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
1098{
1049static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1050_mm_mask_min_epu16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
10991051 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
11001052 (__v8hi)_mm_min_epu16(__A, __B),
11011053 (__v8hi)__W);
11021054}
11031055
1104static __inline__ __m256i __DEFAULT_FN_ATTRS256
1105_mm256_maskz_min_epu16(__mmask16 __M, __m256i __A, __m256i __B)
1106{
1056static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1057_mm256_maskz_min_epu16(__mmask16 __M, __m256i __A, __m256i __B) {
11071058 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
11081059 (__v16hi)_mm256_min_epu16(__A, __B),
11091060 (__v16hi)_mm256_setzero_si256());
11101061}
11111062
1112static __inline__ __m256i __DEFAULT_FN_ATTRS256
1113_mm256_mask_min_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B)
1114{
1063static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1064_mm256_mask_min_epu16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) {
11151065 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
11161066 (__v16hi)_mm256_min_epu16(__A, __B),
11171067 (__v16hi)__W);
11181068}
11191069
1120static __inline__ __m128i __DEFAULT_FN_ATTRS128
1121_mm_mask_shuffle_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
1122{
1070static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1071_mm_mask_shuffle_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
11231072 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
11241073 (__v16qi)_mm_shuffle_epi8(__A, __B),
11251074 (__v16qi)__W);
11261075}
11271076
1128static __inline__ __m128i __DEFAULT_FN_ATTRS128
1129_mm_maskz_shuffle_epi8(__mmask16 __U, __m128i __A, __m128i __B)
1130{
1077static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1078_mm_maskz_shuffle_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
11311079 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
11321080 (__v16qi)_mm_shuffle_epi8(__A, __B),
11331081 (__v16qi)_mm_setzero_si128());
11341082}
11351083
1136static __inline__ __m256i __DEFAULT_FN_ATTRS256
1137_mm256_mask_shuffle_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
1138{
1084static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1085_mm256_mask_shuffle_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
11391086 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
11401087 (__v32qi)_mm256_shuffle_epi8(__A, __B),
11411088 (__v32qi)__W);
11421089}
11431090
1144static __inline__ __m256i __DEFAULT_FN_ATTRS256
1145_mm256_maskz_shuffle_epi8(__mmask32 __U, __m256i __A, __m256i __B)
1146{
1091static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1092_mm256_maskz_shuffle_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
11471093 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
11481094 (__v32qi)_mm256_shuffle_epi8(__A, __B),
11491095 (__v32qi)_mm256_setzero_si256());
11501096}
11511097
1152static __inline__ __m128i __DEFAULT_FN_ATTRS128
1098static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
11531099_mm_mask_subs_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
11541100{
11551101 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
......@@ -1157,7 +1103,7 @@ _mm_mask_subs_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
11571103 (__v16qi)__W);
11581104}
11591105
1160static __inline__ __m128i __DEFAULT_FN_ATTRS128
1106static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
11611107_mm_maskz_subs_epi8(__mmask16 __U, __m128i __A, __m128i __B)
11621108{
11631109 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
......@@ -1165,7 +1111,7 @@ _mm_maskz_subs_epi8(__mmask16 __U, __m128i __A, __m128i __B)
11651111 (__v16qi)_mm_setzero_si128());
11661112}
11671113
1168static __inline__ __m256i __DEFAULT_FN_ATTRS256
1114static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
11691115_mm256_mask_subs_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
11701116{
11711117 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
......@@ -1173,7 +1119,7 @@ _mm256_mask_subs_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
11731119 (__v32qi)__W);
11741120}
11751121
1176static __inline__ __m256i __DEFAULT_FN_ATTRS256
1122static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
11771123_mm256_maskz_subs_epi8(__mmask32 __U, __m256i __A, __m256i __B)
11781124{
11791125 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
......@@ -1181,7 +1127,7 @@ _mm256_maskz_subs_epi8(__mmask32 __U, __m256i __A, __m256i __B)
11811127 (__v32qi)_mm256_setzero_si256());
11821128}
11831129
1184static __inline__ __m128i __DEFAULT_FN_ATTRS128
1130static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
11851131_mm_mask_subs_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
11861132{
11871133 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -1189,7 +1135,7 @@ _mm_mask_subs_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
11891135 (__v8hi)__W);
11901136}
11911137
1192static __inline__ __m128i __DEFAULT_FN_ATTRS128
1138static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
11931139_mm_maskz_subs_epi16(__mmask8 __U, __m128i __A, __m128i __B)
11941140{
11951141 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -1197,7 +1143,7 @@ _mm_maskz_subs_epi16(__mmask8 __U, __m128i __A, __m128i __B)
11971143 (__v8hi)_mm_setzero_si128());
11981144}
11991145
1200static __inline__ __m256i __DEFAULT_FN_ATTRS256
1146static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
12011147_mm256_mask_subs_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
12021148{
12031149 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1205,7 +1151,7 @@ _mm256_mask_subs_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
12051151 (__v16hi)__W);
12061152}
12071153
1208static __inline__ __m256i __DEFAULT_FN_ATTRS256
1154static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
12091155_mm256_maskz_subs_epi16(__mmask16 __U, __m256i __A, __m256i __B)
12101156{
12111157 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1213,7 +1159,7 @@ _mm256_maskz_subs_epi16(__mmask16 __U, __m256i __A, __m256i __B)
12131159 (__v16hi)_mm256_setzero_si256());
12141160}
12151161
1216static __inline__ __m128i __DEFAULT_FN_ATTRS128
1162static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
12171163_mm_mask_subs_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
12181164{
12191165 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
......@@ -1221,7 +1167,7 @@ _mm_mask_subs_epu8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B)
12211167 (__v16qi)__W);
12221168}
12231169
1224static __inline__ __m128i __DEFAULT_FN_ATTRS128
1170static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
12251171_mm_maskz_subs_epu8(__mmask16 __U, __m128i __A, __m128i __B)
12261172{
12271173 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
......@@ -1229,7 +1175,7 @@ _mm_maskz_subs_epu8(__mmask16 __U, __m128i __A, __m128i __B)
12291175 (__v16qi)_mm_setzero_si128());
12301176}
12311177
1232static __inline__ __m256i __DEFAULT_FN_ATTRS256
1178static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
12331179_mm256_mask_subs_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
12341180{
12351181 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
......@@ -1237,7 +1183,7 @@ _mm256_mask_subs_epu8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B)
12371183 (__v32qi)__W);
12381184}
12391185
1240static __inline__ __m256i __DEFAULT_FN_ATTRS256
1186static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
12411187_mm256_maskz_subs_epu8(__mmask32 __U, __m256i __A, __m256i __B)
12421188{
12431189 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
......@@ -1245,7 +1191,7 @@ _mm256_maskz_subs_epu8(__mmask32 __U, __m256i __A, __m256i __B)
12451191 (__v32qi)_mm256_setzero_si256());
12461192}
12471193
1248static __inline__ __m128i __DEFAULT_FN_ATTRS128
1194static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
12491195_mm_mask_subs_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
12501196{
12511197 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -1253,7 +1199,7 @@ _mm_mask_subs_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
12531199 (__v8hi)__W);
12541200}
12551201
1256static __inline__ __m128i __DEFAULT_FN_ATTRS128
1202static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
12571203_mm_maskz_subs_epu16(__mmask8 __U, __m128i __A, __m128i __B)
12581204{
12591205 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -1261,7 +1207,7 @@ _mm_maskz_subs_epu16(__mmask8 __U, __m128i __A, __m128i __B)
12611207 (__v8hi)_mm_setzero_si128());
12621208}
12631209
1264static __inline__ __m256i __DEFAULT_FN_ATTRS256
1210static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
12651211_mm256_mask_subs_epu16(__m256i __W, __mmask16 __U, __m256i __A,
12661212 __m256i __B) {
12671213 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1269,7 +1215,7 @@ _mm256_mask_subs_epu16(__m256i __W, __mmask16 __U, __m256i __A,
12691215 (__v16hi)__W);
12701216}
12711217
1272static __inline__ __m256i __DEFAULT_FN_ATTRS256
1218static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
12731219_mm256_maskz_subs_epu16(__mmask16 __U, __m256i __A, __m256i __B)
12741220{
12751221 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1277,89 +1223,81 @@ _mm256_maskz_subs_epu16(__mmask16 __U, __m256i __A, __m256i __B)
12771223 (__v16hi)_mm256_setzero_si256());
12781224}
12791225
1280static __inline__ __m128i __DEFAULT_FN_ATTRS128
1281_mm_permutex2var_epi16(__m128i __A, __m128i __I, __m128i __B)
1282{
1226static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1227_mm_permutex2var_epi16(__m128i __A, __m128i __I, __m128i __B) {
12831228 return (__m128i)__builtin_ia32_vpermi2varhi128((__v8hi)__A, (__v8hi)__I,
12841229 (__v8hi) __B);
12851230}
12861231
1287static __inline__ __m128i __DEFAULT_FN_ATTRS128
1232static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
12881233_mm_mask_permutex2var_epi16(__m128i __A, __mmask8 __U, __m128i __I,
1289 __m128i __B)
1290{
1234 __m128i __B) {
12911235 return (__m128i)__builtin_ia32_selectw_128(__U,
12921236 (__v8hi)_mm_permutex2var_epi16(__A, __I, __B),
12931237 (__v8hi)__A);
12941238}
12951239
1296static __inline__ __m128i __DEFAULT_FN_ATTRS128
1240static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
12971241_mm_mask2_permutex2var_epi16(__m128i __A, __m128i __I, __mmask8 __U,
1298 __m128i __B)
1299{
1242 __m128i __B) {
13001243 return (__m128i)__builtin_ia32_selectw_128(__U,
13011244 (__v8hi)_mm_permutex2var_epi16(__A, __I, __B),
13021245 (__v8hi)__I);
13031246}
13041247
1305static __inline__ __m128i __DEFAULT_FN_ATTRS128
1306_mm_maskz_permutex2var_epi16 (__mmask8 __U, __m128i __A, __m128i __I,
1307 __m128i __B)
1308{
1248static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1249_mm_maskz_permutex2var_epi16(__mmask8 __U, __m128i __A, __m128i __I,
1250 __m128i __B) {
13091251 return (__m128i)__builtin_ia32_selectw_128(__U,
13101252 (__v8hi)_mm_permutex2var_epi16(__A, __I, __B),
13111253 (__v8hi)_mm_setzero_si128());
13121254}
13131255
1314static __inline__ __m256i __DEFAULT_FN_ATTRS256
1315_mm256_permutex2var_epi16(__m256i __A, __m256i __I, __m256i __B)
1316{
1256static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1257_mm256_permutex2var_epi16(__m256i __A, __m256i __I, __m256i __B) {
13171258 return (__m256i)__builtin_ia32_vpermi2varhi256((__v16hi)__A, (__v16hi)__I,
13181259 (__v16hi)__B);
13191260}
13201261
1321static __inline__ __m256i __DEFAULT_FN_ATTRS256
1262static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
13221263_mm256_mask_permutex2var_epi16(__m256i __A, __mmask16 __U, __m256i __I,
1323 __m256i __B)
1324{
1264 __m256i __B) {
13251265 return (__m256i)__builtin_ia32_selectw_256(__U,
13261266 (__v16hi)_mm256_permutex2var_epi16(__A, __I, __B),
13271267 (__v16hi)__A);
13281268}
13291269
1330static __inline__ __m256i __DEFAULT_FN_ATTRS256
1270static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
13311271_mm256_mask2_permutex2var_epi16(__m256i __A, __m256i __I, __mmask16 __U,
1332 __m256i __B)
1333{
1272 __m256i __B) {
13341273 return (__m256i)__builtin_ia32_selectw_256(__U,
13351274 (__v16hi)_mm256_permutex2var_epi16(__A, __I, __B),
13361275 (__v16hi)__I);
13371276}
13381277
1339static __inline__ __m256i __DEFAULT_FN_ATTRS256
1340_mm256_maskz_permutex2var_epi16 (__mmask16 __U, __m256i __A, __m256i __I,
1341 __m256i __B)
1342{
1278static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1279_mm256_maskz_permutex2var_epi16(__mmask16 __U, __m256i __A, __m256i __I,
1280 __m256i __B) {
13431281 return (__m256i)__builtin_ia32_selectw_256(__U,
13441282 (__v16hi)_mm256_permutex2var_epi16(__A, __I, __B),
13451283 (__v16hi)_mm256_setzero_si256());
13461284}
13471285
1348static __inline__ __m128i __DEFAULT_FN_ATTRS128
1286static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
13491287_mm_mask_maddubs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
13501288 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
13511289 (__v8hi)_mm_maddubs_epi16(__X, __Y),
13521290 (__v8hi)__W);
13531291}
13541292
1355static __inline__ __m128i __DEFAULT_FN_ATTRS128
1293static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
13561294_mm_maskz_maddubs_epi16(__mmask8 __U, __m128i __X, __m128i __Y) {
13571295 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
13581296 (__v8hi)_mm_maddubs_epi16(__X, __Y),
13591297 (__v8hi)_mm_setzero_si128());
13601298}
13611299
1362static __inline__ __m256i __DEFAULT_FN_ATTRS256
1300static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
13631301_mm256_mask_maddubs_epi16(__m256i __W, __mmask16 __U, __m256i __X,
13641302 __m256i __Y) {
13651303 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1367,35 +1305,35 @@ _mm256_mask_maddubs_epi16(__m256i __W, __mmask16 __U, __m256i __X,
13671305 (__v16hi)__W);
13681306}
13691307
1370static __inline__ __m256i __DEFAULT_FN_ATTRS256
1308static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
13711309_mm256_maskz_maddubs_epi16(__mmask16 __U, __m256i __X, __m256i __Y) {
13721310 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
13731311 (__v16hi)_mm256_maddubs_epi16(__X, __Y),
13741312 (__v16hi)_mm256_setzero_si256());
13751313}
13761314
1377static __inline__ __m128i __DEFAULT_FN_ATTRS128
1315static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
13781316_mm_mask_madd_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
13791317 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
13801318 (__v4si)_mm_madd_epi16(__A, __B),
13811319 (__v4si)__W);
13821320}
13831321
1384static __inline__ __m128i __DEFAULT_FN_ATTRS128
1322static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
13851323_mm_maskz_madd_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
13861324 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
13871325 (__v4si)_mm_madd_epi16(__A, __B),
13881326 (__v4si)_mm_setzero_si128());
13891327}
13901328
1391static __inline__ __m256i __DEFAULT_FN_ATTRS256
1329static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
13921330_mm256_mask_madd_epi16(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
13931331 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
13941332 (__v8si)_mm256_madd_epi16(__A, __B),
13951333 (__v8si)__W);
13961334}
13971335
1398static __inline__ __m256i __DEFAULT_FN_ATTRS256
1336static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
13991337_mm256_maskz_madd_epi16(__mmask8 __U, __m256i __A, __m256i __B) {
14001338 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
14011339 (__v8si)_mm256_madd_epi16(__A, __B),
......@@ -1486,8 +1424,8 @@ _mm256_maskz_cvtusepi16_epi8 (__mmask16 __M, __m256i __A) {
14861424 __M);
14871425}
14881426
1489static __inline__ __m128i __DEFAULT_FN_ATTRS128
1490_mm_cvtepi16_epi8 (__m128i __A) {
1427static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1428_mm_cvtepi16_epi8(__m128i __A) {
14911429 return (__m128i)__builtin_shufflevector(
14921430 __builtin_convertvector((__v8hi)__A, __v8qi),
14931431 (__v8qi){0, 0, 0, 0, 0, 0, 0, 0}, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
......@@ -1527,20 +1465,20 @@ _mm_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
15271465 __builtin_ia32_pmovuswb128mem_mask ((__v16qi *) __P, (__v8hi) __A, __M);
15281466}
15291467
1530static __inline__ __m128i __DEFAULT_FN_ATTRS256
1531_mm256_cvtepi16_epi8 (__m256i __A) {
1468static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
1469_mm256_cvtepi16_epi8(__m256i __A) {
15321470 return (__m128i)__builtin_convertvector((__v16hi) __A, __v16qi);
15331471}
15341472
1535static __inline__ __m128i __DEFAULT_FN_ATTRS256
1536_mm256_mask_cvtepi16_epi8 (__m128i __O, __mmask16 __M, __m256i __A) {
1473static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
1474_mm256_mask_cvtepi16_epi8(__m128i __O, __mmask16 __M, __m256i __A) {
15371475 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
15381476 (__v16qi)_mm256_cvtepi16_epi8(__A),
15391477 (__v16qi)__O);
15401478}
15411479
1542static __inline__ __m128i __DEFAULT_FN_ATTRS256
1543_mm256_maskz_cvtepi16_epi8 (__mmask16 __M, __m256i __A) {
1480static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
1481_mm256_maskz_cvtepi16_epi8(__mmask16 __M, __m256i __A) {
15441482 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__M,
15451483 (__v16qi)_mm256_cvtepi16_epi8(__A),
15461484 (__v16qi)_mm_setzero_si128());
......@@ -1564,203 +1502,198 @@ _mm256_mask_cvtusepi16_storeu_epi8 (void * __P, __mmask16 __M, __m256i __A)
15641502 __builtin_ia32_pmovuswb256mem_mask ((__v16qi*) __P, (__v16hi) __A, __M);
15651503}
15661504
1567static __inline__ __m128i __DEFAULT_FN_ATTRS128
1505static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
15681506_mm_mask_mulhrs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
15691507 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
15701508 (__v8hi)_mm_mulhrs_epi16(__X, __Y),
15711509 (__v8hi)__W);
15721510}
15731511
1574static __inline__ __m128i __DEFAULT_FN_ATTRS128
1512static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
15751513_mm_maskz_mulhrs_epi16(__mmask8 __U, __m128i __X, __m128i __Y) {
15761514 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
15771515 (__v8hi)_mm_mulhrs_epi16(__X, __Y),
15781516 (__v8hi)_mm_setzero_si128());
15791517}
15801518
1581static __inline__ __m256i __DEFAULT_FN_ATTRS256
1519static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
15821520_mm256_mask_mulhrs_epi16(__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y) {
15831521 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
15841522 (__v16hi)_mm256_mulhrs_epi16(__X, __Y),
15851523 (__v16hi)__W);
15861524}
15871525
1588static __inline__ __m256i __DEFAULT_FN_ATTRS256
1526static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
15891527_mm256_maskz_mulhrs_epi16(__mmask16 __U, __m256i __X, __m256i __Y) {
15901528 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
15911529 (__v16hi)_mm256_mulhrs_epi16(__X, __Y),
15921530 (__v16hi)_mm256_setzero_si256());
15931531}
15941532
1595static __inline__ __m128i __DEFAULT_FN_ATTRS128
1533static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
15961534_mm_mask_mulhi_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1597 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1598 (__v8hi)_mm_mulhi_epu16(__A, __B),
1599 (__v8hi)__W);
1535 return (__m128i)__builtin_ia32_selectw_128(
1536 (__mmask8)__U, (__v8hi)_mm_mulhi_epu16(__A, __B), (__v8hi)__W);
16001537}
16011538
1602static __inline__ __m128i __DEFAULT_FN_ATTRS128
1539static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
16031540_mm_maskz_mulhi_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
16041541 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
16051542 (__v8hi)_mm_mulhi_epu16(__A, __B),
16061543 (__v8hi)_mm_setzero_si128());
16071544}
16081545
1609static __inline__ __m256i __DEFAULT_FN_ATTRS256
1546static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
16101547_mm256_mask_mulhi_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1611 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1612 (__v16hi)_mm256_mulhi_epu16(__A, __B),
1613 (__v16hi)__W);
1548 return (__m256i)__builtin_ia32_selectw_256(
1549 (__mmask16)__U, (__v16hi)_mm256_mulhi_epu16(__A, __B), (__v16hi)__W);
16141550}
16151551
1616static __inline__ __m256i __DEFAULT_FN_ATTRS256
1552static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
16171553_mm256_maskz_mulhi_epu16(__mmask16 __U, __m256i __A, __m256i __B) {
1618 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1619 (__v16hi)_mm256_mulhi_epu16(__A, __B),
1620 (__v16hi)_mm256_setzero_si256());
1554 return (__m256i)__builtin_ia32_selectw_256(
1555 (__mmask16)__U, (__v16hi)_mm256_mulhi_epu16(__A, __B),
1556 (__v16hi)_mm256_setzero_si256());
16211557}
16221558
1623static __inline__ __m128i __DEFAULT_FN_ATTRS128
1559static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
16241560_mm_mask_mulhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
1625 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
1626 (__v8hi)_mm_mulhi_epi16(__A, __B),
1627 (__v8hi)__W);
1561 return (__m128i)__builtin_ia32_selectw_128(
1562 (__mmask8)__U, (__v8hi)_mm_mulhi_epi16(__A, __B), (__v8hi)__W);
16281563}
16291564
1630static __inline__ __m128i __DEFAULT_FN_ATTRS128
1565static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
16311566_mm_maskz_mulhi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
16321567 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
16331568 (__v8hi)_mm_mulhi_epi16(__A, __B),
16341569 (__v8hi)_mm_setzero_si128());
16351570}
16361571
1637static __inline__ __m256i __DEFAULT_FN_ATTRS256
1572static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
16381573_mm256_mask_mulhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
1639 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1640 (__v16hi)_mm256_mulhi_epi16(__A, __B),
1641 (__v16hi)__W);
1574 return (__m256i)__builtin_ia32_selectw_256(
1575 (__mmask16)__U, (__v16hi)_mm256_mulhi_epi16(__A, __B), (__v16hi)__W);
16421576}
16431577
1644static __inline__ __m256i __DEFAULT_FN_ATTRS256
1578static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
16451579_mm256_maskz_mulhi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
1646 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
1647 (__v16hi)_mm256_mulhi_epi16(__A, __B),
1648 (__v16hi)_mm256_setzero_si256());
1580 return (__m256i)__builtin_ia32_selectw_256(
1581 (__mmask16)__U, (__v16hi)_mm256_mulhi_epi16(__A, __B),
1582 (__v16hi)_mm256_setzero_si256());
16491583}
16501584
1651static __inline__ __m128i __DEFAULT_FN_ATTRS128
1585static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
16521586_mm_mask_unpackhi_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
1653 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
1654 (__v16qi)_mm_unpackhi_epi8(__A, __B),
1655 (__v16qi)__W);
1587 return (__m128i)__builtin_ia32_selectb_128(
1588 (__mmask16)__U, (__v16qi)_mm_unpackhi_epi8(__A, __B), (__v16qi)__W);
16561589}
16571590
1658static __inline__ __m128i __DEFAULT_FN_ATTRS128
1591static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
16591592_mm_maskz_unpackhi_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
16601593 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
16611594 (__v16qi)_mm_unpackhi_epi8(__A, __B),
16621595 (__v16qi)_mm_setzero_si128());
16631596}
16641597
1665static __inline__ __m256i __DEFAULT_FN_ATTRS256
1598static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
16661599_mm256_mask_unpackhi_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
16671600 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
16681601 (__v32qi)_mm256_unpackhi_epi8(__A, __B),
16691602 (__v32qi)__W);
16701603}
16711604
1672static __inline__ __m256i __DEFAULT_FN_ATTRS256
1605static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
16731606_mm256_maskz_unpackhi_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
16741607 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
16751608 (__v32qi)_mm256_unpackhi_epi8(__A, __B),
16761609 (__v32qi)_mm256_setzero_si256());
16771610}
16781611
1679static __inline__ __m128i __DEFAULT_FN_ATTRS128
1612static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
16801613_mm_mask_unpackhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
16811614 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
16821615 (__v8hi)_mm_unpackhi_epi16(__A, __B),
16831616 (__v8hi)__W);
16841617}
16851618
1686static __inline__ __m128i __DEFAULT_FN_ATTRS128
1619static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
16871620_mm_maskz_unpackhi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
16881621 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
16891622 (__v8hi)_mm_unpackhi_epi16(__A, __B),
16901623 (__v8hi) _mm_setzero_si128());
16911624}
16921625
1693static __inline__ __m256i __DEFAULT_FN_ATTRS256
1626static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
16941627_mm256_mask_unpackhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
16951628 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
16961629 (__v16hi)_mm256_unpackhi_epi16(__A, __B),
16971630 (__v16hi)__W);
16981631}
16991632
1700static __inline__ __m256i __DEFAULT_FN_ATTRS256
1633static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
17011634_mm256_maskz_unpackhi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
17021635 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
17031636 (__v16hi)_mm256_unpackhi_epi16(__A, __B),
17041637 (__v16hi)_mm256_setzero_si256());
17051638}
17061639
1707static __inline__ __m128i __DEFAULT_FN_ATTRS128
1640static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
17081641_mm_mask_unpacklo_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
17091642 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
17101643 (__v16qi)_mm_unpacklo_epi8(__A, __B),
17111644 (__v16qi)__W);
17121645}
17131646
1714static __inline__ __m128i __DEFAULT_FN_ATTRS128
1647static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
17151648_mm_maskz_unpacklo_epi8(__mmask16 __U, __m128i __A, __m128i __B) {
17161649 return (__m128i)__builtin_ia32_selectb_128((__mmask16)__U,
17171650 (__v16qi)_mm_unpacklo_epi8(__A, __B),
17181651 (__v16qi)_mm_setzero_si128());
17191652}
17201653
1721static __inline__ __m256i __DEFAULT_FN_ATTRS256
1654static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
17221655_mm256_mask_unpacklo_epi8(__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
17231656 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
17241657 (__v32qi)_mm256_unpacklo_epi8(__A, __B),
17251658 (__v32qi)__W);
17261659}
17271660
1728static __inline__ __m256i __DEFAULT_FN_ATTRS256
1661static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
17291662_mm256_maskz_unpacklo_epi8(__mmask32 __U, __m256i __A, __m256i __B) {
17301663 return (__m256i)__builtin_ia32_selectb_256((__mmask32)__U,
17311664 (__v32qi)_mm256_unpacklo_epi8(__A, __B),
17321665 (__v32qi)_mm256_setzero_si256());
17331666}
17341667
1735static __inline__ __m128i __DEFAULT_FN_ATTRS128
1668static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
17361669_mm_mask_unpacklo_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
17371670 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
17381671 (__v8hi)_mm_unpacklo_epi16(__A, __B),
17391672 (__v8hi)__W);
17401673}
17411674
1742static __inline__ __m128i __DEFAULT_FN_ATTRS128
1675static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
17431676_mm_maskz_unpacklo_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
17441677 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
17451678 (__v8hi)_mm_unpacklo_epi16(__A, __B),
17461679 (__v8hi) _mm_setzero_si128());
17471680}
17481681
1749static __inline__ __m256i __DEFAULT_FN_ATTRS256
1682static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
17501683_mm256_mask_unpacklo_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
17511684 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
17521685 (__v16hi)_mm256_unpacklo_epi16(__A, __B),
17531686 (__v16hi)__W);
17541687}
17551688
1756static __inline__ __m256i __DEFAULT_FN_ATTRS256
1689static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
17571690_mm256_maskz_unpacklo_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
17581691 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
17591692 (__v16hi)_mm256_unpacklo_epi16(__A, __B),
17601693 (__v16hi)_mm256_setzero_si256());
17611694}
17621695
1763static __inline__ __m128i __DEFAULT_FN_ATTRS128
1696static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
17641697_mm_mask_cvtepi8_epi16(__m128i __W, __mmask8 __U, __m128i __A)
17651698{
17661699 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -1768,7 +1701,7 @@ _mm_mask_cvtepi8_epi16(__m128i __W, __mmask8 __U, __m128i __A)
17681701 (__v8hi)__W);
17691702}
17701703
1771static __inline__ __m128i __DEFAULT_FN_ATTRS128
1704static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
17721705_mm_maskz_cvtepi8_epi16(__mmask8 __U, __m128i __A)
17731706{
17741707 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -1776,7 +1709,7 @@ _mm_maskz_cvtepi8_epi16(__mmask8 __U, __m128i __A)
17761709 (__v8hi)_mm_setzero_si128());
17771710}
17781711
1779static __inline__ __m256i __DEFAULT_FN_ATTRS256
1712static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
17801713_mm256_mask_cvtepi8_epi16(__m256i __W, __mmask16 __U, __m128i __A)
17811714{
17821715 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1784,7 +1717,7 @@ _mm256_mask_cvtepi8_epi16(__m256i __W, __mmask16 __U, __m128i __A)
17841717 (__v16hi)__W);
17851718}
17861719
1787static __inline__ __m256i __DEFAULT_FN_ATTRS256
1720static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
17881721_mm256_maskz_cvtepi8_epi16(__mmask16 __U, __m128i __A)
17891722{
17901723 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1793,7 +1726,7 @@ _mm256_maskz_cvtepi8_epi16(__mmask16 __U, __m128i __A)
17931726}
17941727
17951728
1796static __inline__ __m128i __DEFAULT_FN_ATTRS128
1729static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
17971730_mm_mask_cvtepu8_epi16(__m128i __W, __mmask8 __U, __m128i __A)
17981731{
17991732 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -1801,7 +1734,7 @@ _mm_mask_cvtepu8_epi16(__m128i __W, __mmask8 __U, __m128i __A)
18011734 (__v8hi)__W);
18021735}
18031736
1804static __inline__ __m128i __DEFAULT_FN_ATTRS128
1737static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
18051738_mm_maskz_cvtepu8_epi16(__mmask8 __U, __m128i __A)
18061739{
18071740 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -1809,7 +1742,7 @@ _mm_maskz_cvtepu8_epi16(__mmask8 __U, __m128i __A)
18091742 (__v8hi)_mm_setzero_si128());
18101743}
18111744
1812static __inline__ __m256i __DEFAULT_FN_ATTRS256
1745static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
18131746_mm256_mask_cvtepu8_epi16(__m256i __W, __mmask16 __U, __m128i __A)
18141747{
18151748 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1817,7 +1750,7 @@ _mm256_mask_cvtepu8_epi16(__m256i __W, __mmask16 __U, __m128i __A)
18171750 (__v16hi)__W);
18181751}
18191752
1820static __inline__ __m256i __DEFAULT_FN_ATTRS256
1753static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
18211754_mm256_maskz_cvtepu8_epi16 (__mmask16 __U, __m128i __A)
18221755{
18231756 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1868,13 +1801,13 @@ _mm256_maskz_cvtepu8_epi16 (__mmask16 __U, __m128i __A)
18681801 (imm)), \
18691802 (__v16hi)_mm256_setzero_si256()))
18701803
1871static __inline__ __m256i __DEFAULT_FN_ATTRS256
1804static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
18721805_mm256_sllv_epi16(__m256i __A, __m256i __B)
18731806{
18741807 return (__m256i)__builtin_ia32_psllv16hi((__v16hi)__A, (__v16hi)__B);
18751808}
18761809
1877static __inline__ __m256i __DEFAULT_FN_ATTRS256
1810static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
18781811_mm256_mask_sllv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
18791812{
18801813 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1882,7 +1815,7 @@ _mm256_mask_sllv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
18821815 (__v16hi)__W);
18831816}
18841817
1885static __inline__ __m256i __DEFAULT_FN_ATTRS256
1818static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
18861819_mm256_maskz_sllv_epi16(__mmask16 __U, __m256i __A, __m256i __B)
18871820{
18881821 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1890,13 +1823,13 @@ _mm256_maskz_sllv_epi16(__mmask16 __U, __m256i __A, __m256i __B)
18901823 (__v16hi)_mm256_setzero_si256());
18911824}
18921825
1893static __inline__ __m128i __DEFAULT_FN_ATTRS128
1826static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
18941827_mm_sllv_epi16(__m128i __A, __m128i __B)
18951828{
18961829 return (__m128i)__builtin_ia32_psllv8hi((__v8hi)__A, (__v8hi)__B);
18971830}
18981831
1899static __inline__ __m128i __DEFAULT_FN_ATTRS128
1832static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
19001833_mm_mask_sllv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
19011834{
19021835 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -1904,7 +1837,7 @@ _mm_mask_sllv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
19041837 (__v8hi)__W);
19051838}
19061839
1907static __inline__ __m128i __DEFAULT_FN_ATTRS128
1840static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
19081841_mm_maskz_sllv_epi16(__mmask8 __U, __m128i __A, __m128i __B)
19091842{
19101843 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -1944,7 +1877,7 @@ _mm256_maskz_sll_epi16(__mmask16 __U, __m256i __A, __m128i __B)
19441877 (__v16hi)_mm256_setzero_si256());
19451878}
19461879
1947static __inline__ __m128i __DEFAULT_FN_ATTRS128
1880static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
19481881_mm_mask_slli_epi16(__m128i __W, __mmask8 __U, __m128i __A, unsigned int __B)
19491882{
19501883 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -1952,7 +1885,7 @@ _mm_mask_slli_epi16(__m128i __W, __mmask8 __U, __m128i __A, unsigned int __B)
19521885 (__v8hi)__W);
19531886}
19541887
1955static __inline__ __m128i __DEFAULT_FN_ATTRS128
1888static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
19561889_mm_maskz_slli_epi16 (__mmask8 __U, __m128i __A, unsigned int __B)
19571890{
19581891 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -1960,30 +1893,28 @@ _mm_maskz_slli_epi16 (__mmask8 __U, __m128i __A, unsigned int __B)
19601893 (__v8hi)_mm_setzero_si128());
19611894}
19621895
1963static __inline__ __m256i __DEFAULT_FN_ATTRS256
1896static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
19641897_mm256_mask_slli_epi16(__m256i __W, __mmask16 __U, __m256i __A,
1965 unsigned int __B)
1966{
1898 unsigned int __B) {
19671899 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
19681900 (__v16hi)_mm256_slli_epi16(__A, (int)__B),
19691901 (__v16hi)__W);
19701902}
19711903
1972static __inline__ __m256i __DEFAULT_FN_ATTRS256
1973_mm256_maskz_slli_epi16(__mmask16 __U, __m256i __A, unsigned int __B)
1974{
1904static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1905_mm256_maskz_slli_epi16(__mmask16 __U, __m256i __A, unsigned int __B) {
19751906 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
19761907 (__v16hi)_mm256_slli_epi16(__A, (int)__B),
19771908 (__v16hi)_mm256_setzero_si256());
19781909}
19791910
1980static __inline__ __m256i __DEFAULT_FN_ATTRS256
1911static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
19811912_mm256_srlv_epi16(__m256i __A, __m256i __B)
19821913{
19831914 return (__m256i)__builtin_ia32_psrlv16hi((__v16hi)__A, (__v16hi)__B);
19841915}
19851916
1986static __inline__ __m256i __DEFAULT_FN_ATTRS256
1917static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
19871918_mm256_mask_srlv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
19881919{
19891920 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1991,7 +1922,7 @@ _mm256_mask_srlv_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
19911922 (__v16hi)__W);
19921923}
19931924
1994static __inline__ __m256i __DEFAULT_FN_ATTRS256
1925static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
19951926_mm256_maskz_srlv_epi16(__mmask16 __U, __m256i __A, __m256i __B)
19961927{
19971928 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -1999,13 +1930,13 @@ _mm256_maskz_srlv_epi16(__mmask16 __U, __m256i __A, __m256i __B)
19991930 (__v16hi)_mm256_setzero_si256());
20001931}
20011932
2002static __inline__ __m128i __DEFAULT_FN_ATTRS128
1933static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
20031934_mm_srlv_epi16(__m128i __A, __m128i __B)
20041935{
20051936 return (__m128i)__builtin_ia32_psrlv8hi((__v8hi)__A, (__v8hi)__B);
20061937}
20071938
2008static __inline__ __m128i __DEFAULT_FN_ATTRS128
1939static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
20091940_mm_mask_srlv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
20101941{
20111942 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -2013,7 +1944,7 @@ _mm_mask_srlv_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
20131944 (__v8hi)__W);
20141945}
20151946
2016static __inline__ __m128i __DEFAULT_FN_ATTRS128
1947static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
20171948_mm_maskz_srlv_epi16(__mmask8 __U, __m128i __A, __m128i __B)
20181949{
20191950 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -2021,13 +1952,13 @@ _mm_maskz_srlv_epi16(__mmask8 __U, __m128i __A, __m128i __B)
20211952 (__v8hi)_mm_setzero_si128());
20221953}
20231954
2024static __inline__ __m256i __DEFAULT_FN_ATTRS256
1955static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
20251956_mm256_srav_epi16(__m256i __A, __m256i __B)
20261957{
20271958 return (__m256i)__builtin_ia32_psrav16hi((__v16hi)__A, (__v16hi)__B);
20281959}
20291960
2030static __inline__ __m256i __DEFAULT_FN_ATTRS256
1961static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
20311962_mm256_mask_srav_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
20321963{
20331964 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -2035,7 +1966,7 @@ _mm256_mask_srav_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B)
20351966 (__v16hi)__W);
20361967}
20371968
2038static __inline__ __m256i __DEFAULT_FN_ATTRS256
1969static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
20391970_mm256_maskz_srav_epi16(__mmask16 __U, __m256i __A, __m256i __B)
20401971{
20411972 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
......@@ -2043,13 +1974,13 @@ _mm256_maskz_srav_epi16(__mmask16 __U, __m256i __A, __m256i __B)
20431974 (__v16hi)_mm256_setzero_si256());
20441975}
20451976
2046static __inline__ __m128i __DEFAULT_FN_ATTRS128
1977static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
20471978_mm_srav_epi16(__m128i __A, __m128i __B)
20481979{
20491980 return (__m128i)__builtin_ia32_psrav8hi((__v8hi)__A, (__v8hi)__B);
20501981}
20511982
2052static __inline__ __m128i __DEFAULT_FN_ATTRS128
1983static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
20531984_mm_mask_srav_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
20541985{
20551986 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -2057,7 +1988,7 @@ _mm_mask_srav_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
20571988 (__v8hi)__W);
20581989}
20591990
2060static __inline__ __m128i __DEFAULT_FN_ATTRS128
1991static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
20611992_mm_maskz_srav_epi16(__mmask8 __U, __m128i __A, __m128i __B)
20621993{
20631994 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
......@@ -2097,34 +2028,30 @@ _mm256_maskz_sra_epi16(__mmask16 __U, __m256i __A, __m128i __B)
20972028 (__v16hi)_mm256_setzero_si256());
20982029}
20992030
2100static __inline__ __m128i __DEFAULT_FN_ATTRS128
2101_mm_mask_srai_epi16(__m128i __W, __mmask8 __U, __m128i __A, unsigned int __B)
2102{
2031static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2032_mm_mask_srai_epi16(__m128i __W, __mmask8 __U, __m128i __A, unsigned int __B) {
21032033 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
21042034 (__v8hi)_mm_srai_epi16(__A, (int)__B),
21052035 (__v8hi)__W);
21062036}
21072037
2108static __inline__ __m128i __DEFAULT_FN_ATTRS128
2109_mm_maskz_srai_epi16(__mmask8 __U, __m128i __A, unsigned int __B)
2110{
2038static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2039_mm_maskz_srai_epi16(__mmask8 __U, __m128i __A, unsigned int __B) {
21112040 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
21122041 (__v8hi)_mm_srai_epi16(__A, (int)__B),
21132042 (__v8hi)_mm_setzero_si128());
21142043}
21152044
2116static __inline__ __m256i __DEFAULT_FN_ATTRS256
2045static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
21172046_mm256_mask_srai_epi16(__m256i __W, __mmask16 __U, __m256i __A,
2118 unsigned int __B)
2119{
2047 unsigned int __B) {
21202048 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
21212049 (__v16hi)_mm256_srai_epi16(__A, (int)__B),
21222050 (__v16hi)__W);
21232051}
21242052
2125static __inline__ __m256i __DEFAULT_FN_ATTRS256
2126_mm256_maskz_srai_epi16(__mmask16 __U, __m256i __A, unsigned int __B)
2127{
2053static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2054_mm256_maskz_srai_epi16(__mmask16 __U, __m256i __A, unsigned int __B) {
21282055 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
21292056 (__v16hi)_mm256_srai_epi16(__A, (int)__B),
21302057 (__v16hi)_mm256_setzero_si256());
......@@ -2162,104 +2089,91 @@ _mm256_maskz_srl_epi16(__mmask16 __U, __m256i __A, __m128i __B)
21622089 (__v16hi)_mm256_setzero_si256());
21632090}
21642091
2165static __inline__ __m128i __DEFAULT_FN_ATTRS128
2166_mm_mask_srli_epi16(__m128i __W, __mmask8 __U, __m128i __A, int __B)
2167{
2092static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2093_mm_mask_srli_epi16(__m128i __W, __mmask8 __U, __m128i __A, int __B) {
21682094 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
21692095 (__v8hi)_mm_srli_epi16(__A, __B),
21702096 (__v8hi)__W);
21712097}
21722098
2173static __inline__ __m128i __DEFAULT_FN_ATTRS128
2174_mm_maskz_srli_epi16 (__mmask8 __U, __m128i __A, int __B)
2175{
2099static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2100_mm_maskz_srli_epi16(__mmask8 __U, __m128i __A, int __B) {
21762101 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__U,
21772102 (__v8hi)_mm_srli_epi16(__A, __B),
21782103 (__v8hi)_mm_setzero_si128());
21792104}
21802105
2181static __inline__ __m256i __DEFAULT_FN_ATTRS256
2182_mm256_mask_srli_epi16(__m256i __W, __mmask16 __U, __m256i __A, int __B)
2183{
2106static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2107_mm256_mask_srli_epi16(__m256i __W, __mmask16 __U, __m256i __A, int __B) {
21842108 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
21852109 (__v16hi)_mm256_srli_epi16(__A, __B),
21862110 (__v16hi)__W);
21872111}
21882112
2189static __inline__ __m256i __DEFAULT_FN_ATTRS256
2190_mm256_maskz_srli_epi16(__mmask16 __U, __m256i __A, int __B)
2191{
2113static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2114_mm256_maskz_srli_epi16(__mmask16 __U, __m256i __A, int __B) {
21922115 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__U,
21932116 (__v16hi)_mm256_srli_epi16(__A, __B),
21942117 (__v16hi)_mm256_setzero_si256());
21952118}
21962119
2197static __inline__ __m128i __DEFAULT_FN_ATTRS128
2198_mm_mask_mov_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
2199{
2120static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2121_mm_mask_mov_epi16(__m128i __W, __mmask8 __U, __m128i __A) {
22002122 return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
22012123 (__v8hi) __A,
22022124 (__v8hi) __W);
22032125}
22042126
2205static __inline__ __m128i __DEFAULT_FN_ATTRS128
2206_mm_maskz_mov_epi16 (__mmask8 __U, __m128i __A)
2207{
2127static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2128_mm_maskz_mov_epi16(__mmask8 __U, __m128i __A) {
22082129 return (__m128i) __builtin_ia32_selectw_128 ((__mmask8) __U,
22092130 (__v8hi) __A,
22102131 (__v8hi) _mm_setzero_si128 ());
22112132}
22122133
2213static __inline__ __m256i __DEFAULT_FN_ATTRS256
2214_mm256_mask_mov_epi16 (__m256i __W, __mmask16 __U, __m256i __A)
2215{
2134static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2135_mm256_mask_mov_epi16(__m256i __W, __mmask16 __U, __m256i __A) {
22162136 return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
22172137 (__v16hi) __A,
22182138 (__v16hi) __W);
22192139}
22202140
2221static __inline__ __m256i __DEFAULT_FN_ATTRS256
2222_mm256_maskz_mov_epi16 (__mmask16 __U, __m256i __A)
2223{
2141static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2142_mm256_maskz_mov_epi16(__mmask16 __U, __m256i __A) {
22242143 return (__m256i) __builtin_ia32_selectw_256 ((__mmask16) __U,
22252144 (__v16hi) __A,
22262145 (__v16hi) _mm256_setzero_si256 ());
22272146}
22282147
2229static __inline__ __m128i __DEFAULT_FN_ATTRS128
2230_mm_mask_mov_epi8 (__m128i __W, __mmask16 __U, __m128i __A)
2231{
2148static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2149_mm_mask_mov_epi8(__m128i __W, __mmask16 __U, __m128i __A) {
22322150 return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
22332151 (__v16qi) __A,
22342152 (__v16qi) __W);
22352153}
22362154
2237static __inline__ __m128i __DEFAULT_FN_ATTRS128
2238_mm_maskz_mov_epi8 (__mmask16 __U, __m128i __A)
2239{
2155static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2156_mm_maskz_mov_epi8(__mmask16 __U, __m128i __A) {
22402157 return (__m128i) __builtin_ia32_selectb_128 ((__mmask16) __U,
22412158 (__v16qi) __A,
22422159 (__v16qi) _mm_setzero_si128 ());
22432160}
22442161
2245static __inline__ __m256i __DEFAULT_FN_ATTRS256
2246_mm256_mask_mov_epi8 (__m256i __W, __mmask32 __U, __m256i __A)
2247{
2162static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2163_mm256_mask_mov_epi8(__m256i __W, __mmask32 __U, __m256i __A) {
22482164 return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
22492165 (__v32qi) __A,
22502166 (__v32qi) __W);
22512167}
22522168
2253static __inline__ __m256i __DEFAULT_FN_ATTRS256
2254_mm256_maskz_mov_epi8 (__mmask32 __U, __m256i __A)
2255{
2169static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2170_mm256_maskz_mov_epi8(__mmask32 __U, __m256i __A) {
22562171 return (__m256i) __builtin_ia32_selectb_256 ((__mmask32) __U,
22572172 (__v32qi) __A,
22582173 (__v32qi) _mm256_setzero_si256 ());
22592174}
22602175
2261
2262static __inline__ __m128i __DEFAULT_FN_ATTRS128
2176static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
22632177_mm_mask_set1_epi8 (__m128i __O, __mmask16 __M, char __A)
22642178{
22652179 return (__m128i) __builtin_ia32_selectb_128(__M,
......@@ -2267,7 +2181,7 @@ _mm_mask_set1_epi8 (__m128i __O, __mmask16 __M, char __A)
22672181 (__v16qi) __O);
22682182}
22692183
2270static __inline__ __m128i __DEFAULT_FN_ATTRS128
2184static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
22712185_mm_maskz_set1_epi8 (__mmask16 __M, char __A)
22722186{
22732187 return (__m128i) __builtin_ia32_selectb_128(__M,
......@@ -2275,7 +2189,7 @@ _mm_maskz_set1_epi8 (__mmask16 __M, char __A)
22752189 (__v16qi) _mm_setzero_si128());
22762190}
22772191
2278static __inline__ __m256i __DEFAULT_FN_ATTRS256
2192static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
22792193_mm256_mask_set1_epi8 (__m256i __O, __mmask32 __M, char __A)
22802194{
22812195 return (__m256i) __builtin_ia32_selectb_256(__M,
......@@ -2283,7 +2197,7 @@ _mm256_mask_set1_epi8 (__m256i __O, __mmask32 __M, char __A)
22832197 (__v32qi) __O);
22842198}
22852199
2286static __inline__ __m256i __DEFAULT_FN_ATTRS256
2200static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
22872201_mm256_maskz_set1_epi8 (__mmask32 __M, char __A)
22882202{
22892203 return (__m256i) __builtin_ia32_selectb_256(__M,
......@@ -2463,22 +2377,19 @@ _mm256_mask_storeu_epi8 (void *__P, __mmask32 __U, __m256i __A)
24632377 (__mmask32) __U);
24642378}
24652379
2466static __inline__ __mmask16 __DEFAULT_FN_ATTRS128
2467_mm_test_epi8_mask (__m128i __A, __m128i __B)
2468{
2380static __inline__ __mmask16 __DEFAULT_FN_ATTRS128_CONSTEXPR
2381_mm_test_epi8_mask(__m128i __A, __m128i __B) {
24692382 return _mm_cmpneq_epi8_mask (_mm_and_si128(__A, __B), _mm_setzero_si128());
24702383}
24712384
2472static __inline__ __mmask16 __DEFAULT_FN_ATTRS128
2473_mm_mask_test_epi8_mask (__mmask16 __U, __m128i __A, __m128i __B)
2474{
2385static __inline__ __mmask16 __DEFAULT_FN_ATTRS128_CONSTEXPR
2386_mm_mask_test_epi8_mask(__mmask16 __U, __m128i __A, __m128i __B) {
24752387 return _mm_mask_cmpneq_epi8_mask (__U, _mm_and_si128 (__A, __B),
24762388 _mm_setzero_si128());
24772389}
24782390
2479static __inline__ __mmask32 __DEFAULT_FN_ATTRS256
2480_mm256_test_epi8_mask (__m256i __A, __m256i __B)
2481{
2391static __inline__ __mmask32 __DEFAULT_FN_ATTRS256_CONSTEXPR
2392_mm256_test_epi8_mask(__m256i __A, __m256i __B) {
24822393 return _mm256_cmpneq_epi8_mask (_mm256_and_si256(__A, __B),
24832394 _mm256_setzero_si256());
24842395}
......@@ -2517,9 +2428,8 @@ _mm256_mask_test_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
25172428 _mm256_setzero_si256());
25182429}
25192430
2520static __inline__ __mmask16 __DEFAULT_FN_ATTRS128
2521_mm_testn_epi8_mask (__m128i __A, __m128i __B)
2522{
2431static __inline__ __mmask16 __DEFAULT_FN_ATTRS128_CONSTEXPR
2432_mm_testn_epi8_mask(__m128i __A, __m128i __B) {
25232433 return _mm_cmpeq_epi8_mask (_mm_and_si128 (__A, __B), _mm_setzero_si128());
25242434}
25252435
......@@ -2570,55 +2480,47 @@ _mm256_mask_testn_epi16_mask (__mmask16 __U, __m256i __A, __m256i __B)
25702480 _mm256_setzero_si256());
25712481}
25722482
2573static __inline__ __mmask16 __DEFAULT_FN_ATTRS128
2574_mm_movepi8_mask (__m128i __A)
2575{
2483static __inline__ __mmask16 __DEFAULT_FN_ATTRS128_CONSTEXPR
2484_mm_movepi8_mask(__m128i __A) {
25762485 return (__mmask16) __builtin_ia32_cvtb2mask128 ((__v16qi) __A);
25772486}
25782487
2579static __inline__ __mmask32 __DEFAULT_FN_ATTRS256
2580_mm256_movepi8_mask (__m256i __A)
2581{
2488static __inline__ __mmask32 __DEFAULT_FN_ATTRS256_CONSTEXPR
2489_mm256_movepi8_mask(__m256i __A) {
25822490 return (__mmask32) __builtin_ia32_cvtb2mask256 ((__v32qi) __A);
25832491}
25842492
2585static __inline__ __mmask8 __DEFAULT_FN_ATTRS128
2586_mm_movepi16_mask (__m128i __A)
2587{
2493static __inline__ __mmask8 __DEFAULT_FN_ATTRS128_CONSTEXPR
2494_mm_movepi16_mask(__m128i __A) {
25882495 return (__mmask8) __builtin_ia32_cvtw2mask128 ((__v8hi) __A);
25892496}
25902497
2591static __inline__ __mmask16 __DEFAULT_FN_ATTRS256
2592_mm256_movepi16_mask (__m256i __A)
2593{
2498static __inline__ __mmask16 __DEFAULT_FN_ATTRS256_CONSTEXPR
2499_mm256_movepi16_mask(__m256i __A) {
25942500 return (__mmask16) __builtin_ia32_cvtw2mask256 ((__v16hi) __A);
25952501}
25962502
2597static __inline__ __m128i __DEFAULT_FN_ATTRS128
2598_mm_movm_epi8 (__mmask16 __A)
2599{
2503static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2504_mm_movm_epi8(__mmask16 __A) {
26002505 return (__m128i) __builtin_ia32_cvtmask2b128 (__A);
26012506}
26022507
2603static __inline__ __m256i __DEFAULT_FN_ATTRS256
2604_mm256_movm_epi8 (__mmask32 __A)
2605{
2508static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2509_mm256_movm_epi8(__mmask32 __A) {
26062510 return (__m256i) __builtin_ia32_cvtmask2b256 (__A);
26072511}
26082512
2609static __inline__ __m128i __DEFAULT_FN_ATTRS128
2610_mm_movm_epi16 (__mmask8 __A)
2611{
2513static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2514_mm_movm_epi16(__mmask8 __A) {
26122515 return (__m128i) __builtin_ia32_cvtmask2w128 (__A);
26132516}
26142517
2615static __inline__ __m256i __DEFAULT_FN_ATTRS256
2616_mm256_movm_epi16 (__mmask16 __A)
2617{
2518static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2519_mm256_movm_epi16(__mmask16 __A) {
26182520 return (__m256i) __builtin_ia32_cvtmask2w256 (__A);
26192521}
26202522
2621static __inline__ __m128i __DEFAULT_FN_ATTRS128
2523static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
26222524_mm_mask_broadcastb_epi8 (__m128i __O, __mmask16 __M, __m128i __A)
26232525{
26242526 return (__m128i)__builtin_ia32_selectb_128(__M,
......@@ -2626,7 +2528,7 @@ _mm_mask_broadcastb_epi8 (__m128i __O, __mmask16 __M, __m128i __A)
26262528 (__v16qi) __O);
26272529}
26282530
2629static __inline__ __m128i __DEFAULT_FN_ATTRS128
2531static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
26302532_mm_maskz_broadcastb_epi8 (__mmask16 __M, __m128i __A)
26312533{
26322534 return (__m128i)__builtin_ia32_selectb_128(__M,
......@@ -2634,7 +2536,7 @@ _mm_maskz_broadcastb_epi8 (__mmask16 __M, __m128i __A)
26342536 (__v16qi) _mm_setzero_si128());
26352537}
26362538
2637static __inline__ __m256i __DEFAULT_FN_ATTRS256
2539static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
26382540_mm256_mask_broadcastb_epi8 (__m256i __O, __mmask32 __M, __m128i __A)
26392541{
26402542 return (__m256i)__builtin_ia32_selectb_256(__M,
......@@ -2642,7 +2544,7 @@ _mm256_mask_broadcastb_epi8 (__m256i __O, __mmask32 __M, __m128i __A)
26422544 (__v32qi) __O);
26432545}
26442546
2645static __inline__ __m256i __DEFAULT_FN_ATTRS256
2547static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
26462548_mm256_maskz_broadcastb_epi8 (__mmask32 __M, __m128i __A)
26472549{
26482550 return (__m256i)__builtin_ia32_selectb_256(__M,
......@@ -2650,7 +2552,7 @@ _mm256_maskz_broadcastb_epi8 (__mmask32 __M, __m128i __A)
26502552 (__v32qi) _mm256_setzero_si256());
26512553}
26522554
2653static __inline__ __m128i __DEFAULT_FN_ATTRS128
2555static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
26542556_mm_mask_broadcastw_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
26552557{
26562558 return (__m128i)__builtin_ia32_selectw_128(__M,
......@@ -2658,7 +2560,7 @@ _mm_mask_broadcastw_epi16 (__m128i __O, __mmask8 __M, __m128i __A)
26582560 (__v8hi) __O);
26592561}
26602562
2661static __inline__ __m128i __DEFAULT_FN_ATTRS128
2563static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
26622564_mm_maskz_broadcastw_epi16 (__mmask8 __M, __m128i __A)
26632565{
26642566 return (__m128i)__builtin_ia32_selectw_128(__M,
......@@ -2666,7 +2568,7 @@ _mm_maskz_broadcastw_epi16 (__mmask8 __M, __m128i __A)
26662568 (__v8hi) _mm_setzero_si128());
26672569}
26682570
2669static __inline__ __m256i __DEFAULT_FN_ATTRS256
2571static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
26702572_mm256_mask_broadcastw_epi16 (__m256i __O, __mmask16 __M, __m128i __A)
26712573{
26722574 return (__m256i)__builtin_ia32_selectw_256(__M,
......@@ -2674,7 +2576,7 @@ _mm256_mask_broadcastw_epi16 (__m256i __O, __mmask16 __M, __m128i __A)
26742576 (__v16hi) __O);
26752577}
26762578
2677static __inline__ __m256i __DEFAULT_FN_ATTRS256
2579static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
26782580_mm256_maskz_broadcastw_epi16 (__mmask16 __M, __m128i __A)
26792581{
26802582 return (__m256i)__builtin_ia32_selectw_256(__M,
......@@ -2682,7 +2584,7 @@ _mm256_maskz_broadcastw_epi16 (__mmask16 __M, __m128i __A)
26822584 (__v16hi) _mm256_setzero_si256());
26832585}
26842586
2685static __inline__ __m256i __DEFAULT_FN_ATTRS256
2587static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
26862588_mm256_mask_set1_epi16 (__m256i __O, __mmask16 __M, short __A)
26872589{
26882590 return (__m256i) __builtin_ia32_selectw_256 (__M,
......@@ -2690,7 +2592,7 @@ _mm256_mask_set1_epi16 (__m256i __O, __mmask16 __M, short __A)
26902592 (__v16hi) __O);
26912593}
26922594
2693static __inline__ __m256i __DEFAULT_FN_ATTRS256
2595static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
26942596_mm256_maskz_set1_epi16 (__mmask16 __M, short __A)
26952597{
26962598 return (__m256i) __builtin_ia32_selectw_256(__M,
......@@ -2698,7 +2600,7 @@ _mm256_maskz_set1_epi16 (__mmask16 __M, short __A)
26982600 (__v16hi) _mm256_setzero_si256());
26992601}
27002602
2701static __inline__ __m128i __DEFAULT_FN_ATTRS128
2603static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
27022604_mm_mask_set1_epi16 (__m128i __O, __mmask8 __M, short __A)
27032605{
27042606 return (__m128i) __builtin_ia32_selectw_128(__M,
......@@ -2706,7 +2608,7 @@ _mm_mask_set1_epi16 (__m128i __O, __mmask8 __M, short __A)
27062608 (__v8hi) __O);
27072609}
27082610
2709static __inline__ __m128i __DEFAULT_FN_ATTRS128
2611static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
27102612_mm_maskz_set1_epi16 (__mmask8 __M, short __A)
27112613{
27122614 return (__m128i) __builtin_ia32_selectw_128(__M,
......@@ -2714,48 +2616,41 @@ _mm_maskz_set1_epi16 (__mmask8 __M, short __A)
27142616 (__v8hi) _mm_setzero_si128());
27152617}
27162618
2717static __inline__ __m128i __DEFAULT_FN_ATTRS128
2718_mm_permutexvar_epi16 (__m128i __A, __m128i __B)
2719{
2619static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2620_mm_permutexvar_epi16(__m128i __A, __m128i __B) {
27202621 return (__m128i)__builtin_ia32_permvarhi128((__v8hi) __B, (__v8hi) __A);
27212622}
27222623
2723static __inline__ __m128i __DEFAULT_FN_ATTRS128
2724_mm_maskz_permutexvar_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
2725{
2624static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2625_mm_maskz_permutexvar_epi16(__mmask8 __M, __m128i __A, __m128i __B) {
27262626 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
27272627 (__v8hi)_mm_permutexvar_epi16(__A, __B),
27282628 (__v8hi) _mm_setzero_si128());
27292629}
27302630
2731static __inline__ __m128i __DEFAULT_FN_ATTRS128
2732_mm_mask_permutexvar_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
2733 __m128i __B)
2734{
2631static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2632_mm_mask_permutexvar_epi16(__m128i __W, __mmask8 __M, __m128i __A,
2633 __m128i __B) {
27352634 return (__m128i)__builtin_ia32_selectw_128((__mmask8)__M,
27362635 (__v8hi)_mm_permutexvar_epi16(__A, __B),
27372636 (__v8hi)__W);
27382637}
27392638
2740static __inline__ __m256i __DEFAULT_FN_ATTRS256
2741_mm256_permutexvar_epi16 (__m256i __A, __m256i __B)
2742{
2639static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2640_mm256_permutexvar_epi16(__m256i __A, __m256i __B) {
27432641 return (__m256i)__builtin_ia32_permvarhi256((__v16hi) __B, (__v16hi) __A);
27442642}
27452643
2746static __inline__ __m256i __DEFAULT_FN_ATTRS256
2747_mm256_maskz_permutexvar_epi16 (__mmask16 __M, __m256i __A,
2748 __m256i __B)
2749{
2644static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2645_mm256_maskz_permutexvar_epi16(__mmask16 __M, __m256i __A, __m256i __B) {
27502646 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
27512647 (__v16hi)_mm256_permutexvar_epi16(__A, __B),
27522648 (__v16hi)_mm256_setzero_si256());
27532649}
27542650
2755static __inline__ __m256i __DEFAULT_FN_ATTRS256
2756_mm256_mask_permutexvar_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
2757 __m256i __B)
2758{
2651static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2652_mm256_mask_permutexvar_epi16(__m256i __W, __mmask16 __M, __m256i __A,
2653 __m256i __B) {
27592654 return (__m256i)__builtin_ia32_selectw_256((__mmask16)__M,
27602655 (__v16hi)_mm256_permutexvar_epi16(__A, __B),
27612656 (__v16hi)__W);
......@@ -2809,353 +2704,353 @@ _mm256_mask_permutexvar_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
28092704 (__v16hi)_mm256_dbsad_epu8((A), (B), (imm)), \
28102705 (__v16hi)_mm256_setzero_si256()))
28112706
2812static __inline__ short __DEFAULT_FN_ATTRS128
2707static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
28132708_mm_reduce_add_epi16(__m128i __W) {
28142709 return __builtin_reduce_add((__v8hi)__W);
28152710}
28162711
2817static __inline__ short __DEFAULT_FN_ATTRS128
2712static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
28182713_mm_reduce_mul_epi16(__m128i __W) {
28192714 return __builtin_reduce_mul((__v8hi)__W);
28202715}
28212716
2822static __inline__ short __DEFAULT_FN_ATTRS128
2717static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
28232718_mm_reduce_and_epi16(__m128i __W) {
28242719 return __builtin_reduce_and((__v8hi)__W);
28252720}
28262721
2827static __inline__ short __DEFAULT_FN_ATTRS128
2722static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
28282723_mm_reduce_or_epi16(__m128i __W) {
28292724 return __builtin_reduce_or((__v8hi)__W);
28302725}
28312726
2832static __inline__ short __DEFAULT_FN_ATTRS128
2833_mm_mask_reduce_add_epi16( __mmask8 __M, __m128i __W) {
2727static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2728_mm_mask_reduce_add_epi16(__mmask8 __M, __m128i __W) {
28342729 __W = _mm_maskz_mov_epi16(__M, __W);
28352730 return __builtin_reduce_add((__v8hi)__W);
28362731}
28372732
2838static __inline__ short __DEFAULT_FN_ATTRS128
2839_mm_mask_reduce_mul_epi16( __mmask8 __M, __m128i __W) {
2733static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2734_mm_mask_reduce_mul_epi16(__mmask8 __M, __m128i __W) {
28402735 __W = _mm_mask_mov_epi16(_mm_set1_epi16(1), __M, __W);
28412736 return __builtin_reduce_mul((__v8hi)__W);
28422737}
28432738
2844static __inline__ short __DEFAULT_FN_ATTRS128
2845_mm_mask_reduce_and_epi16( __mmask8 __M, __m128i __W) {
2739static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
2740_mm_mask_reduce_and_epi16(__mmask8 __M, __m128i __W) {
28462741 __W = _mm_mask_mov_epi16(_mm_set1_epi16(-1), __M, __W);
28472742 return __builtin_reduce_and((__v8hi)__W);
28482743}
28492744
2850static __inline__ short __DEFAULT_FN_ATTRS128
2745static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
28512746_mm_mask_reduce_or_epi16(__mmask8 __M, __m128i __W) {
28522747 __W = _mm_maskz_mov_epi16(__M, __W);
28532748 return __builtin_reduce_or((__v8hi)__W);
28542749}
28552750
2856static __inline__ short __DEFAULT_FN_ATTRS128
2751static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
28572752_mm_reduce_max_epi16(__m128i __V) {
28582753 return __builtin_reduce_max((__v8hi)__V);
28592754}
28602755
2861static __inline__ unsigned short __DEFAULT_FN_ATTRS128
2756static __inline__ unsigned short __DEFAULT_FN_ATTRS128_CONSTEXPR
28622757_mm_reduce_max_epu16(__m128i __V) {
28632758 return __builtin_reduce_max((__v8hu)__V);
28642759}
28652760
2866static __inline__ short __DEFAULT_FN_ATTRS128
2761static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
28672762_mm_reduce_min_epi16(__m128i __V) {
28682763 return __builtin_reduce_min((__v8hi)__V);
28692764}
28702765
2871static __inline__ unsigned short __DEFAULT_FN_ATTRS128
2766static __inline__ unsigned short __DEFAULT_FN_ATTRS128_CONSTEXPR
28722767_mm_reduce_min_epu16(__m128i __V) {
28732768 return __builtin_reduce_min((__v8hu)__V);
28742769}
28752770
2876static __inline__ short __DEFAULT_FN_ATTRS128
2771static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
28772772_mm_mask_reduce_max_epi16(__mmask16 __M, __m128i __V) {
28782773 __V = _mm_mask_mov_epi16(_mm_set1_epi16(-32767-1), __M, __V);
28792774 return __builtin_reduce_max((__v8hi)__V);
28802775}
28812776
2882static __inline__ unsigned short __DEFAULT_FN_ATTRS128
2777static __inline__ unsigned short __DEFAULT_FN_ATTRS128_CONSTEXPR
28832778_mm_mask_reduce_max_epu16(__mmask16 __M, __m128i __V) {
28842779 __V = _mm_maskz_mov_epi16(__M, __V);
28852780 return __builtin_reduce_max((__v8hu)__V);
28862781}
28872782
2888static __inline__ short __DEFAULT_FN_ATTRS128
2783static __inline__ short __DEFAULT_FN_ATTRS128_CONSTEXPR
28892784_mm_mask_reduce_min_epi16(__mmask16 __M, __m128i __V) {
28902785 __V = _mm_mask_mov_epi16(_mm_set1_epi16(32767), __M, __V);
28912786 return __builtin_reduce_min((__v8hi)__V);
28922787}
28932788
2894static __inline__ unsigned short __DEFAULT_FN_ATTRS128
2789static __inline__ unsigned short __DEFAULT_FN_ATTRS128_CONSTEXPR
28952790_mm_mask_reduce_min_epu16(__mmask16 __M, __m128i __V) {
28962791 __V = _mm_mask_mov_epi16(_mm_set1_epi16(-1), __M, __V);
28972792 return __builtin_reduce_min((__v8hu)__V);
28982793}
28992794
2900static __inline__ short __DEFAULT_FN_ATTRS256
2795static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
29012796_mm256_reduce_add_epi16(__m256i __W) {
29022797 return __builtin_reduce_add((__v16hi)__W);
29032798}
29042799
2905static __inline__ short __DEFAULT_FN_ATTRS256
2800static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
29062801_mm256_reduce_mul_epi16(__m256i __W) {
29072802 return __builtin_reduce_mul((__v16hi)__W);
29082803}
29092804
2910static __inline__ short __DEFAULT_FN_ATTRS256
2805static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
29112806_mm256_reduce_and_epi16(__m256i __W) {
29122807 return __builtin_reduce_and((__v16hi)__W);
29132808}
29142809
2915static __inline__ short __DEFAULT_FN_ATTRS256
2810static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
29162811_mm256_reduce_or_epi16(__m256i __W) {
29172812 return __builtin_reduce_or((__v16hi)__W);
29182813}
29192814
2920static __inline__ short __DEFAULT_FN_ATTRS256
2921_mm256_mask_reduce_add_epi16( __mmask16 __M, __m256i __W) {
2815static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2816_mm256_mask_reduce_add_epi16(__mmask16 __M, __m256i __W) {
29222817 __W = _mm256_maskz_mov_epi16(__M, __W);
29232818 return __builtin_reduce_add((__v16hi)__W);
29242819}
29252820
2926static __inline__ short __DEFAULT_FN_ATTRS256
2927_mm256_mask_reduce_mul_epi16( __mmask16 __M, __m256i __W) {
2821static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2822_mm256_mask_reduce_mul_epi16(__mmask16 __M, __m256i __W) {
29282823 __W = _mm256_mask_mov_epi16(_mm256_set1_epi16(1), __M, __W);
29292824 return __builtin_reduce_mul((__v16hi)__W);
29302825}
29312826
2932static __inline__ short __DEFAULT_FN_ATTRS256
2933_mm256_mask_reduce_and_epi16( __mmask16 __M, __m256i __W) {
2827static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
2828_mm256_mask_reduce_and_epi16(__mmask16 __M, __m256i __W) {
29342829 __W = _mm256_mask_mov_epi16(_mm256_set1_epi16(-1), __M, __W);
29352830 return __builtin_reduce_and((__v16hi)__W);
29362831}
29372832
2938static __inline__ short __DEFAULT_FN_ATTRS256
2833static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
29392834_mm256_mask_reduce_or_epi16(__mmask16 __M, __m256i __W) {
29402835 __W = _mm256_maskz_mov_epi16(__M, __W);
29412836 return __builtin_reduce_or((__v16hi)__W);
29422837}
29432838
2944static __inline__ short __DEFAULT_FN_ATTRS256
2839static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
29452840_mm256_reduce_max_epi16(__m256i __V) {
29462841 return __builtin_reduce_max((__v16hi)__V);
29472842}
29482843
2949static __inline__ unsigned short __DEFAULT_FN_ATTRS256
2844static __inline__ unsigned short __DEFAULT_FN_ATTRS256_CONSTEXPR
29502845_mm256_reduce_max_epu16(__m256i __V) {
29512846 return __builtin_reduce_max((__v16hu)__V);
29522847}
29532848
2954static __inline__ short __DEFAULT_FN_ATTRS256
2849static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
29552850_mm256_reduce_min_epi16(__m256i __V) {
29562851 return __builtin_reduce_min((__v16hi)__V);
29572852}
29582853
2959static __inline__ unsigned short __DEFAULT_FN_ATTRS256
2854static __inline__ unsigned short __DEFAULT_FN_ATTRS256_CONSTEXPR
29602855_mm256_reduce_min_epu16(__m256i __V) {
29612856 return __builtin_reduce_min((__v16hu)__V);
29622857}
29632858
2964static __inline__ short __DEFAULT_FN_ATTRS256
2859static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
29652860_mm256_mask_reduce_max_epi16(__mmask16 __M, __m256i __V) {
29662861 __V = _mm256_mask_mov_epi16(_mm256_set1_epi16(-32767-1), __M, __V);
29672862 return __builtin_reduce_max((__v16hi)__V);
29682863}
29692864
2970static __inline__ unsigned short __DEFAULT_FN_ATTRS256
2865static __inline__ unsigned short __DEFAULT_FN_ATTRS256_CONSTEXPR
29712866_mm256_mask_reduce_max_epu16(__mmask16 __M, __m256i __V) {
29722867 __V = _mm256_maskz_mov_epi16(__M, __V);
29732868 return __builtin_reduce_max((__v16hu)__V);
29742869}
29752870
2976static __inline__ short __DEFAULT_FN_ATTRS256
2871static __inline__ short __DEFAULT_FN_ATTRS256_CONSTEXPR
29772872_mm256_mask_reduce_min_epi16(__mmask16 __M, __m256i __V) {
29782873 __V = _mm256_mask_mov_epi16(_mm256_set1_epi16(32767), __M, __V);
29792874 return __builtin_reduce_min((__v16hi)__V);
29802875}
29812876
2982static __inline__ unsigned short __DEFAULT_FN_ATTRS256
2877static __inline__ unsigned short __DEFAULT_FN_ATTRS256_CONSTEXPR
29832878_mm256_mask_reduce_min_epu16(__mmask16 __M, __m256i __V) {
29842879 __V = _mm256_mask_mov_epi16(_mm256_set1_epi16(-1), __M, __V);
29852880 return __builtin_reduce_min((__v16hu)__V);
29862881}
29872882
2988static __inline__ signed char __DEFAULT_FN_ATTRS128
2883static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
29892884_mm_reduce_add_epi8(__m128i __W) {
29902885 return __builtin_reduce_add((__v16qs)__W);
29912886}
29922887
2993static __inline__ signed char __DEFAULT_FN_ATTRS128
2888static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
29942889_mm_reduce_mul_epi8(__m128i __W) {
29952890 return __builtin_reduce_mul((__v16qs)__W);
29962891}
29972892
2998static __inline__ signed char __DEFAULT_FN_ATTRS128
2893static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
29992894_mm_reduce_and_epi8(__m128i __W) {
30002895 return __builtin_reduce_and((__v16qs)__W);
30012896}
30022897
3003static __inline__ signed char __DEFAULT_FN_ATTRS128
2898static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
30042899_mm_reduce_or_epi8(__m128i __W) {
30052900 return __builtin_reduce_or((__v16qs)__W);
30062901}
30072902
3008static __inline__ signed char __DEFAULT_FN_ATTRS128
2903static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
30092904_mm_mask_reduce_add_epi8(__mmask16 __M, __m128i __W) {
30102905 __W = _mm_maskz_mov_epi8(__M, __W);
30112906 return __builtin_reduce_add((__v16qs)__W);
30122907}
30132908
3014static __inline__ signed char __DEFAULT_FN_ATTRS128
2909static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
30152910_mm_mask_reduce_mul_epi8(__mmask16 __M, __m128i __W) {
30162911 __W = _mm_mask_mov_epi8(_mm_set1_epi8(1), __M, __W);
30172912 return __builtin_reduce_mul((__v16qs)__W);
30182913}
30192914
3020static __inline__ signed char __DEFAULT_FN_ATTRS128
2915static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
30212916_mm_mask_reduce_and_epi8(__mmask16 __M, __m128i __W) {
30222917 __W = _mm_mask_mov_epi8(_mm_set1_epi8(-1), __M, __W);
30232918 return __builtin_reduce_and((__v16qs)__W);
30242919}
30252920
3026static __inline__ signed char __DEFAULT_FN_ATTRS128
2921static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
30272922_mm_mask_reduce_or_epi8(__mmask16 __M, __m128i __W) {
30282923 __W = _mm_maskz_mov_epi8(__M, __W);
30292924 return __builtin_reduce_or((__v16qs)__W);
30302925}
30312926
3032static __inline__ signed char __DEFAULT_FN_ATTRS128
2927static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
30332928_mm_reduce_max_epi8(__m128i __V) {
30342929 return __builtin_reduce_max((__v16qs)__V);
30352930}
30362931
3037static __inline__ unsigned char __DEFAULT_FN_ATTRS128
2932static __inline__ unsigned char __DEFAULT_FN_ATTRS128_CONSTEXPR
30382933_mm_reduce_max_epu8(__m128i __V) {
30392934 return __builtin_reduce_max((__v16qu)__V);
30402935}
30412936
3042static __inline__ signed char __DEFAULT_FN_ATTRS128
2937static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
30432938_mm_reduce_min_epi8(__m128i __V) {
30442939 return __builtin_reduce_min((__v16qs)__V);
30452940}
30462941
3047static __inline__ unsigned char __DEFAULT_FN_ATTRS128
2942static __inline__ unsigned char __DEFAULT_FN_ATTRS128_CONSTEXPR
30482943_mm_reduce_min_epu8(__m128i __V) {
30492944 return __builtin_reduce_min((__v16qu)__V);
30502945}
30512946
3052static __inline__ signed char __DEFAULT_FN_ATTRS128
2947static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
30532948_mm_mask_reduce_max_epi8(__mmask16 __M, __m128i __V) {
30542949 __V = _mm_mask_mov_epi8(_mm_set1_epi8(-127-1), __M, __V);
30552950 return __builtin_reduce_max((__v16qs)__V);
30562951}
30572952
3058static __inline__ unsigned char __DEFAULT_FN_ATTRS128
2953static __inline__ unsigned char __DEFAULT_FN_ATTRS128_CONSTEXPR
30592954_mm_mask_reduce_max_epu8(__mmask16 __M, __m128i __V) {
30602955 __V = _mm_maskz_mov_epi8(__M, __V);
30612956 return __builtin_reduce_max((__v16qu)__V);
30622957}
30632958
3064static __inline__ signed char __DEFAULT_FN_ATTRS128
2959static __inline__ signed char __DEFAULT_FN_ATTRS128_CONSTEXPR
30652960_mm_mask_reduce_min_epi8(__mmask16 __M, __m128i __V) {
30662961 __V = _mm_mask_mov_epi8(_mm_set1_epi8(127), __M, __V);
30672962 return __builtin_reduce_min((__v16qs)__V);
30682963}
30692964
3070static __inline__ unsigned char __DEFAULT_FN_ATTRS128
2965static __inline__ unsigned char __DEFAULT_FN_ATTRS128_CONSTEXPR
30712966_mm_mask_reduce_min_epu8(__mmask16 __M, __m128i __V) {
30722967 __V = _mm_mask_mov_epi8(_mm_set1_epi8(-1), __M, __V);
30732968 return __builtin_reduce_min((__v16qu)__V);
30742969}
30752970
3076static __inline__ signed char __DEFAULT_FN_ATTRS256
2971static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
30772972_mm256_reduce_add_epi8(__m256i __W) {
30782973 return __builtin_reduce_add((__v32qs)__W);
30792974}
30802975
3081static __inline__ signed char __DEFAULT_FN_ATTRS256
2976static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
30822977_mm256_reduce_mul_epi8(__m256i __W) {
30832978 return __builtin_reduce_mul((__v32qs)__W);
30842979}
30852980
3086static __inline__ signed char __DEFAULT_FN_ATTRS256
2981static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
30872982_mm256_reduce_and_epi8(__m256i __W) {
30882983 return __builtin_reduce_and((__v32qs)__W);
30892984}
30902985
3091static __inline__ signed char __DEFAULT_FN_ATTRS256
2986static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
30922987_mm256_reduce_or_epi8(__m256i __W) {
30932988 return __builtin_reduce_or((__v32qs)__W);
30942989}
30952990
3096static __inline__ signed char __DEFAULT_FN_ATTRS256
2991static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
30972992_mm256_mask_reduce_add_epi8(__mmask32 __M, __m256i __W) {
30982993 __W = _mm256_maskz_mov_epi8(__M, __W);
30992994 return __builtin_reduce_add((__v32qs)__W);
31002995}
31012996
3102static __inline__ signed char __DEFAULT_FN_ATTRS256
2997static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
31032998_mm256_mask_reduce_mul_epi8(__mmask32 __M, __m256i __W) {
31042999 __W = _mm256_mask_mov_epi8(_mm256_set1_epi8(1), __M, __W);
31053000 return __builtin_reduce_mul((__v32qs)__W);
31063001}
31073002
3108static __inline__ signed char __DEFAULT_FN_ATTRS256
3003static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
31093004_mm256_mask_reduce_and_epi8(__mmask32 __M, __m256i __W) {
31103005 __W = _mm256_mask_mov_epi8(_mm256_set1_epi8(-1), __M, __W);
31113006 return __builtin_reduce_and((__v32qs)__W);
31123007}
31133008
3114static __inline__ signed char __DEFAULT_FN_ATTRS256
3009static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
31153010_mm256_mask_reduce_or_epi8(__mmask32 __M, __m256i __W) {
31163011 __W = _mm256_maskz_mov_epi8(__M, __W);
31173012 return __builtin_reduce_or((__v32qs)__W);
31183013}
31193014
3120static __inline__ signed char __DEFAULT_FN_ATTRS256
3015static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
31213016_mm256_reduce_max_epi8(__m256i __V) {
31223017 return __builtin_reduce_max((__v32qs)__V);
31233018}
31243019
3125static __inline__ unsigned char __DEFAULT_FN_ATTRS256
3020static __inline__ unsigned char __DEFAULT_FN_ATTRS256_CONSTEXPR
31263021_mm256_reduce_max_epu8(__m256i __V) {
31273022 return __builtin_reduce_max((__v32qu)__V);
31283023}
31293024
3130static __inline__ signed char __DEFAULT_FN_ATTRS256
3025static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
31313026_mm256_reduce_min_epi8(__m256i __V) {
31323027 return __builtin_reduce_min((__v32qs)__V);
31333028}
31343029
3135static __inline__ unsigned char __DEFAULT_FN_ATTRS256
3030static __inline__ unsigned char __DEFAULT_FN_ATTRS256_CONSTEXPR
31363031_mm256_reduce_min_epu8(__m256i __V) {
31373032 return __builtin_reduce_min((__v32qu)__V);
31383033}
31393034
3140static __inline__ signed char __DEFAULT_FN_ATTRS256
3035static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
31413036_mm256_mask_reduce_max_epi8(__mmask32 __M, __m256i __V) {
31423037 __V = _mm256_mask_mov_epi8(_mm256_set1_epi8(-127-1), __M, __V);
31433038 return __builtin_reduce_max((__v32qs)__V);
31443039}
31453040
3146static __inline__ unsigned char __DEFAULT_FN_ATTRS256
3041static __inline__ unsigned char __DEFAULT_FN_ATTRS256_CONSTEXPR
31473042_mm256_mask_reduce_max_epu8(__mmask32 __M, __m256i __V) {
31483043 __V = _mm256_maskz_mov_epi8(__M, __V);
31493044 return __builtin_reduce_max((__v32qu)__V);
31503045}
31513046
3152static __inline__ signed char __DEFAULT_FN_ATTRS256
3047static __inline__ signed char __DEFAULT_FN_ATTRS256_CONSTEXPR
31533048_mm256_mask_reduce_min_epi8(__mmask32 __M, __m256i __V) {
31543049 __V = _mm256_mask_mov_epi8(_mm256_set1_epi8(127), __M, __V);
31553050 return __builtin_reduce_min((__v32qs)__V);
31563051}
31573052
3158static __inline__ unsigned char __DEFAULT_FN_ATTRS256
3053static __inline__ unsigned char __DEFAULT_FN_ATTRS256_CONSTEXPR
31593054_mm256_mask_reduce_min_epu8(__mmask32 __M, __m256i __V) {
31603055 __V = _mm256_mask_mov_epi8(_mm256_set1_epi8(-1), __M, __V);
31613056 return __builtin_reduce_min((__v32qu)__V);
......@@ -3163,5 +3058,7 @@ _mm256_mask_reduce_min_epu8(__mmask32 __M, __m256i __V) {
31633058
31643059#undef __DEFAULT_FN_ATTRS128
31653060#undef __DEFAULT_FN_ATTRS256
3061#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
3062#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
31663063
31673064#endif /* __AVX512VLBWINTRIN_H */
lib/include/avx512vlcdintrin.h+74-102
......@@ -14,211 +14,183 @@
1414#define __AVX512VLCDINTRIN_H
1515
1616/* Define the default attributes for the functions in this file. */
17#if defined(__cplusplus) && (__cplusplus >= 201103L)
1718#define __DEFAULT_FN_ATTRS128 \
1819 __attribute__((__always_inline__, __nodebug__, \
19 __target__("avx512vl,avx512cd,no-evex512"), \
20 __min_vector_width__(128)))
20 __target__("avx512vl,avx512cd"), \
21 __min_vector_width__(128))) constexpr
2122#define __DEFAULT_FN_ATTRS256 \
2223 __attribute__((__always_inline__, __nodebug__, \
23 __target__("avx512vl,avx512cd,no-evex512"), \
24 __min_vector_width__(256)))
24 __target__("avx512vl,avx512cd"), \
25 __min_vector_width__(256))) constexpr
26#else
27#define __DEFAULT_FN_ATTRS128 \
28 __attribute__((__always_inline__, __nodebug__, \
29 __target__("avx512vl,avx512cd"), __min_vector_width__(128)))
30#define __DEFAULT_FN_ATTRS256 \
31 __attribute__((__always_inline__, __nodebug__, \
32 __target__("avx512vl,avx512cd"), __min_vector_width__(256)))
33#endif
2534
2635static __inline__ __m128i __DEFAULT_FN_ATTRS128
27_mm_broadcastmb_epi64 (__mmask8 __A)
28{
36_mm_broadcastmb_epi64(__mmask8 __A) {
2937 return (__m128i) _mm_set1_epi64x((long long) __A);
3038}
3139
3240static __inline__ __m256i __DEFAULT_FN_ATTRS256
33_mm256_broadcastmb_epi64 (__mmask8 __A)
34{
35 return (__m256i) _mm256_set1_epi64x((long long)__A);
41_mm256_broadcastmb_epi64(__mmask8 __A) {
42 return (__m256i)_mm256_set1_epi64x((long long)__A);
3643}
3744
3845static __inline__ __m128i __DEFAULT_FN_ATTRS128
39_mm_broadcastmw_epi32 (__mmask16 __A)
40{
46_mm_broadcastmw_epi32(__mmask16 __A) {
4147 return (__m128i) _mm_set1_epi32((int)__A);
4248}
4349
4450static __inline__ __m256i __DEFAULT_FN_ATTRS256
45_mm256_broadcastmw_epi32 (__mmask16 __A)
46{
51_mm256_broadcastmw_epi32(__mmask16 __A) {
4752 return (__m256i) _mm256_set1_epi32((int)__A);
4853}
4954
50
5155static __inline__ __m128i __DEFAULT_FN_ATTRS128
52_mm_conflict_epi64 (__m128i __A)
53{
54 return (__m128i) __builtin_ia32_vpconflictdi_128 ((__v2di) __A);
56_mm_conflict_epi64(__m128i __A) {
57 return (__m128i)__builtin_ia32_vpconflictdi_128((__v2di)__A);
5558}
5659
5760static __inline__ __m128i __DEFAULT_FN_ATTRS128
58_mm_mask_conflict_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
59{
60 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
61 (__v2di)_mm_conflict_epi64(__A),
62 (__v2di)__W);
61_mm_mask_conflict_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
62 return (__m128i)__builtin_ia32_selectq_128(
63 (__mmask8)__U, (__v2di)_mm_conflict_epi64(__A), (__v2di)__W);
6364}
6465
6566static __inline__ __m128i __DEFAULT_FN_ATTRS128
66_mm_maskz_conflict_epi64 (__mmask8 __U, __m128i __A)
67{
67_mm_maskz_conflict_epi64(__mmask8 __U, __m128i __A) {
6868 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
6969 (__v2di)_mm_conflict_epi64(__A),
7070 (__v2di)_mm_setzero_si128());
7171}
7272
7373static __inline__ __m256i __DEFAULT_FN_ATTRS256
74_mm256_conflict_epi64 (__m256i __A)
75{
76 return (__m256i) __builtin_ia32_vpconflictdi_256 ((__v4di) __A);
74_mm256_conflict_epi64(__m256i __A) {
75 return (__m256i)__builtin_ia32_vpconflictdi_256((__v4di)__A);
7776}
7877
7978static __inline__ __m256i __DEFAULT_FN_ATTRS256
80_mm256_mask_conflict_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
81{
82 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
83 (__v4di)_mm256_conflict_epi64(__A),
84 (__v4di)__W);
79_mm256_mask_conflict_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
80 return (__m256i)__builtin_ia32_selectq_256(
81 (__mmask8)__U, (__v4di)_mm256_conflict_epi64(__A), (__v4di)__W);
8582}
8683
8784static __inline__ __m256i __DEFAULT_FN_ATTRS256
88_mm256_maskz_conflict_epi64 (__mmask8 __U, __m256i __A)
89{
85_mm256_maskz_conflict_epi64(__mmask8 __U, __m256i __A) {
9086 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
9187 (__v4di)_mm256_conflict_epi64(__A),
9288 (__v4di)_mm256_setzero_si256());
9389}
9490
9591static __inline__ __m128i __DEFAULT_FN_ATTRS128
96_mm_conflict_epi32 (__m128i __A)
97{
98 return (__m128i) __builtin_ia32_vpconflictsi_128 ((__v4si) __A);
92_mm_conflict_epi32(__m128i __A) {
93 return (__m128i)__builtin_ia32_vpconflictsi_128((__v4si)__A);
9994}
10095
10196static __inline__ __m128i __DEFAULT_FN_ATTRS128
102_mm_mask_conflict_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
103{
104 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
105 (__v4si)_mm_conflict_epi32(__A),
106 (__v4si)__W);
97_mm_mask_conflict_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
98 return (__m128i)__builtin_ia32_selectd_128(
99 (__mmask8)__U, (__v4si)_mm_conflict_epi32(__A), (__v4si)__W);
107100}
108101
109102static __inline__ __m128i __DEFAULT_FN_ATTRS128
110_mm_maskz_conflict_epi32 (__mmask8 __U, __m128i __A)
111{
103_mm_maskz_conflict_epi32(__mmask8 __U, __m128i __A) {
112104 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
113105 (__v4si)_mm_conflict_epi32(__A),
114106 (__v4si)_mm_setzero_si128());
115107}
116108
117109static __inline__ __m256i __DEFAULT_FN_ATTRS256
118_mm256_conflict_epi32 (__m256i __A)
119{
120 return (__m256i) __builtin_ia32_vpconflictsi_256 ((__v8si) __A);
110_mm256_conflict_epi32(__m256i __A) {
111 return (__m256i)__builtin_ia32_vpconflictsi_256((__v8si)__A);
121112}
122113
123114static __inline__ __m256i __DEFAULT_FN_ATTRS256
124_mm256_mask_conflict_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
125{
126 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
127 (__v8si)_mm256_conflict_epi32(__A),
128 (__v8si)__W);
115_mm256_mask_conflict_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
116 return (__m256i)__builtin_ia32_selectd_256(
117 (__mmask8)__U, (__v8si)_mm256_conflict_epi32(__A), (__v8si)__W);
129118}
130119
131120static __inline__ __m256i __DEFAULT_FN_ATTRS256
132_mm256_maskz_conflict_epi32 (__mmask8 __U, __m256i __A)
133{
121_mm256_maskz_conflict_epi32(__mmask8 __U, __m256i __A) {
134122 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
135123 (__v8si)_mm256_conflict_epi32(__A),
136124 (__v8si)_mm256_setzero_si256());
137125}
138126
139static __inline__ __m128i __DEFAULT_FN_ATTRS128
140_mm_lzcnt_epi32 (__m128i __A)
141{
142 return (__m128i) __builtin_ia32_vplzcntd_128 ((__v4si) __A);
127static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_lzcnt_epi32(__m128i __A) {
128 return (__m128i)__builtin_elementwise_clzg((__v4si)__A,
129 (__v4si)_mm_set1_epi32(32));
143130}
144131
145132static __inline__ __m128i __DEFAULT_FN_ATTRS128
146_mm_mask_lzcnt_epi32 (__m128i __W, __mmask8 __U, __m128i __A)
147{
148 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
149 (__v4si)_mm_lzcnt_epi32(__A),
150 (__v4si)__W);
133_mm_mask_lzcnt_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
134 return (__m128i)__builtin_ia32_selectd_128(
135 (__mmask8)__U, (__v4si)_mm_lzcnt_epi32(__A), (__v4si)__W);
151136}
152137
153138static __inline__ __m128i __DEFAULT_FN_ATTRS128
154_mm_maskz_lzcnt_epi32 (__mmask8 __U, __m128i __A)
155{
156 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
157 (__v4si)_mm_lzcnt_epi32(__A),
158 (__v4si)_mm_setzero_si128());
139_mm_maskz_lzcnt_epi32(__mmask8 __U, __m128i __A) {
140 return (__m128i)__builtin_ia32_selectd_128(
141 (__mmask8)__U, (__v4si)_mm_lzcnt_epi32(__A), (__v4si)_mm_setzero_si128());
159142}
160143
161144static __inline__ __m256i __DEFAULT_FN_ATTRS256
162_mm256_lzcnt_epi32 (__m256i __A)
163{
164 return (__m256i) __builtin_ia32_vplzcntd_256 ((__v8si) __A);
145_mm256_lzcnt_epi32(__m256i __A) {
146 return (__m256i)__builtin_elementwise_clzg((__v8si)__A,
147 (__v8si)_mm256_set1_epi32(32));
165148}
166149
167150static __inline__ __m256i __DEFAULT_FN_ATTRS256
168_mm256_mask_lzcnt_epi32 (__m256i __W, __mmask8 __U, __m256i __A)
169{
170 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
171 (__v8si)_mm256_lzcnt_epi32(__A),
172 (__v8si)__W);
151_mm256_mask_lzcnt_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
152 return (__m256i)__builtin_ia32_selectd_256(
153 (__mmask8)__U, (__v8si)_mm256_lzcnt_epi32(__A), (__v8si)__W);
173154}
174155
175156static __inline__ __m256i __DEFAULT_FN_ATTRS256
176_mm256_maskz_lzcnt_epi32 (__mmask8 __U, __m256i __A)
177{
157_mm256_maskz_lzcnt_epi32(__mmask8 __U, __m256i __A) {
178158 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
179159 (__v8si)_mm256_lzcnt_epi32(__A),
180160 (__v8si)_mm256_setzero_si256());
181161}
182162
183static __inline__ __m128i __DEFAULT_FN_ATTRS128
184_mm_lzcnt_epi64 (__m128i __A)
185{
186 return (__m128i) __builtin_ia32_vplzcntq_128 ((__v2di) __A);
163static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_lzcnt_epi64(__m128i __A) {
164 return (__m128i)__builtin_elementwise_clzg(
165 (__v2di)__A, (__v2di)_mm_set1_epi64x((long long)64));
187166}
188167
189168static __inline__ __m128i __DEFAULT_FN_ATTRS128
190_mm_mask_lzcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A)
191{
192 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
193 (__v2di)_mm_lzcnt_epi64(__A),
194 (__v2di)__W);
169_mm_mask_lzcnt_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
170 return (__m128i)__builtin_ia32_selectq_128(
171 (__mmask8)__U, (__v2di)_mm_lzcnt_epi64(__A), (__v2di)__W);
195172}
196173
197174static __inline__ __m128i __DEFAULT_FN_ATTRS128
198_mm_maskz_lzcnt_epi64 (__mmask8 __U, __m128i __A)
199{
200 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
201 (__v2di)_mm_lzcnt_epi64(__A),
202 (__v2di)_mm_setzero_si128());
175_mm_maskz_lzcnt_epi64(__mmask8 __U, __m128i __A) {
176 return (__m128i)__builtin_ia32_selectq_128(
177 (__mmask8)__U, (__v2di)_mm_lzcnt_epi64(__A), (__v2di)_mm_setzero_si128());
203178}
204179
205180static __inline__ __m256i __DEFAULT_FN_ATTRS256
206_mm256_lzcnt_epi64 (__m256i __A)
207{
208 return (__m256i) __builtin_ia32_vplzcntq_256 ((__v4di) __A);
181_mm256_lzcnt_epi64(__m256i __A) {
182 return (__m256i)__builtin_elementwise_clzg(
183 (__v4di)__A, (__v4di)_mm256_set1_epi64x((long long)64));
209184}
210185
211186static __inline__ __m256i __DEFAULT_FN_ATTRS256
212_mm256_mask_lzcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A)
213{
214 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
215 (__v4di)_mm256_lzcnt_epi64(__A),
216 (__v4di)__W);
187_mm256_mask_lzcnt_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
188 return (__m256i)__builtin_ia32_selectq_256(
189 (__mmask8)__U, (__v4di)_mm256_lzcnt_epi64(__A), (__v4di)__W);
217190}
218191
219192static __inline__ __m256i __DEFAULT_FN_ATTRS256
220_mm256_maskz_lzcnt_epi64 (__mmask8 __U, __m256i __A)
221{
193_mm256_maskz_lzcnt_epi64(__mmask8 __U, __m256i __A) {
222194 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
223195 (__v4di)_mm256_lzcnt_epi64(__A),
224196 (__v4di)_mm256_setzero_si256());
lib/include/avx512vldqintrin.h+110-127
......@@ -17,45 +17,51 @@
1717/* Define the default attributes for the functions in this file. */
1818#define __DEFAULT_FN_ATTRS128 \
1919 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512vl,avx512dq,no-evex512"), \
21 __min_vector_width__(128)))
20 __target__("avx512vl,avx512dq"), __min_vector_width__(128)))
2221#define __DEFAULT_FN_ATTRS256 \
2322 __attribute__((__always_inline__, __nodebug__, \
24 __target__("avx512vl,avx512dq,no-evex512"), \
25 __min_vector_width__(256)))
23 __target__("avx512vl,avx512dq"), __min_vector_width__(256)))
24
25#if defined(__cplusplus) && (__cplusplus >= 201103L)
26#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
27#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
28#else
29#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
30#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
31#endif
2632
27static __inline__ __m256i __DEFAULT_FN_ATTRS256
28_mm256_mullo_epi64 (__m256i __A, __m256i __B) {
33static __inline__ __m256i __DEFAULT_FN_ATTRS128_CONSTEXPR
34_mm256_mullo_epi64(__m256i __A, __m256i __B) {
2935 return (__m256i) ((__v4du) __A * (__v4du) __B);
3036}
3137
32static __inline__ __m256i __DEFAULT_FN_ATTRS256
38static __inline__ __m256i __DEFAULT_FN_ATTRS128_CONSTEXPR
3339_mm256_mask_mullo_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
3440 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
3541 (__v4di)_mm256_mullo_epi64(__A, __B),
3642 (__v4di)__W);
3743}
3844
39static __inline__ __m256i __DEFAULT_FN_ATTRS256
45static __inline__ __m256i __DEFAULT_FN_ATTRS128_CONSTEXPR
4046_mm256_maskz_mullo_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
4147 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
4248 (__v4di)_mm256_mullo_epi64(__A, __B),
4349 (__v4di)_mm256_setzero_si256());
4450}
4551
46static __inline__ __m128i __DEFAULT_FN_ATTRS128
47_mm_mullo_epi64 (__m128i __A, __m128i __B) {
52static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
53_mm_mullo_epi64(__m128i __A, __m128i __B) {
4854 return (__m128i) ((__v2du) __A * (__v2du) __B);
4955}
5056
51static __inline__ __m128i __DEFAULT_FN_ATTRS128
57static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
5258_mm_mask_mullo_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
5359 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
5460 (__v2di)_mm_mullo_epi64(__A, __B),
5561 (__v2di)__W);
5662}
5763
58static __inline__ __m128i __DEFAULT_FN_ATTRS128
64static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
5965_mm_maskz_mullo_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
6066 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
6167 (__v2di)_mm_mullo_epi64(__A, __B),
......@@ -454,39 +460,39 @@ _mm256_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) {
454460 (__mmask8) __U);
455461}
456462
457static __inline__ __m128d __DEFAULT_FN_ATTRS128
458_mm_cvtepi64_pd (__m128i __A) {
463static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
464_mm_cvtepi64_pd(__m128i __A) {
459465 return (__m128d)__builtin_convertvector((__v2di)__A, __v2df);
460466}
461467
462static __inline__ __m128d __DEFAULT_FN_ATTRS128
463_mm_mask_cvtepi64_pd (__m128d __W, __mmask8 __U, __m128i __A) {
468static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
469_mm_mask_cvtepi64_pd(__m128d __W, __mmask8 __U, __m128i __A) {
464470 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
465471 (__v2df)_mm_cvtepi64_pd(__A),
466472 (__v2df)__W);
467473}
468474
469static __inline__ __m128d __DEFAULT_FN_ATTRS128
470_mm_maskz_cvtepi64_pd (__mmask8 __U, __m128i __A) {
475static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
476_mm_maskz_cvtepi64_pd(__mmask8 __U, __m128i __A) {
471477 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
472478 (__v2df)_mm_cvtepi64_pd(__A),
473479 (__v2df)_mm_setzero_pd());
474480}
475481
476static __inline__ __m256d __DEFAULT_FN_ATTRS256
477_mm256_cvtepi64_pd (__m256i __A) {
482static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
483_mm256_cvtepi64_pd(__m256i __A) {
478484 return (__m256d)__builtin_convertvector((__v4di)__A, __v4df);
479485}
480486
481static __inline__ __m256d __DEFAULT_FN_ATTRS256
482_mm256_mask_cvtepi64_pd (__m256d __W, __mmask8 __U, __m256i __A) {
487static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
488_mm256_mask_cvtepi64_pd(__m256d __W, __mmask8 __U, __m256i __A) {
483489 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
484490 (__v4df)_mm256_cvtepi64_pd(__A),
485491 (__v4df)__W);
486492}
487493
488static __inline__ __m256d __DEFAULT_FN_ATTRS256
489_mm256_maskz_cvtepi64_pd (__mmask8 __U, __m256i __A) {
494static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
495_mm256_maskz_cvtepi64_pd(__mmask8 __U, __m256i __A) {
490496 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
491497 (__v4df)_mm256_cvtepi64_pd(__A),
492498 (__v4df)_mm256_setzero_pd());
......@@ -513,20 +519,20 @@ _mm_maskz_cvtepi64_ps (__mmask8 __U, __m128i __A) {
513519 (__mmask8) __U);
514520}
515521
516static __inline__ __m128 __DEFAULT_FN_ATTRS256
517_mm256_cvtepi64_ps (__m256i __A) {
522static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
523_mm256_cvtepi64_ps(__m256i __A) {
518524 return (__m128)__builtin_convertvector((__v4di)__A, __v4sf);
519525}
520526
521static __inline__ __m128 __DEFAULT_FN_ATTRS256
522_mm256_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m256i __A) {
527static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
528_mm256_mask_cvtepi64_ps(__m128 __W, __mmask8 __U, __m256i __A) {
523529 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
524530 (__v4sf)_mm256_cvtepi64_ps(__A),
525531 (__v4sf)__W);
526532}
527533
528static __inline__ __m128 __DEFAULT_FN_ATTRS256
529_mm256_maskz_cvtepi64_ps (__mmask8 __U, __m256i __A) {
534static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
535_mm256_maskz_cvtepi64_ps(__mmask8 __U, __m256i __A) {
530536 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
531537 (__v4sf)_mm256_cvtepi64_ps(__A),
532538 (__v4sf)_mm_setzero_ps());
......@@ -700,39 +706,39 @@ _mm256_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) {
700706 (__mmask8) __U);
701707}
702708
703static __inline__ __m128d __DEFAULT_FN_ATTRS128
704_mm_cvtepu64_pd (__m128i __A) {
709static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
710_mm_cvtepu64_pd(__m128i __A) {
705711 return (__m128d)__builtin_convertvector((__v2du)__A, __v2df);
706712}
707713
708static __inline__ __m128d __DEFAULT_FN_ATTRS128
709_mm_mask_cvtepu64_pd (__m128d __W, __mmask8 __U, __m128i __A) {
714static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
715_mm_mask_cvtepu64_pd(__m128d __W, __mmask8 __U, __m128i __A) {
710716 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
711717 (__v2df)_mm_cvtepu64_pd(__A),
712718 (__v2df)__W);
713719}
714720
715static __inline__ __m128d __DEFAULT_FN_ATTRS128
716_mm_maskz_cvtepu64_pd (__mmask8 __U, __m128i __A) {
721static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
722_mm_maskz_cvtepu64_pd(__mmask8 __U, __m128i __A) {
717723 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
718724 (__v2df)_mm_cvtepu64_pd(__A),
719725 (__v2df)_mm_setzero_pd());
720726}
721727
722static __inline__ __m256d __DEFAULT_FN_ATTRS256
723_mm256_cvtepu64_pd (__m256i __A) {
728static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
729_mm256_cvtepu64_pd(__m256i __A) {
724730 return (__m256d)__builtin_convertvector((__v4du)__A, __v4df);
725731}
726732
727static __inline__ __m256d __DEFAULT_FN_ATTRS256
728_mm256_mask_cvtepu64_pd (__m256d __W, __mmask8 __U, __m256i __A) {
733static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
734_mm256_mask_cvtepu64_pd(__m256d __W, __mmask8 __U, __m256i __A) {
729735 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
730736 (__v4df)_mm256_cvtepu64_pd(__A),
731737 (__v4df)__W);
732738}
733739
734static __inline__ __m256d __DEFAULT_FN_ATTRS256
735_mm256_maskz_cvtepu64_pd (__mmask8 __U, __m256i __A) {
740static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
741_mm256_maskz_cvtepu64_pd(__mmask8 __U, __m256i __A) {
736742 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
737743 (__v4df)_mm256_cvtepu64_pd(__A),
738744 (__v4df)_mm256_setzero_pd());
......@@ -759,20 +765,20 @@ _mm_maskz_cvtepu64_ps (__mmask8 __U, __m128i __A) {
759765 (__mmask8) __U);
760766}
761767
762static __inline__ __m128 __DEFAULT_FN_ATTRS256
763_mm256_cvtepu64_ps (__m256i __A) {
768static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
769_mm256_cvtepu64_ps(__m256i __A) {
764770 return (__m128)__builtin_convertvector((__v4du)__A, __v4sf);
765771}
766772
767static __inline__ __m128 __DEFAULT_FN_ATTRS256
768_mm256_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m256i __A) {
773static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
774_mm256_mask_cvtepu64_ps(__m128 __W, __mmask8 __U, __m256i __A) {
769775 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
770776 (__v4sf)_mm256_cvtepu64_ps(__A),
771777 (__v4sf)__W);
772778}
773779
774static __inline__ __m128 __DEFAULT_FN_ATTRS256
775_mm256_maskz_cvtepu64_ps (__mmask8 __U, __m256i __A) {
780static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
781_mm256_maskz_cvtepu64_ps(__mmask8 __U, __m256i __A) {
776782 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
777783 (__v4sf)_mm256_cvtepu64_ps(__A),
778784 (__v4sf)_mm_setzero_ps());
......@@ -908,174 +914,150 @@ _mm256_maskz_cvtepu64_ps (__mmask8 __U, __m256i __A) {
908914 (__v8sf)_mm256_setzero_ps(), \
909915 (__mmask8)(U)))
910916
911static __inline__ __mmask8 __DEFAULT_FN_ATTRS128
912_mm_movepi32_mask (__m128i __A)
913{
917static __inline__ __mmask8
918 __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_movepi32_mask(__m128i __A) {
914919 return (__mmask8) __builtin_ia32_cvtd2mask128 ((__v4si) __A);
915920}
916921
917static __inline__ __mmask8 __DEFAULT_FN_ATTRS256
918_mm256_movepi32_mask (__m256i __A)
919{
922static __inline__ __mmask8 __DEFAULT_FN_ATTRS256_CONSTEXPR
923_mm256_movepi32_mask(__m256i __A) {
920924 return (__mmask8) __builtin_ia32_cvtd2mask256 ((__v8si) __A);
921925}
922926
923static __inline__ __m128i __DEFAULT_FN_ATTRS128
924_mm_movm_epi32 (__mmask8 __A)
925{
927static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
928_mm_movm_epi32(__mmask8 __A) {
926929 return (__m128i) __builtin_ia32_cvtmask2d128 (__A);
927930}
928931
929static __inline__ __m256i __DEFAULT_FN_ATTRS256
930_mm256_movm_epi32 (__mmask8 __A)
931{
932static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
933_mm256_movm_epi32(__mmask8 __A) {
932934 return (__m256i) __builtin_ia32_cvtmask2d256 (__A);
933935}
934936
935static __inline__ __m128i __DEFAULT_FN_ATTRS128
936_mm_movm_epi64 (__mmask8 __A)
937{
937static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
938_mm_movm_epi64(__mmask8 __A) {
938939 return (__m128i) __builtin_ia32_cvtmask2q128 (__A);
939940}
940941
941static __inline__ __m256i __DEFAULT_FN_ATTRS256
942_mm256_movm_epi64 (__mmask8 __A)
943{
942static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
943_mm256_movm_epi64(__mmask8 __A) {
944944 return (__m256i) __builtin_ia32_cvtmask2q256 (__A);
945945}
946946
947static __inline__ __mmask8 __DEFAULT_FN_ATTRS128
948_mm_movepi64_mask (__m128i __A)
949{
947static __inline__ __mmask8 __DEFAULT_FN_ATTRS128_CONSTEXPR
948_mm_movepi64_mask(__m128i __A) {
950949 return (__mmask8) __builtin_ia32_cvtq2mask128 ((__v2di) __A);
951950}
952951
953static __inline__ __mmask8 __DEFAULT_FN_ATTRS256
954_mm256_movepi64_mask (__m256i __A)
955{
952static __inline__ __mmask8 __DEFAULT_FN_ATTRS256_CONSTEXPR
953_mm256_movepi64_mask(__m256i __A) {
956954 return (__mmask8) __builtin_ia32_cvtq2mask256 ((__v4di) __A);
957955}
958956
959static __inline__ __m256 __DEFAULT_FN_ATTRS256
960_mm256_broadcast_f32x2 (__m128 __A)
961{
957static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
958_mm256_broadcast_f32x2(__m128 __A) {
962959 return (__m256)__builtin_shufflevector((__v4sf)__A, (__v4sf)__A,
963960 0, 1, 0, 1, 0, 1, 0, 1);
964961}
965962
966static __inline__ __m256 __DEFAULT_FN_ATTRS256
967_mm256_mask_broadcast_f32x2 (__m256 __O, __mmask8 __M, __m128 __A)
968{
963static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
964_mm256_mask_broadcast_f32x2(__m256 __O, __mmask8 __M, __m128 __A) {
969965 return (__m256)__builtin_ia32_selectps_256((__mmask8)__M,
970966 (__v8sf)_mm256_broadcast_f32x2(__A),
971967 (__v8sf)__O);
972968}
973969
974static __inline__ __m256 __DEFAULT_FN_ATTRS256
975_mm256_maskz_broadcast_f32x2 (__mmask8 __M, __m128 __A)
976{
970static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
971_mm256_maskz_broadcast_f32x2(__mmask8 __M, __m128 __A) {
977972 return (__m256)__builtin_ia32_selectps_256((__mmask8)__M,
978973 (__v8sf)_mm256_broadcast_f32x2(__A),
979974 (__v8sf)_mm256_setzero_ps());
980975}
981976
982static __inline__ __m256d __DEFAULT_FN_ATTRS256
983_mm256_broadcast_f64x2(__m128d __A)
984{
977static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
978_mm256_broadcast_f64x2(__m128d __A) {
985979 return (__m256d)__builtin_shufflevector((__v2df)__A, (__v2df)__A,
986980 0, 1, 0, 1);
987981}
988982
989static __inline__ __m256d __DEFAULT_FN_ATTRS256
990_mm256_mask_broadcast_f64x2(__m256d __O, __mmask8 __M, __m128d __A)
991{
983static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
984_mm256_mask_broadcast_f64x2(__m256d __O, __mmask8 __M, __m128d __A) {
992985 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__M,
993986 (__v4df)_mm256_broadcast_f64x2(__A),
994987 (__v4df)__O);
995988}
996989
997static __inline__ __m256d __DEFAULT_FN_ATTRS256
998_mm256_maskz_broadcast_f64x2 (__mmask8 __M, __m128d __A)
999{
990static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
991_mm256_maskz_broadcast_f64x2(__mmask8 __M, __m128d __A) {
1000992 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__M,
1001993 (__v4df)_mm256_broadcast_f64x2(__A),
1002994 (__v4df)_mm256_setzero_pd());
1003995}
1004996
1005static __inline__ __m128i __DEFAULT_FN_ATTRS128
1006_mm_broadcast_i32x2 (__m128i __A)
1007{
997static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
998_mm_broadcast_i32x2(__m128i __A) {
1008999 return (__m128i)__builtin_shufflevector((__v4si)__A, (__v4si)__A,
10091000 0, 1, 0, 1);
10101001}
10111002
1012static __inline__ __m128i __DEFAULT_FN_ATTRS128
1013_mm_mask_broadcast_i32x2 (__m128i __O, __mmask8 __M, __m128i __A)
1014{
1003static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1004_mm_mask_broadcast_i32x2(__m128i __O, __mmask8 __M, __m128i __A) {
10151005 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
10161006 (__v4si)_mm_broadcast_i32x2(__A),
10171007 (__v4si)__O);
10181008}
10191009
1020static __inline__ __m128i __DEFAULT_FN_ATTRS128
1021_mm_maskz_broadcast_i32x2 (__mmask8 __M, __m128i __A)
1022{
1010static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1011_mm_maskz_broadcast_i32x2(__mmask8 __M, __m128i __A) {
10231012 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
10241013 (__v4si)_mm_broadcast_i32x2(__A),
10251014 (__v4si)_mm_setzero_si128());
10261015}
10271016
1028static __inline__ __m256i __DEFAULT_FN_ATTRS256
1029_mm256_broadcast_i32x2 (__m128i __A)
1030{
1017static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1018_mm256_broadcast_i32x2(__m128i __A) {
10311019 return (__m256i)__builtin_shufflevector((__v4si)__A, (__v4si)__A,
10321020 0, 1, 0, 1, 0, 1, 0, 1);
10331021}
10341022
1035static __inline__ __m256i __DEFAULT_FN_ATTRS256
1036_mm256_mask_broadcast_i32x2 (__m256i __O, __mmask8 __M, __m128i __A)
1037{
1023static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1024_mm256_mask_broadcast_i32x2(__m256i __O, __mmask8 __M, __m128i __A) {
10381025 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
10391026 (__v8si)_mm256_broadcast_i32x2(__A),
10401027 (__v8si)__O);
10411028}
10421029
1043static __inline__ __m256i __DEFAULT_FN_ATTRS256
1044_mm256_maskz_broadcast_i32x2 (__mmask8 __M, __m128i __A)
1045{
1030static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1031_mm256_maskz_broadcast_i32x2(__mmask8 __M, __m128i __A) {
10461032 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
10471033 (__v8si)_mm256_broadcast_i32x2(__A),
10481034 (__v8si)_mm256_setzero_si256());
10491035}
10501036
1051static __inline__ __m256i __DEFAULT_FN_ATTRS256
1052_mm256_broadcast_i64x2(__m128i __A)
1053{
1037static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1038_mm256_broadcast_i64x2(__m128i __A) {
10541039 return (__m256i)__builtin_shufflevector((__v2di)__A, (__v2di)__A,
10551040 0, 1, 0, 1);
10561041}
10571042
1058static __inline__ __m256i __DEFAULT_FN_ATTRS256
1059_mm256_mask_broadcast_i64x2(__m256i __O, __mmask8 __M, __m128i __A)
1060{
1043static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1044_mm256_mask_broadcast_i64x2(__m256i __O, __mmask8 __M, __m128i __A) {
10611045 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
10621046 (__v4di)_mm256_broadcast_i64x2(__A),
10631047 (__v4di)__O);
10641048}
10651049
1066static __inline__ __m256i __DEFAULT_FN_ATTRS256
1067_mm256_maskz_broadcast_i64x2 (__mmask8 __M, __m128i __A)
1068{
1050static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1051_mm256_maskz_broadcast_i64x2(__mmask8 __M, __m128i __A) {
10691052 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
10701053 (__v4di)_mm256_broadcast_i64x2(__A),
10711054 (__v4di)_mm256_setzero_si256());
10721055}
10731056
1074#define _mm256_extractf64x2_pd(A, imm) \
1075 ((__m128d)__builtin_ia32_extractf64x2_256_mask((__v4df)(__m256d)(A), \
1076 (int)(imm), \
1077 (__v2df)_mm_undefined_pd(), \
1078 (__mmask8)-1))
1057#define _mm256_extractf64x2_pd(A, imm) \
1058 ((__m128d)__builtin_ia32_extractf64x2_256_mask( \
1059 (__v4df)(__m256d)(A), (int)(imm), (__v2df)_mm_setzero_pd(), \
1060 (__mmask8) - 1))
10791061
10801062#define _mm256_mask_extractf64x2_pd(W, U, A, imm) \
10811063 ((__m128d)__builtin_ia32_extractf64x2_256_mask((__v4df)(__m256d)(A), \
......@@ -1089,11 +1071,10 @@ _mm256_maskz_broadcast_i64x2 (__mmask8 __M, __m128i __A)
10891071 (__v2df)_mm_setzero_pd(), \
10901072 (__mmask8)(U)))
10911073
1092#define _mm256_extracti64x2_epi64(A, imm) \
1093 ((__m128i)__builtin_ia32_extracti64x2_256_mask((__v4di)(__m256i)(A), \
1094 (int)(imm), \
1095 (__v2di)_mm_undefined_si128(), \
1096 (__mmask8)-1))
1074#define _mm256_extracti64x2_epi64(A, imm) \
1075 ((__m128i)__builtin_ia32_extracti64x2_256_mask( \
1076 (__v4di)(__m256i)(A), (int)(imm), (__v2di)_mm_setzero_si128(), \
1077 (__mmask8) - 1))
10971078
10981079#define _mm256_mask_extracti64x2_epi64(W, U, A, imm) \
10991080 ((__m128i)__builtin_ia32_extracti64x2_256_mask((__v4di)(__m256i)(A), \
......@@ -1169,5 +1150,7 @@ _mm256_maskz_broadcast_i64x2 (__mmask8 __M, __m128i __A)
11691150
11701151#undef __DEFAULT_FN_ATTRS128
11711152#undef __DEFAULT_FN_ATTRS256
1153#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
1154#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
11721155
11731156#endif
lib/include/avx512vlfp16intrin.h+130-111
......@@ -19,51 +19,64 @@
1919/* Define the default attributes for the functions in this file. */
2020#define __DEFAULT_FN_ATTRS256 \
2121 __attribute__((__always_inline__, __nodebug__, \
22 __target__("avx512fp16,avx512vl,no-evex512"), \
22 __target__("avx512fp16,avx512vl"), \
2323 __min_vector_width__(256)))
2424#define __DEFAULT_FN_ATTRS128 \
2525 __attribute__((__always_inline__, __nodebug__, \
26 __target__("avx512fp16,avx512vl,no-evex512"), \
26 __target__("avx512fp16,avx512vl"), \
2727 __min_vector_width__(128)))
2828
29static __inline__ _Float16 __DEFAULT_FN_ATTRS128 _mm_cvtsh_h(__m128h __a) {
29#if defined(__cplusplus) && (__cplusplus >= 201103L)
30#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
31#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
32#else
33#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
34#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
35#endif
36
37static __inline__ _Float16 __DEFAULT_FN_ATTRS128_CONSTEXPR
38_mm_cvtsh_h(__m128h __a) {
3039 return __a[0];
3140}
3241
33static __inline__ _Float16 __DEFAULT_FN_ATTRS256 _mm256_cvtsh_h(__m256h __a) {
42static __inline__ _Float16 __DEFAULT_FN_ATTRS256_CONSTEXPR
43_mm256_cvtsh_h(__m256h __a) {
3444 return __a[0];
3545}
3646
37static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_set_sh(_Float16 __h) {
47static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
48_mm_set_sh(_Float16 __h) {
3849 return __extension__(__m128h){__h, 0, 0, 0, 0, 0, 0, 0};
3950}
4051
41static __inline __m128h __DEFAULT_FN_ATTRS128 _mm_set1_ph(_Float16 __h) {
52static __inline __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
53_mm_set1_ph(_Float16 __h) {
4254 return (__m128h)(__v8hf){__h, __h, __h, __h, __h, __h, __h, __h};
4355}
4456
45static __inline __m256h __DEFAULT_FN_ATTRS256 _mm256_set1_ph(_Float16 __h) {
57static __inline __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
58_mm256_set1_ph(_Float16 __h) {
4659 return (__m256h)(__v16hf){__h, __h, __h, __h, __h, __h, __h, __h,
4760 __h, __h, __h, __h, __h, __h, __h, __h};
4861}
4962
50static __inline __m128h __DEFAULT_FN_ATTRS128
63static __inline __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
5164_mm_set_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, _Float16 __h4,
5265 _Float16 __h5, _Float16 __h6, _Float16 __h7, _Float16 __h8) {
5366 return (__m128h)(__v8hf){__h8, __h7, __h6, __h5, __h4, __h3, __h2, __h1};
5467}
5568
56static __inline __m256h __DEFAULT_FN_ATTRS256
69static __inline __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
5770_mm256_set1_pch(_Float16 _Complex h) {
5871 return (__m256h)_mm256_set1_ps(__builtin_bit_cast(float, h));
5972}
6073
61static __inline __m128h __DEFAULT_FN_ATTRS128
74static __inline __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
6275_mm_set1_pch(_Float16 _Complex h) {
6376 return (__m128h)_mm_set1_ps(__builtin_bit_cast(float, h));
6477}
6578
66static __inline __m256h __DEFAULT_FN_ATTRS256
79static __inline __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
6780_mm256_set_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, _Float16 __h4,
6881 _Float16 __h5, _Float16 __h6, _Float16 __h7, _Float16 __h8,
6982 _Float16 __h9, _Float16 __h10, _Float16 __h11, _Float16 __h12,
......@@ -73,13 +86,20 @@ _mm256_set_ph(_Float16 __h1, _Float16 __h2, _Float16 __h3, _Float16 __h4,
7386 __h4, __h3, __h2, __h1};
7487}
7588
76#define _mm_setr_ph(h1, h2, h3, h4, h5, h6, h7, h8) \
77 _mm_set_ph((h8), (h7), (h6), (h5), (h4), (h3), (h2), (h1))
89static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
90_mm_setr_ph(_Float16 e0, _Float16 e1, _Float16 e2, _Float16 e3, _Float16 e4,
91 _Float16 e5, _Float16 e6, _Float16 e7) {
92 return _mm_set_ph(e7, e6, e5, e4, e3, e2, e1, e0);
93}
7894
79#define _mm256_setr_ph(h1, h2, h3, h4, h5, h6, h7, h8, h9, h10, h11, h12, h13, \
80 h14, h15, h16) \
81 _mm256_set_ph((h16), (h15), (h14), (h13), (h12), (h11), (h10), (h9), (h8), \
82 (h7), (h6), (h5), (h4), (h3), (h2), (h1))
95static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
96_mm256_setr_ph(_Float16 e0, _Float16 e1, _Float16 e2, _Float16 e3, _Float16 e4,
97 _Float16 e5, _Float16 e6, _Float16 e7, _Float16 e8, _Float16 e9,
98 _Float16 e10, _Float16 e11, _Float16 e12, _Float16 e13,
99 _Float16 e14, _Float16 e15) {
100 return _mm256_set_ph(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3,
101 e2, e1, e0);
102}
83103
84104static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_add_ph(__m256h __A,
85105 __m256h __B) {
......@@ -229,12 +249,12 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_maskz_div_ph(__mmask8 __U,
229249 (__v8hf)_mm_setzero_ph());
230250}
231251
232static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_min_ph(__m256h __A,
233 __m256h __B) {
252static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
253_mm256_min_ph(__m256h __A, __m256h __B) {
234254 return (__m256h)__builtin_ia32_minph256((__v16hf)__A, (__v16hf)__B);
235255}
236256
237static __inline__ __m256h __DEFAULT_FN_ATTRS256
257static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
238258_mm256_mask_min_ph(__m256h __W, __mmask16 __U, __m256h __A, __m256h __B) {
239259 return (__m256h)__builtin_ia32_selectph_256(
240260 (__mmask16)__U,
......@@ -242,7 +262,7 @@ _mm256_mask_min_ph(__m256h __W, __mmask16 __U, __m256h __A, __m256h __B) {
242262 (__v16hf)__W);
243263}
244264
245static __inline__ __m256h __DEFAULT_FN_ATTRS256
265static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
246266_mm256_maskz_min_ph(__mmask16 __U, __m256h __A, __m256h __B) {
247267 return (__m256h)__builtin_ia32_selectph_256(
248268 (__mmask16)__U,
......@@ -250,34 +270,31 @@ _mm256_maskz_min_ph(__mmask16 __U, __m256h __A, __m256h __B) {
250270 (__v16hf)_mm256_setzero_ph());
251271}
252272
253static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_min_ph(__m128h __A,
254 __m128h __B) {
273static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
274_mm_min_ph(__m128h __A, __m128h __B) {
255275 return (__m128h)__builtin_ia32_minph128((__v8hf)__A, (__v8hf)__B);
256276}
257277
258static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_min_ph(__m128h __W,
259 __mmask8 __U,
260 __m128h __A,
261 __m128h __B) {
278static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
279_mm_mask_min_ph(__m128h __W, __mmask8 __U, __m128h __A, __m128h __B) {
262280 return (__m128h)__builtin_ia32_selectph_128(
263281 (__mmask8)__U, (__v8hf)__builtin_ia32_minph128((__v8hf)__A, (__v8hf)__B),
264282 (__v8hf)__W);
265283}
266284
267static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_maskz_min_ph(__mmask8 __U,
268 __m128h __A,
269 __m128h __B) {
285static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
286_mm_maskz_min_ph(__mmask8 __U, __m128h __A, __m128h __B) {
270287 return (__m128h)__builtin_ia32_selectph_128(
271288 (__mmask8)__U, (__v8hf)__builtin_ia32_minph128((__v8hf)__A, (__v8hf)__B),
272289 (__v8hf)_mm_setzero_ph());
273290}
274291
275static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_max_ph(__m256h __A,
276 __m256h __B) {
292static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
293_mm256_max_ph(__m256h __A, __m256h __B) {
277294 return (__m256h)__builtin_ia32_maxph256((__v16hf)__A, (__v16hf)__B);
278295}
279296
280static __inline__ __m256h __DEFAULT_FN_ATTRS256
297static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
281298_mm256_mask_max_ph(__m256h __W, __mmask16 __U, __m256h __A, __m256h __B) {
282299 return (__m256h)__builtin_ia32_selectph_256(
283300 (__mmask16)__U,
......@@ -285,7 +302,7 @@ _mm256_mask_max_ph(__m256h __W, __mmask16 __U, __m256h __A, __m256h __B) {
285302 (__v16hf)__W);
286303}
287304
288static __inline__ __m256h __DEFAULT_FN_ATTRS256
305static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
289306_mm256_maskz_max_ph(__mmask16 __U, __m256h __A, __m256h __B) {
290307 return (__m256h)__builtin_ia32_selectph_256(
291308 (__mmask16)__U,
......@@ -293,33 +310,32 @@ _mm256_maskz_max_ph(__mmask16 __U, __m256h __A, __m256h __B) {
293310 (__v16hf)_mm256_setzero_ph());
294311}
295312
296static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_max_ph(__m128h __A,
297 __m128h __B) {
313static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
314_mm_max_ph(__m128h __A, __m128h __B) {
298315 return (__m128h)__builtin_ia32_maxph128((__v8hf)__A, (__v8hf)__B);
299316}
300317
301static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_max_ph(__m128h __W,
302 __mmask8 __U,
303 __m128h __A,
304 __m128h __B) {
318static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
319_mm_mask_max_ph(__m128h __W, __mmask8 __U, __m128h __A, __m128h __B) {
305320 return (__m128h)__builtin_ia32_selectph_128(
306321 (__mmask8)__U, (__v8hf)__builtin_ia32_maxph128((__v8hf)__A, (__v8hf)__B),
307322 (__v8hf)__W);
308323}
309324
310static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_maskz_max_ph(__mmask8 __U,
311 __m128h __A,
312 __m128h __B) {
325static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
326_mm_maskz_max_ph(__mmask8 __U, __m128h __A, __m128h __B) {
313327 return (__m128h)__builtin_ia32_selectph_128(
314328 (__mmask8)__U, (__v8hf)__builtin_ia32_maxph128((__v8hf)__A, (__v8hf)__B),
315329 (__v8hf)_mm_setzero_ph());
316330}
317331
318static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_abs_ph(__m256h __A) {
332static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
333_mm256_abs_ph(__m256h __A) {
319334 return (__m256h)_mm256_and_epi32(_mm256_set1_epi32(0x7FFF7FFF), (__m256i)__A);
320335}
321336
322static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_abs_ph(__m128h __A) {
337static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
338_mm_abs_ph(__m128h __A) {
323339 return (__m128h)_mm_and_epi32(_mm_set1_epi32(0x7FFF7FFF), (__m128i)__A);
324340}
325341
......@@ -601,7 +617,7 @@ _mm256_maskz_scalef_ph(__mmask16 __U, __m256h __A, __m256h __B) {
601617 (__mmask16)(U)))
602618
603619static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_sqrt_ph(__m128h __a) {
604 return __builtin_ia32_sqrtph((__v8hf)__a);
620 return __builtin_elementwise_sqrt(__a);
605621}
606622
607623static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_sqrt_ph(__m128h __W,
......@@ -618,7 +634,7 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_maskz_sqrt_ph(__mmask8 __U,
618634}
619635
620636static __inline __m256h __DEFAULT_FN_ATTRS256 _mm256_sqrt_ph(__m256h __a) {
621 return (__m256h)__builtin_ia32_sqrtph256((__v16hf)__a);
637 return __builtin_elementwise_sqrt(__a);
622638}
623639
624640static __inline__ __m256h __DEFAULT_FN_ATTRS256
......@@ -790,34 +806,35 @@ _mm256_maskz_cvttph_epi16(__mmask16 __U, __m256h __A) {
790806 (__v16hf)__A, (__v16hi)_mm256_setzero_si256(), (__mmask16)__U);
791807}
792808
793static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_cvtepi16_ph(__m128i __A) {
809static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
810_mm_cvtepi16_ph(__m128i __A) {
794811 return (__m128h) __builtin_convertvector((__v8hi)__A, __v8hf);
795812}
796813
797static __inline__ __m128h __DEFAULT_FN_ATTRS128
814static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
798815_mm_mask_cvtepi16_ph(__m128h __W, __mmask8 __U, __m128i __A) {
799816 return (__m128h)__builtin_ia32_selectph_128(
800817 (__mmask8)__U, (__v8hf)_mm_cvtepi16_ph(__A), (__v8hf)__W);
801818}
802819
803static __inline__ __m128h __DEFAULT_FN_ATTRS128
820static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
804821_mm_maskz_cvtepi16_ph(__mmask8 __U, __m128i __A) {
805822 return (__m128h)__builtin_ia32_selectph_128(
806823 (__mmask8)__U, (__v8hf)_mm_cvtepi16_ph(__A), (__v8hf)_mm_setzero_ph());
807824}
808825
809static __inline__ __m256h __DEFAULT_FN_ATTRS256
826static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
810827_mm256_cvtepi16_ph(__m256i __A) {
811828 return (__m256h) __builtin_convertvector((__v16hi)__A, __v16hf);
812829}
813830
814static __inline__ __m256h __DEFAULT_FN_ATTRS256
831static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
815832_mm256_mask_cvtepi16_ph(__m256h __W, __mmask16 __U, __m256i __A) {
816833 return (__m256h)__builtin_ia32_selectph_256(
817834 (__mmask16)__U, (__v16hf)_mm256_cvtepi16_ph(__A), (__v16hf)__W);
818835}
819836
820static __inline__ __m256h __DEFAULT_FN_ATTRS256
837static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
821838_mm256_maskz_cvtepi16_ph(__mmask16 __U, __m256i __A) {
822839 return (__m256h)__builtin_ia32_selectph_256((__mmask16)__U,
823840 (__v16hf)_mm256_cvtepi16_ph(__A),
......@@ -894,34 +911,35 @@ _mm256_maskz_cvttph_epu16(__mmask16 __U, __m256h __A) {
894911 (__v16hf)__A, (__v16hu)_mm256_setzero_si256(), (__mmask16)__U);
895912}
896913
897static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_cvtepu16_ph(__m128i __A) {
914static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
915_mm_cvtepu16_ph(__m128i __A) {
898916 return (__m128h) __builtin_convertvector((__v8hu)__A, __v8hf);
899917}
900918
901static __inline__ __m128h __DEFAULT_FN_ATTRS128
919static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
902920_mm_mask_cvtepu16_ph(__m128h __W, __mmask8 __U, __m128i __A) {
903921 return (__m128h)__builtin_ia32_selectph_128(
904922 (__mmask8)__U, (__v8hf)_mm_cvtepu16_ph(__A), (__v8hf)__W);
905923}
906924
907static __inline__ __m128h __DEFAULT_FN_ATTRS128
925static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
908926_mm_maskz_cvtepu16_ph(__mmask8 __U, __m128i __A) {
909927 return (__m128h)__builtin_ia32_selectph_128(
910928 (__mmask8)__U, (__v8hf)_mm_cvtepu16_ph(__A), (__v8hf)_mm_setzero_ph());
911929}
912930
913static __inline__ __m256h __DEFAULT_FN_ATTRS256
931static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
914932_mm256_cvtepu16_ph(__m256i __A) {
915933 return (__m256h) __builtin_convertvector((__v16hu)__A, __v16hf);
916934}
917935
918static __inline__ __m256h __DEFAULT_FN_ATTRS256
936static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
919937_mm256_mask_cvtepu16_ph(__m256h __W, __mmask16 __U, __m256i __A) {
920938 return (__m256h)__builtin_ia32_selectph_256(
921939 (__mmask16)__U, (__v16hf)_mm256_cvtepu16_ph(__A), (__v16hf)__W);
922940}
923941
924static __inline__ __m256h __DEFAULT_FN_ATTRS256
942static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
925943_mm256_maskz_cvtepu16_ph(__mmask16 __U, __m256i __A) {
926944 return (__m256h)__builtin_ia32_selectph_256((__mmask16)__U,
927945 (__v16hf)_mm256_cvtepu16_ph(__A),
......@@ -1015,18 +1033,18 @@ _mm_maskz_cvtepi32_ph(__mmask8 __U, __m128i __A) {
10151033 (__v4si)__A, (__v8hf)_mm_setzero_ph(), (__mmask8)__U);
10161034}
10171035
1018static __inline__ __m128h __DEFAULT_FN_ATTRS256
1036static __inline__ __m128h __DEFAULT_FN_ATTRS256_CONSTEXPR
10191037_mm256_cvtepi32_ph(__m256i __A) {
10201038 return (__m128h) __builtin_convertvector((__v8si)__A, __v8hf);
10211039}
10221040
1023static __inline__ __m128h __DEFAULT_FN_ATTRS256
1041static __inline__ __m128h __DEFAULT_FN_ATTRS256_CONSTEXPR
10241042_mm256_mask_cvtepi32_ph(__m128h __W, __mmask8 __U, __m256i __A) {
10251043 return (__m128h)__builtin_ia32_selectph_128(
10261044 (__mmask8)__U, (__v8hf)_mm256_cvtepi32_ph(__A), (__v8hf)__W);
10271045}
10281046
1029static __inline__ __m128h __DEFAULT_FN_ATTRS256
1047static __inline__ __m128h __DEFAULT_FN_ATTRS256_CONSTEXPR
10301048_mm256_maskz_cvtepi32_ph(__mmask8 __U, __m256i __A) {
10311049 return (__m128h)__builtin_ia32_selectph_128(
10321050 (__mmask8)__U, (__v8hf)_mm256_cvtepi32_ph(__A), (__v8hf)_mm_setzero_ph());
......@@ -1049,18 +1067,18 @@ _mm_maskz_cvtepu32_ph(__mmask8 __U, __m128i __A) {
10491067 (__v4su)__A, (__v8hf)_mm_setzero_ph(), (__mmask8)__U);
10501068}
10511069
1052static __inline__ __m128h __DEFAULT_FN_ATTRS256
1070static __inline__ __m128h __DEFAULT_FN_ATTRS256_CONSTEXPR
10531071_mm256_cvtepu32_ph(__m256i __A) {
10541072 return (__m128h) __builtin_convertvector((__v8su)__A, __v8hf);
10551073}
10561074
1057static __inline__ __m128h __DEFAULT_FN_ATTRS256
1075static __inline__ __m128h __DEFAULT_FN_ATTRS256_CONSTEXPR
10581076_mm256_mask_cvtepu32_ph(__m128h __W, __mmask8 __U, __m256i __A) {
10591077 return (__m128h)__builtin_ia32_selectph_128(
10601078 (__mmask8)__U, (__v8hf)_mm256_cvtepu32_ph(__A), (__v8hf)__W);
10611079}
10621080
1063static __inline__ __m128h __DEFAULT_FN_ATTRS256
1081static __inline__ __m128h __DEFAULT_FN_ATTRS256_CONSTEXPR
10641082_mm256_maskz_cvtepu32_ph(__mmask8 __U, __m256i __A) {
10651083 return (__m128h)__builtin_ia32_selectph_128(
10661084 (__mmask8)__U, (__v8hf)_mm256_cvtepu32_ph(__A), (__v8hf)_mm_setzero_ph());
......@@ -1419,8 +1437,8 @@ _mm256_maskz_cvtxps_ph(__mmask8 __U, __m256 __A) {
14191437static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_fmadd_ph(__m128h __A,
14201438 __m128h __B,
14211439 __m128h __C) {
1422 return (__m128h)__builtin_ia32_vfmaddph((__v8hf)__A, (__v8hf)__B,
1423 (__v8hf)__C);
1440 return (__m128h)__builtin_elementwise_fma((__v8hf)__A, (__v8hf)__B,
1441 (__v8hf)__C);
14241442}
14251443
14261444static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_fmadd_ph(__m128h __A,
......@@ -1429,7 +1447,7 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_fmadd_ph(__m128h __A,
14291447 __m128h __C) {
14301448 return (__m128h)__builtin_ia32_selectph_128(
14311449 (__mmask8)__U,
1432 __builtin_ia32_vfmaddph((__v8hf)__A, (__v8hf)__B, (__v8hf)__C),
1450 __builtin_elementwise_fma((__v8hf)__A, (__v8hf)__B, (__v8hf)__C),
14331451 (__v8hf)__A);
14341452}
14351453
......@@ -1437,7 +1455,7 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128
14371455_mm_mask3_fmadd_ph(__m128h __A, __m128h __B, __m128h __C, __mmask8 __U) {
14381456 return (__m128h)__builtin_ia32_selectph_128(
14391457 (__mmask8)__U,
1440 __builtin_ia32_vfmaddph((__v8hf)__A, (__v8hf)__B, (__v8hf)__C),
1458 __builtin_elementwise_fma((__v8hf)__A, (__v8hf)__B, (__v8hf)__C),
14411459 (__v8hf)__C);
14421460}
14431461
......@@ -1445,15 +1463,15 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128
14451463_mm_maskz_fmadd_ph(__mmask8 __U, __m128h __A, __m128h __B, __m128h __C) {
14461464 return (__m128h)__builtin_ia32_selectph_128(
14471465 (__mmask8)__U,
1448 __builtin_ia32_vfmaddph((__v8hf)__A, (__v8hf)__B, (__v8hf)__C),
1466 __builtin_elementwise_fma((__v8hf)__A, (__v8hf)__B, (__v8hf)__C),
14491467 (__v8hf)_mm_setzero_ph());
14501468}
14511469
14521470static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_fmsub_ph(__m128h __A,
14531471 __m128h __B,
14541472 __m128h __C) {
1455 return (__m128h)__builtin_ia32_vfmaddph((__v8hf)__A, (__v8hf)__B,
1456 -(__v8hf)__C);
1473 return (__m128h)__builtin_elementwise_fma((__v8hf)__A, (__v8hf)__B,
1474 -(__v8hf)__C);
14571475}
14581476
14591477static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_fmsub_ph(__m128h __A,
......@@ -1476,7 +1494,7 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128
14761494_mm_mask3_fnmadd_ph(__m128h __A, __m128h __B, __m128h __C, __mmask8 __U) {
14771495 return (__m128h)__builtin_ia32_selectph_128(
14781496 (__mmask8)__U,
1479 __builtin_ia32_vfmaddph(-(__v8hf)__A, (__v8hf)__B, (__v8hf)__C),
1497 __builtin_elementwise_fma(-(__v8hf)__A, (__v8hf)__B, (__v8hf)__C),
14801498 (__v8hf)__C);
14811499}
14821500
......@@ -1484,7 +1502,7 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128
14841502_mm_maskz_fnmadd_ph(__mmask8 __U, __m128h __A, __m128h __B, __m128h __C) {
14851503 return (__m128h)__builtin_ia32_selectph_128(
14861504 (__mmask8)__U,
1487 __builtin_ia32_vfmaddph(-(__v8hf)__A, (__v8hf)__B, (__v8hf)__C),
1505 __builtin_elementwise_fma(-(__v8hf)__A, (__v8hf)__B, (__v8hf)__C),
14881506 (__v8hf)_mm_setzero_ph());
14891507}
14901508
......@@ -1492,22 +1510,22 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128
14921510_mm_maskz_fnmsub_ph(__mmask8 __U, __m128h __A, __m128h __B, __m128h __C) {
14931511 return (__m128h)__builtin_ia32_selectph_128(
14941512 (__mmask8)__U,
1495 __builtin_ia32_vfmaddph(-(__v8hf)__A, (__v8hf)__B, -(__v8hf)__C),
1513 __builtin_elementwise_fma(-(__v8hf)__A, (__v8hf)__B, -(__v8hf)__C),
14961514 (__v8hf)_mm_setzero_ph());
14971515}
14981516
14991517static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_fmadd_ph(__m256h __A,
15001518 __m256h __B,
15011519 __m256h __C) {
1502 return (__m256h)__builtin_ia32_vfmaddph256((__v16hf)__A, (__v16hf)__B,
1503 (__v16hf)__C);
1520 return (__m256h)__builtin_elementwise_fma((__v16hf)__A, (__v16hf)__B,
1521 (__v16hf)__C);
15041522}
15051523
15061524static __inline__ __m256h __DEFAULT_FN_ATTRS256
15071525_mm256_mask_fmadd_ph(__m256h __A, __mmask16 __U, __m256h __B, __m256h __C) {
15081526 return (__m256h)__builtin_ia32_selectph_256(
15091527 (__mmask16)__U,
1510 __builtin_ia32_vfmaddph256((__v16hf)__A, (__v16hf)__B, (__v16hf)__C),
1528 __builtin_elementwise_fma((__v16hf)__A, (__v16hf)__B, (__v16hf)__C),
15111529 (__v16hf)__A);
15121530}
15131531
......@@ -1515,7 +1533,7 @@ static __inline__ __m256h __DEFAULT_FN_ATTRS256
15151533_mm256_mask3_fmadd_ph(__m256h __A, __m256h __B, __m256h __C, __mmask16 __U) {
15161534 return (__m256h)__builtin_ia32_selectph_256(
15171535 (__mmask16)__U,
1518 __builtin_ia32_vfmaddph256((__v16hf)__A, (__v16hf)__B, (__v16hf)__C),
1536 __builtin_elementwise_fma((__v16hf)__A, (__v16hf)__B, (__v16hf)__C),
15191537 (__v16hf)__C);
15201538}
15211539
......@@ -1523,22 +1541,22 @@ static __inline__ __m256h __DEFAULT_FN_ATTRS256
15231541_mm256_maskz_fmadd_ph(__mmask16 __U, __m256h __A, __m256h __B, __m256h __C) {
15241542 return (__m256h)__builtin_ia32_selectph_256(
15251543 (__mmask16)__U,
1526 __builtin_ia32_vfmaddph256((__v16hf)__A, (__v16hf)__B, (__v16hf)__C),
1544 __builtin_elementwise_fma((__v16hf)__A, (__v16hf)__B, (__v16hf)__C),
15271545 (__v16hf)_mm256_setzero_ph());
15281546}
15291547
15301548static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_fmsub_ph(__m256h __A,
15311549 __m256h __B,
15321550 __m256h __C) {
1533 return (__m256h)__builtin_ia32_vfmaddph256((__v16hf)__A, (__v16hf)__B,
1534 -(__v16hf)__C);
1551 return (__m256h)__builtin_elementwise_fma((__v16hf)__A, (__v16hf)__B,
1552 -(__v16hf)__C);
15351553}
15361554
15371555static __inline__ __m256h __DEFAULT_FN_ATTRS256
15381556_mm256_mask_fmsub_ph(__m256h __A, __mmask16 __U, __m256h __B, __m256h __C) {
15391557 return (__m256h)__builtin_ia32_selectph_256(
15401558 (__mmask16)__U,
1541 __builtin_ia32_vfmaddph256((__v16hf)__A, (__v16hf)__B, -(__v16hf)__C),
1559 __builtin_elementwise_fma((__v16hf)__A, (__v16hf)__B, -(__v16hf)__C),
15421560 (__v16hf)__A);
15431561}
15441562
......@@ -1546,7 +1564,7 @@ static __inline__ __m256h __DEFAULT_FN_ATTRS256
15461564_mm256_maskz_fmsub_ph(__mmask16 __U, __m256h __A, __m256h __B, __m256h __C) {
15471565 return (__m256h)__builtin_ia32_selectph_256(
15481566 (__mmask16)__U,
1549 __builtin_ia32_vfmaddph256((__v16hf)__A, (__v16hf)__B, -(__v16hf)__C),
1567 __builtin_elementwise_fma((__v16hf)__A, (__v16hf)__B, -(__v16hf)__C),
15501568 (__v16hf)_mm256_setzero_ph());
15511569}
15521570
......@@ -1554,7 +1572,7 @@ static __inline__ __m256h __DEFAULT_FN_ATTRS256
15541572_mm256_mask3_fnmadd_ph(__m256h __A, __m256h __B, __m256h __C, __mmask16 __U) {
15551573 return (__m256h)__builtin_ia32_selectph_256(
15561574 (__mmask16)__U,
1557 __builtin_ia32_vfmaddph256(-(__v16hf)__A, (__v16hf)__B, (__v16hf)__C),
1575 __builtin_elementwise_fma(-(__v16hf)__A, (__v16hf)__B, (__v16hf)__C),
15581576 (__v16hf)__C);
15591577}
15601578
......@@ -1562,7 +1580,7 @@ static __inline__ __m256h __DEFAULT_FN_ATTRS256
15621580_mm256_maskz_fnmadd_ph(__mmask16 __U, __m256h __A, __m256h __B, __m256h __C) {
15631581 return (__m256h)__builtin_ia32_selectph_256(
15641582 (__mmask16)__U,
1565 __builtin_ia32_vfmaddph256(-(__v16hf)__A, (__v16hf)__B, (__v16hf)__C),
1583 __builtin_elementwise_fma(-(__v16hf)__A, (__v16hf)__B, (__v16hf)__C),
15661584 (__v16hf)_mm256_setzero_ph());
15671585}
15681586
......@@ -1570,7 +1588,7 @@ static __inline__ __m256h __DEFAULT_FN_ATTRS256
15701588_mm256_maskz_fnmsub_ph(__mmask16 __U, __m256h __A, __m256h __B, __m256h __C) {
15711589 return (__m256h)__builtin_ia32_selectph_256(
15721590 (__mmask16)__U,
1573 __builtin_ia32_vfmaddph256(-(__v16hf)__A, (__v16hf)__B, -(__v16hf)__C),
1591 __builtin_elementwise_fma(-(__v16hf)__A, (__v16hf)__B, -(__v16hf)__C),
15741592 (__v16hf)_mm256_setzero_ph());
15751593}
15761594
......@@ -1684,7 +1702,7 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128
16841702_mm_mask3_fmsub_ph(__m128h __A, __m128h __B, __m128h __C, __mmask8 __U) {
16851703 return (__m128h)__builtin_ia32_selectph_128(
16861704 (__mmask8)__U,
1687 __builtin_ia32_vfmaddph((__v8hf)__A, (__v8hf)__B, -(__v8hf)__C),
1705 __builtin_elementwise_fma((__v8hf)__A, (__v8hf)__B, -(__v8hf)__C),
16881706 (__v8hf)__C);
16891707}
16901708
......@@ -1692,7 +1710,7 @@ static __inline__ __m256h __DEFAULT_FN_ATTRS256
16921710_mm256_mask3_fmsub_ph(__m256h __A, __m256h __B, __m256h __C, __mmask16 __U) {
16931711 return (__m256h)__builtin_ia32_selectph_256(
16941712 (__mmask16)__U,
1695 __builtin_ia32_vfmaddph256((__v16hf)__A, (__v16hf)__B, -(__v16hf)__C),
1713 __builtin_elementwise_fma((__v16hf)__A, (__v16hf)__B, -(__v16hf)__C),
16961714 (__v16hf)__C);
16971715}
16981716
......@@ -1715,45 +1733,45 @@ _mm256_mask3_fmsubadd_ph(__m256h __A, __m256h __B, __m256h __C, __mmask16 __U) {
17151733static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_fnmadd_ph(__m128h __A,
17161734 __m128h __B,
17171735 __m128h __C) {
1718 return (__m128h)__builtin_ia32_vfmaddph((__v8hf)__A, -(__v8hf)__B,
1719 (__v8hf)__C);
1736 return (__m128h)__builtin_elementwise_fma((__v8hf)__A, -(__v8hf)__B,
1737 (__v8hf)__C);
17201738}
17211739
17221740static __inline__ __m128h __DEFAULT_FN_ATTRS128
17231741_mm_mask_fnmadd_ph(__m128h __A, __mmask8 __U, __m128h __B, __m128h __C) {
17241742 return (__m128h)__builtin_ia32_selectph_128(
17251743 (__mmask8)__U,
1726 __builtin_ia32_vfmaddph((__v8hf)__A, -(__v8hf)__B, (__v8hf)__C),
1744 __builtin_elementwise_fma((__v8hf)__A, -(__v8hf)__B, (__v8hf)__C),
17271745 (__v8hf)__A);
17281746}
17291747
17301748static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_fnmadd_ph(__m256h __A,
17311749 __m256h __B,
17321750 __m256h __C) {
1733 return (__m256h)__builtin_ia32_vfmaddph256((__v16hf)__A, -(__v16hf)__B,
1734 (__v16hf)__C);
1751 return (__m256h)__builtin_elementwise_fma((__v16hf)__A, -(__v16hf)__B,
1752 (__v16hf)__C);
17351753}
17361754
17371755static __inline__ __m256h __DEFAULT_FN_ATTRS256
17381756_mm256_mask_fnmadd_ph(__m256h __A, __mmask16 __U, __m256h __B, __m256h __C) {
17391757 return (__m256h)__builtin_ia32_selectph_256(
17401758 (__mmask16)__U,
1741 __builtin_ia32_vfmaddph256((__v16hf)__A, -(__v16hf)__B, (__v16hf)__C),
1759 __builtin_elementwise_fma((__v16hf)__A, -(__v16hf)__B, (__v16hf)__C),
17421760 (__v16hf)__A);
17431761}
17441762
17451763static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_fnmsub_ph(__m128h __A,
17461764 __m128h __B,
17471765 __m128h __C) {
1748 return (__m128h)__builtin_ia32_vfmaddph((__v8hf)__A, -(__v8hf)__B,
1749 -(__v8hf)__C);
1766 return (__m128h)__builtin_elementwise_fma((__v8hf)__A, -(__v8hf)__B,
1767 -(__v8hf)__C);
17501768}
17511769
17521770static __inline__ __m128h __DEFAULT_FN_ATTRS128
17531771_mm_mask_fnmsub_ph(__m128h __A, __mmask8 __U, __m128h __B, __m128h __C) {
17541772 return (__m128h)__builtin_ia32_selectph_128(
17551773 (__mmask8)__U,
1756 __builtin_ia32_vfmaddph((__v8hf)__A, -(__v8hf)__B, -(__v8hf)__C),
1774 __builtin_elementwise_fma((__v8hf)__A, -(__v8hf)__B, -(__v8hf)__C),
17571775 (__v8hf)__A);
17581776}
17591777
......@@ -1761,22 +1779,22 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128
17611779_mm_mask3_fnmsub_ph(__m128h __A, __m128h __B, __m128h __C, __mmask8 __U) {
17621780 return (__m128h)__builtin_ia32_selectph_128(
17631781 (__mmask8)__U,
1764 __builtin_ia32_vfmaddph((__v8hf)__A, -(__v8hf)__B, -(__v8hf)__C),
1782 __builtin_elementwise_fma((__v8hf)__A, -(__v8hf)__B, -(__v8hf)__C),
17651783 (__v8hf)__C);
17661784}
17671785
17681786static __inline__ __m256h __DEFAULT_FN_ATTRS256 _mm256_fnmsub_ph(__m256h __A,
17691787 __m256h __B,
17701788 __m256h __C) {
1771 return (__m256h)__builtin_ia32_vfmaddph256((__v16hf)__A, -(__v16hf)__B,
1772 -(__v16hf)__C);
1789 return (__m256h)__builtin_elementwise_fma((__v16hf)__A, -(__v16hf)__B,
1790 -(__v16hf)__C);
17731791}
17741792
17751793static __inline__ __m256h __DEFAULT_FN_ATTRS256
17761794_mm256_mask_fnmsub_ph(__m256h __A, __mmask16 __U, __m256h __B, __m256h __C) {
17771795 return (__m256h)__builtin_ia32_selectph_256(
17781796 (__mmask16)__U,
1779 __builtin_ia32_vfmaddph256((__v16hf)__A, -(__v16hf)__B, -(__v16hf)__C),
1797 __builtin_elementwise_fma((__v16hf)__A, -(__v16hf)__B, -(__v16hf)__C),
17801798 (__v16hf)__A);
17811799}
17821800
......@@ -1784,7 +1802,7 @@ static __inline__ __m256h __DEFAULT_FN_ATTRS256
17841802_mm256_mask3_fnmsub_ph(__m256h __A, __m256h __B, __m256h __C, __mmask16 __U) {
17851803 return (__m256h)__builtin_ia32_selectph_256(
17861804 (__mmask16)__U,
1787 __builtin_ia32_vfmaddph256((__v16hf)__A, -(__v16hf)__B, -(__v16hf)__C),
1805 __builtin_elementwise_fma((__v16hf)__A, -(__v16hf)__B, -(__v16hf)__C),
17881806 (__v16hf)__C);
17891807}
17901808
......@@ -1974,37 +1992,36 @@ _mm256_maskz_fmadd_pch(__mmask8 __U, __m256h __A, __m256h __B, __m256h __C) {
19741992 (__v8sf)__C, (__mmask8)__U);
19751993}
19761994
1977static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_mask_blend_ph(__mmask8 __U,
1978 __m128h __A,
1979 __m128h __W) {
1995static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
1996_mm_mask_blend_ph(__mmask8 __U, __m128h __A, __m128h __W) {
19801997 return (__m128h)__builtin_ia32_selectph_128((__mmask8)__U, (__v8hf)__W,
19811998 (__v8hf)__A);
19821999}
19832000
1984static __inline__ __m256h __DEFAULT_FN_ATTRS256
2001static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
19852002_mm256_mask_blend_ph(__mmask16 __U, __m256h __A, __m256h __W) {
19862003 return (__m256h)__builtin_ia32_selectph_256((__mmask16)__U, (__v16hf)__W,
19872004 (__v16hf)__A);
19882005}
19892006
1990static __inline__ __m128h __DEFAULT_FN_ATTRS128
2007static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
19912008_mm_permutex2var_ph(__m128h __A, __m128i __I, __m128h __B) {
19922009 return (__m128h)__builtin_ia32_vpermi2varhi128((__v8hi)__A, (__v8hi)__I,
19932010 (__v8hi)__B);
19942011}
19952012
1996static __inline__ __m256h __DEFAULT_FN_ATTRS256
2013static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
19972014_mm256_permutex2var_ph(__m256h __A, __m256i __I, __m256h __B) {
19982015 return (__m256h)__builtin_ia32_vpermi2varhi256((__v16hi)__A, (__v16hi)__I,
19992016 (__v16hi)__B);
20002017}
20012018
2002static __inline__ __m128h __DEFAULT_FN_ATTRS128
2019static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
20032020_mm_permutexvar_ph(__m128i __A, __m128h __B) {
20042021 return (__m128h)__builtin_ia32_permvarhi128((__v8hi)__B, (__v8hi)__A);
20052022}
20062023
2007static __inline__ __m256h __DEFAULT_FN_ATTRS256
2024static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
20082025_mm256_permutexvar_ph(__m256i __A, __m256h __B) {
20092026 return (__m256h)__builtin_ia32_permvarhi256((__v16hi)__B, (__v16hi)__A);
20102027}
......@@ -2066,6 +2083,8 @@ _mm_reduce_min_ph(__m128h __V) {
20662083
20672084#undef __DEFAULT_FN_ATTRS128
20682085#undef __DEFAULT_FN_ATTRS256
2086#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
2087#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
20692088
20702089#endif
20712090#endif
lib/include/avx512vlintrin.h+945-1299
......@@ -15,14 +15,20 @@
1515#define __AVX512VLINTRIN_H
1616
1717#define __DEFAULT_FN_ATTRS128 \
18 __attribute__((__always_inline__, __nodebug__, \
19 __target__("avx512vl,no-evex512"), \
18 __attribute__((__always_inline__, __nodebug__, __target__("avx512vl"), \
2019 __min_vector_width__(128)))
2120#define __DEFAULT_FN_ATTRS256 \
22 __attribute__((__always_inline__, __nodebug__, \
23 __target__("avx512vl,no-evex512"), \
21 __attribute__((__always_inline__, __nodebug__, __target__("avx512vl"), \
2422 __min_vector_width__(256)))
2523
24#if defined(__cplusplus) && (__cplusplus >= 201103L)
25#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
26#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
27#else
28#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
29#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
30#endif
31
2632typedef short __v2hi __attribute__((__vector_size__(4)));
2733typedef char __v4qi __attribute__((__vector_size__(4)));
2834typedef char __v2qi __attribute__((__vector_size__(2)));
......@@ -229,209 +235,183 @@ typedef char __v2qi __attribute__((__vector_size__(2)));
229235#define _mm256_mask_cmpneq_epu64_mask(k, A, B) \
230236 _mm256_mask_cmp_epu64_mask((k), (A), (B), _MM_CMPINT_NE)
231237
232static __inline__ __m256i __DEFAULT_FN_ATTRS256
233_mm256_mask_add_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
234{
238static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
239_mm256_mask_add_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
235240 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
236241 (__v8si)_mm256_add_epi32(__A, __B),
237242 (__v8si)__W);
238243}
239244
240static __inline__ __m256i __DEFAULT_FN_ATTRS256
241_mm256_maskz_add_epi32(__mmask8 __U, __m256i __A, __m256i __B)
242{
245static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
246_mm256_maskz_add_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
243247 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
244248 (__v8si)_mm256_add_epi32(__A, __B),
245249 (__v8si)_mm256_setzero_si256());
246250}
247251
248static __inline__ __m256i __DEFAULT_FN_ATTRS256
249_mm256_mask_add_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
250{
252static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
253_mm256_mask_add_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
251254 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
252255 (__v4di)_mm256_add_epi64(__A, __B),
253256 (__v4di)__W);
254257}
255258
256static __inline__ __m256i __DEFAULT_FN_ATTRS256
257_mm256_maskz_add_epi64(__mmask8 __U, __m256i __A, __m256i __B)
258{
259static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
260_mm256_maskz_add_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
259261 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
260262 (__v4di)_mm256_add_epi64(__A, __B),
261263 (__v4di)_mm256_setzero_si256());
262264}
263265
264static __inline__ __m256i __DEFAULT_FN_ATTRS256
265_mm256_mask_sub_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
266{
266static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
267_mm256_mask_sub_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
267268 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
268269 (__v8si)_mm256_sub_epi32(__A, __B),
269270 (__v8si)__W);
270271}
271272
272static __inline__ __m256i __DEFAULT_FN_ATTRS256
273_mm256_maskz_sub_epi32(__mmask8 __U, __m256i __A, __m256i __B)
274{
273static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
274_mm256_maskz_sub_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
275275 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
276276 (__v8si)_mm256_sub_epi32(__A, __B),
277277 (__v8si)_mm256_setzero_si256());
278278}
279279
280static __inline__ __m256i __DEFAULT_FN_ATTRS256
281_mm256_mask_sub_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
282{
280static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
281_mm256_mask_sub_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
283282 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
284283 (__v4di)_mm256_sub_epi64(__A, __B),
285284 (__v4di)__W);
286285}
287286
288static __inline__ __m256i __DEFAULT_FN_ATTRS256
289_mm256_maskz_sub_epi64(__mmask8 __U, __m256i __A, __m256i __B)
290{
287static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
288_mm256_maskz_sub_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
291289 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
292290 (__v4di)_mm256_sub_epi64(__A, __B),
293291 (__v4di)_mm256_setzero_si256());
294292}
295293
296static __inline__ __m128i __DEFAULT_FN_ATTRS128
297_mm_mask_add_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
298{
294static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
295_mm_mask_add_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
299296 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
300297 (__v4si)_mm_add_epi32(__A, __B),
301298 (__v4si)__W);
302299}
303300
304static __inline__ __m128i __DEFAULT_FN_ATTRS128
305_mm_maskz_add_epi32(__mmask8 __U, __m128i __A, __m128i __B)
306{
301static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
302_mm_maskz_add_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
307303 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
308304 (__v4si)_mm_add_epi32(__A, __B),
309305 (__v4si)_mm_setzero_si128());
310306}
311307
312static __inline__ __m128i __DEFAULT_FN_ATTRS128
313_mm_mask_add_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
314{
308static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
309_mm_mask_add_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
315310 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
316311 (__v2di)_mm_add_epi64(__A, __B),
317312 (__v2di)__W);
318313}
319314
320static __inline__ __m128i __DEFAULT_FN_ATTRS128
321_mm_maskz_add_epi64(__mmask8 __U, __m128i __A, __m128i __B)
322{
315static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
316_mm_maskz_add_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
323317 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
324318 (__v2di)_mm_add_epi64(__A, __B),
325319 (__v2di)_mm_setzero_si128());
326320}
327321
328static __inline__ __m128i __DEFAULT_FN_ATTRS128
329_mm_mask_sub_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
330{
322static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
323_mm_mask_sub_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
331324 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
332325 (__v4si)_mm_sub_epi32(__A, __B),
333326 (__v4si)__W);
334327}
335328
336static __inline__ __m128i __DEFAULT_FN_ATTRS128
337_mm_maskz_sub_epi32(__mmask8 __U, __m128i __A, __m128i __B)
338{
329static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
330_mm_maskz_sub_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
339331 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
340332 (__v4si)_mm_sub_epi32(__A, __B),
341333 (__v4si)_mm_setzero_si128());
342334}
343335
344static __inline__ __m128i __DEFAULT_FN_ATTRS128
345_mm_mask_sub_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
346{
336static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
337_mm_mask_sub_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
347338 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
348339 (__v2di)_mm_sub_epi64(__A, __B),
349340 (__v2di)__W);
350341}
351342
352static __inline__ __m128i __DEFAULT_FN_ATTRS128
353_mm_maskz_sub_epi64(__mmask8 __U, __m128i __A, __m128i __B)
354{
343static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
344_mm_maskz_sub_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
355345 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
356346 (__v2di)_mm_sub_epi64(__A, __B),
357347 (__v2di)_mm_setzero_si128());
358348}
359349
360static __inline__ __m256i __DEFAULT_FN_ATTRS256
361_mm256_mask_mul_epi32(__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y)
362{
350static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
351_mm256_mask_mul_epi32(__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) {
363352 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
364353 (__v4di)_mm256_mul_epi32(__X, __Y),
365354 (__v4di)__W);
366355}
367356
368static __inline__ __m256i __DEFAULT_FN_ATTRS256
369_mm256_maskz_mul_epi32(__mmask8 __M, __m256i __X, __m256i __Y)
370{
357static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
358_mm256_maskz_mul_epi32(__mmask8 __M, __m256i __X, __m256i __Y) {
371359 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
372360 (__v4di)_mm256_mul_epi32(__X, __Y),
373361 (__v4di)_mm256_setzero_si256());
374362}
375363
376static __inline__ __m128i __DEFAULT_FN_ATTRS128
377_mm_mask_mul_epi32(__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
378{
364static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
365_mm_mask_mul_epi32(__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y) {
379366 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
380367 (__v2di)_mm_mul_epi32(__X, __Y),
381368 (__v2di)__W);
382369}
383370
384static __inline__ __m128i __DEFAULT_FN_ATTRS128
385_mm_maskz_mul_epi32(__mmask8 __M, __m128i __X, __m128i __Y)
386{
371static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
372_mm_maskz_mul_epi32(__mmask8 __M, __m128i __X, __m128i __Y) {
387373 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
388374 (__v2di)_mm_mul_epi32(__X, __Y),
389375 (__v2di)_mm_setzero_si128());
390376}
391377
392static __inline__ __m256i __DEFAULT_FN_ATTRS256
393_mm256_mask_mul_epu32(__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y)
394{
378static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
379_mm256_mask_mul_epu32(__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) {
395380 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
396381 (__v4di)_mm256_mul_epu32(__X, __Y),
397382 (__v4di)__W);
398383}
399384
400static __inline__ __m256i __DEFAULT_FN_ATTRS256
401_mm256_maskz_mul_epu32(__mmask8 __M, __m256i __X, __m256i __Y)
402{
385static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
386_mm256_maskz_mul_epu32(__mmask8 __M, __m256i __X, __m256i __Y) {
403387 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
404388 (__v4di)_mm256_mul_epu32(__X, __Y),
405389 (__v4di)_mm256_setzero_si256());
406390}
407391
408static __inline__ __m128i __DEFAULT_FN_ATTRS128
409_mm_mask_mul_epu32(__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y)
410{
392static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
393_mm_mask_mul_epu32(__m128i __W, __mmask8 __M, __m128i __X, __m128i __Y) {
411394 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
412395 (__v2di)_mm_mul_epu32(__X, __Y),
413396 (__v2di)__W);
414397}
415398
416static __inline__ __m128i __DEFAULT_FN_ATTRS128
417_mm_maskz_mul_epu32(__mmask8 __M, __m128i __X, __m128i __Y)
418{
399static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
400_mm_maskz_mul_epu32(__mmask8 __M, __m128i __X, __m128i __Y) {
419401 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
420402 (__v2di)_mm_mul_epu32(__X, __Y),
421403 (__v2di)_mm_setzero_si128());
422404}
423405
424static __inline__ __m256i __DEFAULT_FN_ATTRS256
425_mm256_maskz_mullo_epi32(__mmask8 __M, __m256i __A, __m256i __B)
426{
406static __inline__ __m256i __DEFAULT_FN_ATTRS128_CONSTEXPR
407_mm256_maskz_mullo_epi32(__mmask8 __M, __m256i __A, __m256i __B) {
427408 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
428409 (__v8si)_mm256_mullo_epi32(__A, __B),
429410 (__v8si)_mm256_setzero_si256());
430411}
431412
432static __inline__ __m256i __DEFAULT_FN_ATTRS256
433_mm256_mask_mullo_epi32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B)
434{
413static __inline__ __m256i __DEFAULT_FN_ATTRS128_CONSTEXPR
414_mm256_mask_mullo_epi32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
435415 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
436416 (__v8si)_mm256_mullo_epi32(__A, __B),
437417 (__v8si)__W);
......@@ -453,9 +433,8 @@ _mm_mask_mullo_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B)
453433 (__v4si)__W);
454434}
455435
456static __inline__ __m256i __DEFAULT_FN_ATTRS256
457_mm256_and_epi32(__m256i __a, __m256i __b)
458{
436static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
437_mm256_and_epi32(__m256i __a, __m256i __b) {
459438 return (__m256i)((__v8su)__a & (__v8su)__b);
460439}
461440
......@@ -473,9 +452,8 @@ _mm256_maskz_and_epi32(__mmask8 __U, __m256i __A, __m256i __B)
473452 return (__m256i)_mm256_mask_and_epi32(_mm256_setzero_si256(), __U, __A, __B);
474453}
475454
476static __inline__ __m128i __DEFAULT_FN_ATTRS128
477_mm_and_epi32(__m128i __a, __m128i __b)
478{
455static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
456_mm_and_epi32(__m128i __a, __m128i __b) {
479457 return (__m128i)((__v4su)__a & (__v4su)__b);
480458}
481459
......@@ -896,329 +874,312 @@ _mm_maskz_xor_epi64(__mmask8 __U, __m128i __A, __m128i __B)
896874 (__v2df)(__m128d)(b), (int)(p), \
897875 (__mmask8)(m)))
898876
899static __inline__ __m128d __DEFAULT_FN_ATTRS128
900_mm_mask_fmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
901{
902 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
903 __builtin_ia32_vfmaddpd ((__v2df) __A,
904 (__v2df) __B,
905 (__v2df) __C),
906 (__v2df) __A);
877static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
878_mm_mask_fmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
879 return (__m128d)__builtin_ia32_selectpd_128(
880 (__mmask8)__U, (__v2df)_mm_fmadd_pd(__A, __B, __C), (__v2df)__A);
907881}
908882
909static __inline__ __m128d __DEFAULT_FN_ATTRS128
910_mm_mask3_fmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
911{
912 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
913 __builtin_ia32_vfmaddpd ((__v2df) __A,
914 (__v2df) __B,
915 (__v2df) __C),
916 (__v2df) __C);
883static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
884_mm_mask3_fmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
885 return (__m128d)__builtin_ia32_selectpd_128(
886 (__mmask8)__U, (__v2df)_mm_fmadd_pd(__A, __B, __C), (__v2df)__C);
917887}
918888
919static __inline__ __m128d __DEFAULT_FN_ATTRS128
920_mm_maskz_fmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
921{
922 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
923 __builtin_ia32_vfmaddpd ((__v2df) __A,
924 (__v2df) __B,
925 (__v2df) __C),
926 (__v2df)_mm_setzero_pd());
889static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
890_mm_maskz_fmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
891 return (__m128d)__builtin_ia32_selectpd_128(
892 (__mmask8)__U, (__v2df)_mm_fmadd_pd(__A, __B, __C),
893 (__v2df)_mm_setzero_pd());
927894}
928895
929static __inline__ __m128d __DEFAULT_FN_ATTRS128
930_mm_mask_fmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
931{
932 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
933 __builtin_ia32_vfmaddpd ((__v2df) __A,
934 (__v2df) __B,
935 -(__v2df) __C),
936 (__v2df) __A);
896static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
897_mm_mask_fmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
898 return (__m128d)__builtin_ia32_selectpd_128(
899 (__mmask8)__U, (__v2df)_mm_fmsub_pd(__A, __B, __C), (__v2df)__A);
937900}
938901
939static __inline__ __m128d __DEFAULT_FN_ATTRS128
940_mm_maskz_fmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
941{
942 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
943 __builtin_ia32_vfmaddpd ((__v2df) __A,
944 (__v2df) __B,
945 -(__v2df) __C),
946 (__v2df)_mm_setzero_pd());
902static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
903_mm_mask3_fmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
904 return (__m128d)__builtin_ia32_selectpd_128(
905 (__mmask8)__U, (__v2df)_mm_fmsub_pd(__A, __B, __C), (__v2df)__C);
947906}
948907
949static __inline__ __m128d __DEFAULT_FN_ATTRS128
950_mm_mask3_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
951{
952 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
953 __builtin_ia32_vfmaddpd (-(__v2df) __A,
954 (__v2df) __B,
955 (__v2df) __C),
956 (__v2df) __C);
908static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
909_mm_maskz_fmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
910 return (__m128d)__builtin_ia32_selectpd_128(
911 (__mmask8)__U, (__v2df)_mm_fmsub_pd(__A, __B, __C),
912 (__v2df)_mm_setzero_pd());
957913}
958914
959static __inline__ __m128d __DEFAULT_FN_ATTRS128
960_mm_maskz_fnmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
961{
962 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
963 __builtin_ia32_vfmaddpd (-(__v2df) __A,
964 (__v2df) __B,
965 (__v2df) __C),
966 (__v2df)_mm_setzero_pd());
915static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
916_mm_mask_fnmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
917 return (__m128d)__builtin_ia32_selectpd_128(
918 (__mmask8)__U, (__v2df)_mm_fnmadd_pd(__A, __B, __C), (__v2df)__A);
967919}
968920
969static __inline__ __m128d __DEFAULT_FN_ATTRS128
970_mm_maskz_fnmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C)
971{
972 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
973 __builtin_ia32_vfmaddpd (-(__v2df) __A,
974 (__v2df) __B,
975 -(__v2df) __C),
976 (__v2df)_mm_setzero_pd());
921static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
922_mm_mask3_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
923 return (__m128d)__builtin_ia32_selectpd_128(
924 (__mmask8)__U, (__v2df)_mm_fnmadd_pd(__A, __B, __C), (__v2df)__C);
977925}
978926
979static __inline__ __m256d __DEFAULT_FN_ATTRS256
980_mm256_mask_fmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
981{
982 return (__m256d) __builtin_ia32_selectpd_256((__mmask8) __U,
983 __builtin_ia32_vfmaddpd256 ((__v4df) __A,
984 (__v4df) __B,
985 (__v4df) __C),
986 (__v4df) __A);
927static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
928_mm_maskz_fnmadd_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
929 return (__m128d)__builtin_ia32_selectpd_128(
930 (__mmask8)__U, (__v2df)_mm_fnmadd_pd(__A, __B, __C),
931 (__v2df)_mm_setzero_pd());
987932}
988933
989static __inline__ __m256d __DEFAULT_FN_ATTRS256
990_mm256_mask3_fmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
991{
992 return (__m256d) __builtin_ia32_selectpd_256((__mmask8) __U,
993 __builtin_ia32_vfmaddpd256 ((__v4df) __A,
994 (__v4df) __B,
995 (__v4df) __C),
996 (__v4df) __C);
934static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
935_mm_mask_fnmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
936 return (__m128d)__builtin_ia32_selectpd_128(
937 (__mmask8)__U, (__v2df)_mm_fnmsub_pd(__A, __B, __C), (__v2df)__A);
997938}
998939
999static __inline__ __m256d __DEFAULT_FN_ATTRS256
1000_mm256_maskz_fmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1001{
1002 return (__m256d) __builtin_ia32_selectpd_256((__mmask8) __U,
1003 __builtin_ia32_vfmaddpd256 ((__v4df) __A,
1004 (__v4df) __B,
1005 (__v4df) __C),
1006 (__v4df)_mm256_setzero_pd());
940static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
941_mm_mask3_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U) {
942 return (__m128d)__builtin_ia32_selectpd_128(
943 (__mmask8)__U, (__v2df)_mm_fnmsub_pd(__A, __B, __C), (__v2df)__C);
1007944}
1008945
1009static __inline__ __m256d __DEFAULT_FN_ATTRS256
1010_mm256_mask_fmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1011{
1012 return (__m256d) __builtin_ia32_selectpd_256((__mmask8) __U,
1013 __builtin_ia32_vfmaddpd256 ((__v4df) __A,
1014 (__v4df) __B,
1015 -(__v4df) __C),
1016 (__v4df) __A);
946static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
947_mm_maskz_fnmsub_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128d __C) {
948 return (__m128d)__builtin_ia32_selectpd_128(
949 (__mmask8)__U, (__v2df)_mm_fnmsub_pd(__A, __B, __C),
950 (__v2df)_mm_setzero_pd());
1017951}
1018952
1019static __inline__ __m256d __DEFAULT_FN_ATTRS256
1020_mm256_maskz_fmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1021{
1022 return (__m256d) __builtin_ia32_selectpd_256((__mmask8) __U,
1023 __builtin_ia32_vfmaddpd256 ((__v4df) __A,
1024 (__v4df) __B,
1025 -(__v4df) __C),
1026 (__v4df)_mm256_setzero_pd());
953static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
954_mm256_mask_fmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
955 return (__m256d)__builtin_ia32_selectpd_256(
956 (__mmask8)__U, (__v4df)_mm256_fmadd_pd(__A, __B, __C), (__v4df)__A);
1027957}
1028958
1029static __inline__ __m256d __DEFAULT_FN_ATTRS256
1030_mm256_mask3_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1031{
1032 return (__m256d) __builtin_ia32_selectpd_256((__mmask8) __U,
1033 __builtin_ia32_vfmaddpd256 (-(__v4df) __A,
1034 (__v4df) __B,
1035 (__v4df) __C),
1036 (__v4df) __C);
959static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
960_mm256_mask3_fmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
961 return (__m256d)__builtin_ia32_selectpd_256(
962 (__mmask8)__U, (__v4df)_mm256_fmadd_pd(__A, __B, __C), (__v4df)__C);
1037963}
1038964
1039static __inline__ __m256d __DEFAULT_FN_ATTRS256
1040_mm256_maskz_fnmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1041{
1042 return (__m256d) __builtin_ia32_selectpd_256((__mmask8) __U,
1043 __builtin_ia32_vfmaddpd256 (-(__v4df) __A,
1044 (__v4df) __B,
1045 (__v4df) __C),
1046 (__v4df)_mm256_setzero_pd());
965static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
966_mm256_maskz_fmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
967 return (__m256d)__builtin_ia32_selectpd_256(
968 (__mmask8)__U, (__v4df)_mm256_fmadd_pd(__A, __B, __C),
969 (__v4df)_mm256_setzero_pd());
1047970}
1048971
1049static __inline__ __m256d __DEFAULT_FN_ATTRS256
1050_mm256_maskz_fnmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C)
1051{
1052 return (__m256d) __builtin_ia32_selectpd_256((__mmask8) __U,
1053 __builtin_ia32_vfmaddpd256 (-(__v4df) __A,
1054 (__v4df) __B,
1055 -(__v4df) __C),
1056 (__v4df)_mm256_setzero_pd());
972static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
973_mm256_mask_fmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
974 return (__m256d)__builtin_ia32_selectpd_256(
975 (__mmask8)__U, (__v4df)_mm256_fmsub_pd(__A, __B, __C), (__v4df)__A);
1057976}
1058977
1059static __inline__ __m128 __DEFAULT_FN_ATTRS128
1060_mm_mask_fmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1061{
1062 return (__m128) __builtin_ia32_selectps_128((__mmask8) __U,
1063 __builtin_ia32_vfmaddps ((__v4sf) __A,
1064 (__v4sf) __B,
1065 (__v4sf) __C),
1066 (__v4sf) __A);
978static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
979_mm256_mask3_fmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
980 return (__m256d)__builtin_ia32_selectpd_256(
981 (__mmask8)__U, (__v4df)_mm256_fmsub_pd(__A, __B, __C), (__v4df)__C);
1067982}
1068983
1069static __inline__ __m128 __DEFAULT_FN_ATTRS128
1070_mm_mask3_fmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1071{
1072 return (__m128) __builtin_ia32_selectps_128((__mmask8) __U,
1073 __builtin_ia32_vfmaddps ((__v4sf) __A,
1074 (__v4sf) __B,
1075 (__v4sf) __C),
1076 (__v4sf) __C);
984static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
985_mm256_maskz_fmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
986 return (__m256d)__builtin_ia32_selectpd_256(
987 (__mmask8)__U, (__v4df)_mm256_fmsub_pd(__A, __B, __C),
988 (__v4df)_mm256_setzero_pd());
1077989}
1078990
1079static __inline__ __m128 __DEFAULT_FN_ATTRS128
1080_mm_maskz_fmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1081{
1082 return (__m128) __builtin_ia32_selectps_128((__mmask8) __U,
1083 __builtin_ia32_vfmaddps ((__v4sf) __A,
1084 (__v4sf) __B,
1085 (__v4sf) __C),
1086 (__v4sf)_mm_setzero_ps());
991static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
992_mm256_mask_fnmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
993 return (__m256d)__builtin_ia32_selectpd_256(
994 (__mmask8)__U, (__v4df)_mm256_fnmadd_pd(__A, __B, __C), (__v4df)__A);
1087995}
1088996
1089static __inline__ __m128 __DEFAULT_FN_ATTRS128
1090_mm_mask_fmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1091{
1092 return (__m128) __builtin_ia32_selectps_128((__mmask8) __U,
1093 __builtin_ia32_vfmaddps ((__v4sf) __A,
1094 (__v4sf) __B,
1095 -(__v4sf) __C),
1096 (__v4sf) __A);
997static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
998_mm256_mask3_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
999 return (__m256d)__builtin_ia32_selectpd_256(
1000 (__mmask8)__U, (__v4df)_mm256_fnmadd_pd(__A, __B, __C), (__v4df)__C);
10971001}
10981002
1099static __inline__ __m128 __DEFAULT_FN_ATTRS128
1100_mm_maskz_fmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1101{
1102 return (__m128) __builtin_ia32_selectps_128((__mmask8) __U,
1103 __builtin_ia32_vfmaddps ((__v4sf) __A,
1104 (__v4sf) __B,
1105 -(__v4sf) __C),
1106 (__v4sf)_mm_setzero_ps());
1003static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
1004_mm256_maskz_fnmadd_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
1005 return (__m256d)__builtin_ia32_selectpd_256(
1006 (__mmask8)__U, (__v4df)_mm256_fnmadd_pd(__A, __B, __C),
1007 (__v4df)_mm256_setzero_pd());
11071008}
11081009
1109static __inline__ __m128 __DEFAULT_FN_ATTRS128
1110_mm_mask3_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1111{
1112 return (__m128) __builtin_ia32_selectps_128((__mmask8) __U,
1113 __builtin_ia32_vfmaddps (-(__v4sf) __A,
1114 (__v4sf) __B,
1115 (__v4sf) __C),
1116 (__v4sf) __C);
1010static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
1011_mm256_mask_fnmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C) {
1012 return (__m256d)__builtin_ia32_selectpd_256(
1013 (__mmask8)__U, (__v4df)_mm256_fnmsub_pd(__A, __B, __C), (__v4df)__A);
11171014}
11181015
1119static __inline__ __m128 __DEFAULT_FN_ATTRS128
1120_mm_maskz_fnmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1121{
1122 return (__m128) __builtin_ia32_selectps_128((__mmask8) __U,
1123 __builtin_ia32_vfmaddps (-(__v4sf) __A,
1124 (__v4sf) __B,
1125 (__v4sf) __C),
1126 (__v4sf)_mm_setzero_ps());
1016static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
1017_mm256_mask3_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U) {
1018 return (__m256d)__builtin_ia32_selectpd_256(
1019 (__mmask8)__U, (__v4df)_mm256_fnmsub_pd(__A, __B, __C), (__v4df)__C);
11271020}
11281021
1129static __inline__ __m128 __DEFAULT_FN_ATTRS128
1130_mm_maskz_fnmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C)
1131{
1132 return (__m128) __builtin_ia32_selectps_128((__mmask8) __U,
1133 __builtin_ia32_vfmaddps (-(__v4sf) __A,
1134 (__v4sf) __B,
1135 -(__v4sf) __C),
1136 (__v4sf)_mm_setzero_ps());
1022static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
1023_mm256_maskz_fnmsub_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256d __C) {
1024 return (__m256d)__builtin_ia32_selectpd_256(
1025 (__mmask8)__U, (__v4df)_mm256_fnmsub_pd(__A, __B, __C),
1026 (__v4df)_mm256_setzero_pd());
11371027}
11381028
1139static __inline__ __m256 __DEFAULT_FN_ATTRS256
1140_mm256_mask_fmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1141{
1142 return (__m256) __builtin_ia32_selectps_256((__mmask8) __U,
1143 __builtin_ia32_vfmaddps256 ((__v8sf) __A,
1144 (__v8sf) __B,
1145 (__v8sf) __C),
1146 (__v8sf) __A);
1029static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1030_mm_mask_fmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
1031 return (__m128)__builtin_ia32_selectps_128(
1032 (__mmask8)__U, (__v4sf)_mm_fmadd_ps(__A, __B, __C), (__v4sf)__A);
11471033}
11481034
1149static __inline__ __m256 __DEFAULT_FN_ATTRS256
1150_mm256_mask3_fmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1151{
1152 return (__m256) __builtin_ia32_selectps_256((__mmask8) __U,
1153 __builtin_ia32_vfmaddps256 ((__v8sf) __A,
1154 (__v8sf) __B,
1155 (__v8sf) __C),
1156 (__v8sf) __C);
1035static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1036_mm_mask3_fmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
1037 return (__m128)__builtin_ia32_selectps_128(
1038 (__mmask8)__U, (__v4sf)_mm_fmadd_ps(__A, __B, __C), (__v4sf)__C);
11571039}
11581040
1159static __inline__ __m256 __DEFAULT_FN_ATTRS256
1160_mm256_maskz_fmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1161{
1162 return (__m256) __builtin_ia32_selectps_256((__mmask8) __U,
1163 __builtin_ia32_vfmaddps256 ((__v8sf) __A,
1164 (__v8sf) __B,
1165 (__v8sf) __C),
1166 (__v8sf)_mm256_setzero_ps());
1041static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1042_mm_maskz_fmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
1043 return (__m128)__builtin_ia32_selectps_128(
1044 (__mmask8)__U, (__v4sf)_mm_fmadd_ps(__A, __B, __C),
1045 (__v4sf)_mm_setzero_ps());
11671046}
11681047
1169static __inline__ __m256 __DEFAULT_FN_ATTRS256
1170_mm256_mask_fmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1171{
1172 return (__m256) __builtin_ia32_selectps_256((__mmask8) __U,
1173 __builtin_ia32_vfmaddps256 ((__v8sf) __A,
1174 (__v8sf) __B,
1175 -(__v8sf) __C),
1176 (__v8sf) __A);
1048static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1049_mm_mask_fmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
1050 return (__m128)__builtin_ia32_selectps_128(
1051 (__mmask8)__U, (__v4sf)_mm_fmsub_ps(__A, __B, __C), (__v4sf)__A);
11771052}
11781053
1179static __inline__ __m256 __DEFAULT_FN_ATTRS256
1180_mm256_maskz_fmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1181{
1182 return (__m256) __builtin_ia32_selectps_256((__mmask8) __U,
1183 __builtin_ia32_vfmaddps256 ((__v8sf) __A,
1184 (__v8sf) __B,
1185 -(__v8sf) __C),
1186 (__v8sf)_mm256_setzero_ps());
1054static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1055_mm_mask3_fmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
1056 return (__m128)__builtin_ia32_selectps_128(
1057 (__mmask8)__U, (__v4sf)_mm_fmsub_ps(__A, __B, __C), (__v4sf)__C);
11871058}
11881059
1189static __inline__ __m256 __DEFAULT_FN_ATTRS256
1190_mm256_mask3_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1191{
1192 return (__m256) __builtin_ia32_selectps_256((__mmask8) __U,
1193 __builtin_ia32_vfmaddps256 (-(__v8sf) __A,
1194 (__v8sf) __B,
1195 (__v8sf) __C),
1196 (__v8sf) __C);
1060static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1061_mm_maskz_fmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
1062 return (__m128)__builtin_ia32_selectps_128(
1063 (__mmask8)__U, (__v4sf)_mm_fmsub_ps(__A, __B, __C),
1064 (__v4sf)_mm_setzero_ps());
11971065}
11981066
1199static __inline__ __m256 __DEFAULT_FN_ATTRS256
1200_mm256_maskz_fnmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1201{
1202 return (__m256) __builtin_ia32_selectps_256((__mmask8) __U,
1203 __builtin_ia32_vfmaddps256 (-(__v8sf) __A,
1204 (__v8sf) __B,
1205 (__v8sf) __C),
1206 (__v8sf)_mm256_setzero_ps());
1067static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1068_mm_mask_fnmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
1069 return (__m128)__builtin_ia32_selectps_128(
1070 (__mmask8)__U, (__v4sf)_mm_fnmadd_ps(__A, __B, __C), (__v4sf)__A);
12071071}
12081072
1209static __inline__ __m256 __DEFAULT_FN_ATTRS256
1210_mm256_maskz_fnmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
1211{
1212 return (__m256) __builtin_ia32_selectps_256((__mmask8) __U,
1213 __builtin_ia32_vfmaddps256 (-(__v8sf) __A,
1214 (__v8sf) __B,
1215 -(__v8sf) __C),
1216 (__v8sf)_mm256_setzero_ps());
1073static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1074_mm_mask3_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
1075 return (__m128)__builtin_ia32_selectps_128(
1076 (__mmask8)__U, (__v4sf)_mm_fnmadd_ps(__A, __B, __C), (__v4sf)__C);
1077}
1078
1079static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1080_mm_maskz_fnmadd_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
1081 return (__m128)__builtin_ia32_selectps_128(
1082 (__mmask8)__U, (__v4sf)_mm_fnmadd_ps(__A, __B, __C),
1083 (__v4sf)_mm_setzero_ps());
1084}
1085
1086static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1087_mm_mask_fnmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C) {
1088 return (__m128)__builtin_ia32_selectps_128(
1089 (__mmask8)__U, (__v4sf)_mm_fnmsub_ps(__A, __B, __C), (__v4sf)__A);
1090}
1091
1092static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1093_mm_mask3_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U) {
1094 return (__m128)__builtin_ia32_selectps_128(
1095 (__mmask8)__U, (__v4sf)_mm_fnmsub_ps(__A, __B, __C), (__v4sf)__C);
1096}
1097
1098static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1099_mm_maskz_fnmsub_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128 __C) {
1100 return (__m128)__builtin_ia32_selectps_128(
1101 (__mmask8)__U, (__v4sf)_mm_fnmsub_ps(__A, __B, __C),
1102 (__v4sf)_mm_setzero_ps());
1103}
1104
1105static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1106_mm256_mask_fmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
1107 return (__m256)__builtin_ia32_selectps_256(
1108 (__mmask8)__U, (__v8sf)_mm256_fmadd_ps(__A, __B, __C), (__v8sf)__A);
1109}
1110
1111static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1112_mm256_mask3_fmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
1113 return (__m256)__builtin_ia32_selectps_256(
1114 (__mmask8)__U, (__v8sf)_mm256_fmadd_ps(__A, __B, __C), (__v8sf)__C);
1115}
1116
1117static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1118_mm256_maskz_fmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
1119 return (__m256)__builtin_ia32_selectps_256(
1120 (__mmask8)__U, (__v8sf)_mm256_fmadd_ps(__A, __B, __C),
1121 (__v8sf)_mm256_setzero_ps());
1122}
1123
1124static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1125_mm256_mask_fmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
1126 return (__m256)__builtin_ia32_selectps_256(
1127 (__mmask8)__U, (__v8sf)_mm256_fmsub_ps(__A, __B, __C), (__v8sf)__A);
1128}
1129
1130static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1131_mm256_mask3_fmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
1132 return (__m256)__builtin_ia32_selectps_256(
1133 (__mmask8)__U, (__v8sf)_mm256_fmsub_ps(__A, __B, __C), (__v8sf)__C);
1134}
1135
1136static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1137_mm256_maskz_fmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
1138 return (__m256)__builtin_ia32_selectps_256(
1139 (__mmask8)__U, (__v8sf)_mm256_fmsub_ps(__A, __B, __C),
1140 (__v8sf)_mm256_setzero_ps());
1141}
1142
1143static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1144_mm256_mask_fnmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
1145 return (__m256)__builtin_ia32_selectps_256(
1146 (__mmask8)__U, (__v8sf)_mm256_fnmadd_ps(__A, __B, __C), (__v8sf)__A);
1147}
1148
1149static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1150_mm256_mask3_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
1151 return (__m256)__builtin_ia32_selectps_256(
1152 (__mmask8)__U, (__v8sf)_mm256_fnmadd_ps(__A, __B, __C), (__v8sf)__C);
1153}
1154
1155static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1156_mm256_maskz_fnmadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
1157 return (__m256)__builtin_ia32_selectps_256(
1158 (__mmask8)__U, (__v8sf)_mm256_fnmadd_ps(__A, __B, __C),
1159 (__v8sf)_mm256_setzero_ps());
1160}
1161
1162static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1163_mm256_mask_fnmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C) {
1164 return (__m256)__builtin_ia32_selectps_256(
1165 (__mmask8)__U, (__v8sf)_mm256_fnmsub_ps(__A, __B, __C), (__v8sf)__A);
1166}
1167
1168static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1169_mm256_mask3_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U) {
1170 return (__m256)__builtin_ia32_selectps_256(
1171 (__mmask8)__U, (__v8sf)_mm256_fnmsub_ps(__A, __B, __C), (__v8sf)__C);
1172}
1173
1174static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1175_mm256_maskz_fnmsub_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C) {
1176 return (__m256)__builtin_ia32_selectps_256(
1177 (__mmask8)__U, (__v8sf)_mm256_fnmsub_ps(__A, __B, __C),
1178 (__v8sf)_mm256_setzero_ps());
12171179}
12181180
12191181static __inline__ __m128d __DEFAULT_FN_ATTRS128
1220_mm_mask_fmaddsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1221{
1182_mm_mask_fmaddsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C) {
12221183 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
12231184 __builtin_ia32_vfmaddsubpd ((__v2df) __A,
12241185 (__v2df) __B,
......@@ -1417,46 +1378,6 @@ _mm256_maskz_fmsubadd_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256 __C)
14171378 (__v8sf)_mm256_setzero_ps());
14181379}
14191380
1420static __inline__ __m128d __DEFAULT_FN_ATTRS128
1421_mm_mask3_fmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1422{
1423 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
1424 __builtin_ia32_vfmaddpd ((__v2df) __A,
1425 (__v2df) __B,
1426 -(__v2df) __C),
1427 (__v2df) __C);
1428}
1429
1430static __inline__ __m256d __DEFAULT_FN_ATTRS256
1431_mm256_mask3_fmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1432{
1433 return (__m256d) __builtin_ia32_selectpd_256((__mmask8) __U,
1434 __builtin_ia32_vfmaddpd256 ((__v4df) __A,
1435 (__v4df) __B,
1436 -(__v4df) __C),
1437 (__v4df) __C);
1438}
1439
1440static __inline__ __m128 __DEFAULT_FN_ATTRS128
1441_mm_mask3_fmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1442{
1443 return (__m128) __builtin_ia32_selectps_128((__mmask8) __U,
1444 __builtin_ia32_vfmaddps ((__v4sf) __A,
1445 (__v4sf) __B,
1446 -(__v4sf) __C),
1447 (__v4sf) __C);
1448}
1449
1450static __inline__ __m256 __DEFAULT_FN_ATTRS256
1451_mm256_mask3_fmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1452{
1453 return (__m256) __builtin_ia32_selectps_256((__mmask8) __U,
1454 __builtin_ia32_vfmaddps256 ((__v8sf) __A,
1455 (__v8sf) __B,
1456 -(__v8sf) __C),
1457 (__v8sf) __C);
1458}
1459
14601381static __inline__ __m128d __DEFAULT_FN_ATTRS128
14611382_mm_mask3_fmsubadd_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
14621383{
......@@ -1497,233 +1418,113 @@ _mm256_mask3_fmsubadd_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
14971418 (__v8sf) __C);
14981419}
14991420
1500static __inline__ __m128d __DEFAULT_FN_ATTRS128
1501_mm_mask_fnmadd_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1502{
1503 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
1504 __builtin_ia32_vfmaddpd ((__v2df) __A,
1505 -(__v2df) __B,
1506 (__v2df) __C),
1507 (__v2df) __A);
1508}
1509
1510static __inline__ __m256d __DEFAULT_FN_ATTRS256
1511_mm256_mask_fnmadd_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1512{
1513 return (__m256d) __builtin_ia32_selectpd_256((__mmask8) __U,
1514 __builtin_ia32_vfmaddpd256 ((__v4df) __A,
1515 -(__v4df) __B,
1516 (__v4df) __C),
1517 (__v4df) __A);
1518}
1519
1520static __inline__ __m128 __DEFAULT_FN_ATTRS128
1521_mm_mask_fnmadd_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1522{
1523 return (__m128) __builtin_ia32_selectps_128((__mmask8) __U,
1524 __builtin_ia32_vfmaddps ((__v4sf) __A,
1525 -(__v4sf) __B,
1526 (__v4sf) __C),
1527 (__v4sf) __A);
1528}
1529
1530static __inline__ __m256 __DEFAULT_FN_ATTRS256
1531_mm256_mask_fnmadd_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1532{
1533 return (__m256) __builtin_ia32_selectps_256((__mmask8) __U,
1534 __builtin_ia32_vfmaddps256 ((__v8sf) __A,
1535 -(__v8sf) __B,
1536 (__v8sf) __C),
1537 (__v8sf) __A);
1538}
1539
1540static __inline__ __m128d __DEFAULT_FN_ATTRS128
1541_mm_mask_fnmsub_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128d __C)
1542{
1543 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
1544 __builtin_ia32_vfmaddpd ((__v2df) __A,
1545 -(__v2df) __B,
1546 -(__v2df) __C),
1547 (__v2df) __A);
1548}
1549
1550static __inline__ __m128d __DEFAULT_FN_ATTRS128
1551_mm_mask3_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C, __mmask8 __U)
1552{
1553 return (__m128d) __builtin_ia32_selectpd_128((__mmask8) __U,
1554 __builtin_ia32_vfmaddpd ((__v2df) __A,
1555 -(__v2df) __B,
1556 -(__v2df) __C),
1557 (__v2df) __C);
1558}
1559
1560static __inline__ __m256d __DEFAULT_FN_ATTRS256
1561_mm256_mask_fnmsub_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256d __C)
1562{
1563 return (__m256d) __builtin_ia32_selectpd_256((__mmask8) __U,
1564 __builtin_ia32_vfmaddpd256 ((__v4df) __A,
1565 -(__v4df) __B,
1566 -(__v4df) __C),
1567 (__v4df) __A);
1568}
1569
1570static __inline__ __m256d __DEFAULT_FN_ATTRS256
1571_mm256_mask3_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C, __mmask8 __U)
1572{
1573 return (__m256d) __builtin_ia32_selectpd_256((__mmask8) __U,
1574 __builtin_ia32_vfmaddpd256 ((__v4df) __A,
1575 -(__v4df) __B,
1576 -(__v4df) __C),
1577 (__v4df) __C);
1578}
1579
1580static __inline__ __m128 __DEFAULT_FN_ATTRS128
1581_mm_mask_fnmsub_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128 __C)
1582{
1583 return (__m128) __builtin_ia32_selectps_128((__mmask8) __U,
1584 __builtin_ia32_vfmaddps ((__v4sf) __A,
1585 -(__v4sf) __B,
1586 -(__v4sf) __C),
1587 (__v4sf) __A);
1588}
1589
1590static __inline__ __m128 __DEFAULT_FN_ATTRS128
1591_mm_mask3_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C, __mmask8 __U)
1592{
1593 return (__m128) __builtin_ia32_selectps_128((__mmask8) __U,
1594 __builtin_ia32_vfmaddps ((__v4sf) __A,
1595 -(__v4sf) __B,
1596 -(__v4sf) __C),
1597 (__v4sf) __C);
1598}
1599
1600static __inline__ __m256 __DEFAULT_FN_ATTRS256
1601_mm256_mask_fnmsub_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256 __C)
1602{
1603 return (__m256) __builtin_ia32_selectps_256((__mmask8) __U,
1604 __builtin_ia32_vfmaddps256 ((__v8sf) __A,
1605 -(__v8sf) __B,
1606 -(__v8sf) __C),
1607 (__v8sf) __A);
1608}
1609
1610static __inline__ __m256 __DEFAULT_FN_ATTRS256
1611_mm256_mask3_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C, __mmask8 __U)
1612{
1613 return (__m256) __builtin_ia32_selectps_256((__mmask8) __U,
1614 __builtin_ia32_vfmaddps256 ((__v8sf) __A,
1615 -(__v8sf) __B,
1616 -(__v8sf) __C),
1617 (__v8sf) __C);
1618}
1619
1620static __inline__ __m128d __DEFAULT_FN_ATTRS128
1421static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
16211422_mm_mask_add_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
16221423 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
16231424 (__v2df)_mm_add_pd(__A, __B),
16241425 (__v2df)__W);
16251426}
16261427
1627static __inline__ __m128d __DEFAULT_FN_ATTRS128
1428static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
16281429_mm_maskz_add_pd(__mmask8 __U, __m128d __A, __m128d __B) {
16291430 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
16301431 (__v2df)_mm_add_pd(__A, __B),
16311432 (__v2df)_mm_setzero_pd());
16321433}
16331434
1634static __inline__ __m256d __DEFAULT_FN_ATTRS256
1435static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
16351436_mm256_mask_add_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
16361437 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
16371438 (__v4df)_mm256_add_pd(__A, __B),
16381439 (__v4df)__W);
16391440}
16401441
1641static __inline__ __m256d __DEFAULT_FN_ATTRS256
1442static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
16421443_mm256_maskz_add_pd(__mmask8 __U, __m256d __A, __m256d __B) {
16431444 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
16441445 (__v4df)_mm256_add_pd(__A, __B),
16451446 (__v4df)_mm256_setzero_pd());
16461447}
16471448
1648static __inline__ __m128 __DEFAULT_FN_ATTRS128
1449static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
16491450_mm_mask_add_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
16501451 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
16511452 (__v4sf)_mm_add_ps(__A, __B),
16521453 (__v4sf)__W);
16531454}
16541455
1655static __inline__ __m128 __DEFAULT_FN_ATTRS128
1456static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
16561457_mm_maskz_add_ps(__mmask8 __U, __m128 __A, __m128 __B) {
16571458 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
16581459 (__v4sf)_mm_add_ps(__A, __B),
16591460 (__v4sf)_mm_setzero_ps());
16601461}
16611462
1662static __inline__ __m256 __DEFAULT_FN_ATTRS256
1463static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
16631464_mm256_mask_add_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
16641465 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
16651466 (__v8sf)_mm256_add_ps(__A, __B),
16661467 (__v8sf)__W);
16671468}
16681469
1669static __inline__ __m256 __DEFAULT_FN_ATTRS256
1470static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
16701471_mm256_maskz_add_ps(__mmask8 __U, __m256 __A, __m256 __B) {
16711472 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
16721473 (__v8sf)_mm256_add_ps(__A, __B),
16731474 (__v8sf)_mm256_setzero_ps());
16741475}
16751476
1676static __inline__ __m128i __DEFAULT_FN_ATTRS128
1677_mm_mask_blend_epi32 (__mmask8 __U, __m128i __A, __m128i __W) {
1477static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1478_mm_mask_blend_epi32(__mmask8 __U, __m128i __A, __m128i __W) {
16781479 return (__m128i) __builtin_ia32_selectd_128 ((__mmask8) __U,
16791480 (__v4si) __W,
16801481 (__v4si) __A);
16811482}
16821483
1683static __inline__ __m256i __DEFAULT_FN_ATTRS256
1684_mm256_mask_blend_epi32 (__mmask8 __U, __m256i __A, __m256i __W) {
1484static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1485_mm256_mask_blend_epi32(__mmask8 __U, __m256i __A, __m256i __W) {
16851486 return (__m256i) __builtin_ia32_selectd_256 ((__mmask8) __U,
16861487 (__v8si) __W,
16871488 (__v8si) __A);
16881489}
16891490
1690static __inline__ __m128d __DEFAULT_FN_ATTRS128
1691_mm_mask_blend_pd (__mmask8 __U, __m128d __A, __m128d __W) {
1491static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
1492_mm_mask_blend_pd(__mmask8 __U, __m128d __A, __m128d __W) {
16921493 return (__m128d) __builtin_ia32_selectpd_128 ((__mmask8) __U,
16931494 (__v2df) __W,
16941495 (__v2df) __A);
16951496}
16961497
1697static __inline__ __m256d __DEFAULT_FN_ATTRS256
1698_mm256_mask_blend_pd (__mmask8 __U, __m256d __A, __m256d __W) {
1498static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
1499_mm256_mask_blend_pd(__mmask8 __U, __m256d __A, __m256d __W) {
16991500 return (__m256d) __builtin_ia32_selectpd_256 ((__mmask8) __U,
17001501 (__v4df) __W,
17011502 (__v4df) __A);
17021503}
17031504
1704static __inline__ __m128 __DEFAULT_FN_ATTRS128
1705_mm_mask_blend_ps (__mmask8 __U, __m128 __A, __m128 __W) {
1505static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1506_mm_mask_blend_ps(__mmask8 __U, __m128 __A, __m128 __W) {
17061507 return (__m128) __builtin_ia32_selectps_128 ((__mmask8) __U,
17071508 (__v4sf) __W,
17081509 (__v4sf) __A);
17091510}
17101511
1711static __inline__ __m256 __DEFAULT_FN_ATTRS256
1712_mm256_mask_blend_ps (__mmask8 __U, __m256 __A, __m256 __W) {
1512static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1513_mm256_mask_blend_ps(__mmask8 __U, __m256 __A, __m256 __W) {
17131514 return (__m256) __builtin_ia32_selectps_256 ((__mmask8) __U,
17141515 (__v8sf) __W,
17151516 (__v8sf) __A);
17161517}
17171518
1718static __inline__ __m128i __DEFAULT_FN_ATTRS128
1719_mm_mask_blend_epi64 (__mmask8 __U, __m128i __A, __m128i __W) {
1519static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
1520_mm_mask_blend_epi64(__mmask8 __U, __m128i __A, __m128i __W) {
17201521 return (__m128i) __builtin_ia32_selectq_128 ((__mmask8) __U,
17211522 (__v2di) __W,
17221523 (__v2di) __A);
17231524}
17241525
1725static __inline__ __m256i __DEFAULT_FN_ATTRS256
1726_mm256_mask_blend_epi64 (__mmask8 __U, __m256i __A, __m256i __W) {
1526static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
1527_mm256_mask_blend_epi64(__mmask8 __U, __m256i __A, __m256i __W) {
17271528 return (__m256i) __builtin_ia32_selectq_256 ((__mmask8) __U,
17281529 (__v4di) __W,
17291530 (__v4di) __A);
......@@ -1905,57 +1706,57 @@ _mm256_mask_compressstoreu_epi32 (void *__P, __mmask8 __U, __m256i __A) {
19051706 (__mmask8) __U);
19061707}
19071708
1908static __inline__ __m128d __DEFAULT_FN_ATTRS128
1909_mm_mask_cvtepi32_pd (__m128d __W, __mmask8 __U, __m128i __A) {
1709static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
1710_mm_mask_cvtepi32_pd(__m128d __W, __mmask8 __U, __m128i __A) {
19101711 return (__m128d)__builtin_ia32_selectpd_128((__mmask8) __U,
19111712 (__v2df)_mm_cvtepi32_pd(__A),
19121713 (__v2df)__W);
19131714}
19141715
1915static __inline__ __m128d __DEFAULT_FN_ATTRS128
1916_mm_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) {
1716static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
1717_mm_maskz_cvtepi32_pd(__mmask8 __U, __m128i __A) {
19171718 return (__m128d)__builtin_ia32_selectpd_128((__mmask8) __U,
19181719 (__v2df)_mm_cvtepi32_pd(__A),
19191720 (__v2df)_mm_setzero_pd());
19201721}
19211722
1922static __inline__ __m256d __DEFAULT_FN_ATTRS256
1923_mm256_mask_cvtepi32_pd (__m256d __W, __mmask8 __U, __m128i __A) {
1723static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
1724_mm256_mask_cvtepi32_pd(__m256d __W, __mmask8 __U, __m128i __A) {
19241725 return (__m256d)__builtin_ia32_selectpd_256((__mmask8) __U,
19251726 (__v4df)_mm256_cvtepi32_pd(__A),
19261727 (__v4df)__W);
19271728}
19281729
1929static __inline__ __m256d __DEFAULT_FN_ATTRS256
1930_mm256_maskz_cvtepi32_pd (__mmask8 __U, __m128i __A) {
1730static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
1731_mm256_maskz_cvtepi32_pd(__mmask8 __U, __m128i __A) {
19311732 return (__m256d)__builtin_ia32_selectpd_256((__mmask8) __U,
19321733 (__v4df)_mm256_cvtepi32_pd(__A),
19331734 (__v4df)_mm256_setzero_pd());
19341735}
19351736
1936static __inline__ __m128 __DEFAULT_FN_ATTRS128
1937_mm_mask_cvtepi32_ps (__m128 __W, __mmask8 __U, __m128i __A) {
1737static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1738_mm_mask_cvtepi32_ps(__m128 __W, __mmask8 __U, __m128i __A) {
19381739 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
19391740 (__v4sf)_mm_cvtepi32_ps(__A),
19401741 (__v4sf)__W);
19411742}
19421743
1943static __inline__ __m128 __DEFAULT_FN_ATTRS128
1944_mm_maskz_cvtepi32_ps (__mmask8 __U, __m128i __A) {
1744static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1745_mm_maskz_cvtepi32_ps(__mmask8 __U, __m128i __A) {
19451746 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
19461747 (__v4sf)_mm_cvtepi32_ps(__A),
19471748 (__v4sf)_mm_setzero_ps());
19481749}
19491750
1950static __inline__ __m256 __DEFAULT_FN_ATTRS256
1951_mm256_mask_cvtepi32_ps (__m256 __W, __mmask8 __U, __m256i __A) {
1751static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1752_mm256_mask_cvtepi32_ps(__m256 __W, __mmask8 __U, __m256i __A) {
19521753 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
19531754 (__v8sf)_mm256_cvtepi32_ps(__A),
19541755 (__v8sf)__W);
19551756}
19561757
1957static __inline__ __m256 __DEFAULT_FN_ATTRS256
1958_mm256_maskz_cvtepi32_ps (__mmask8 __U, __m256i __A) {
1758static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
1759_mm256_maskz_cvtepi32_ps(__mmask8 __U, __m256i __A) {
19591760 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
19601761 (__v8sf)_mm256_cvtepi32_ps(__A),
19611762 (__v8sf)_mm256_setzero_ps());
......@@ -1990,30 +1791,30 @@ _mm256_maskz_cvtpd_epi32 (__mmask8 __U, __m256d __A) {
19901791 (__v4si)_mm_setzero_si128());
19911792}
19921793
1993static __inline__ __m128 __DEFAULT_FN_ATTRS128
1994_mm_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m128d __A) {
1794static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1795_mm_mask_cvtpd_ps(__m128 __W, __mmask8 __U, __m128d __A) {
19951796 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
19961797 (__v4sf) __W,
19971798 (__mmask8) __U);
19981799}
19991800
2000static __inline__ __m128 __DEFAULT_FN_ATTRS128
2001_mm_maskz_cvtpd_ps (__mmask8 __U, __m128d __A) {
1801static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
1802_mm_maskz_cvtpd_ps(__mmask8 __U, __m128d __A) {
20021803 return (__m128) __builtin_ia32_cvtpd2ps_mask ((__v2df) __A,
20031804 (__v4sf)
20041805 _mm_setzero_ps (),
20051806 (__mmask8) __U);
20061807}
20071808
2008static __inline__ __m128 __DEFAULT_FN_ATTRS256
2009_mm256_mask_cvtpd_ps (__m128 __W, __mmask8 __U, __m256d __A) {
1809static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
1810_mm256_mask_cvtpd_ps(__m128 __W, __mmask8 __U, __m256d __A) {
20101811 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
20111812 (__v4sf)_mm256_cvtpd_ps(__A),
20121813 (__v4sf)__W);
20131814}
20141815
2015static __inline__ __m128 __DEFAULT_FN_ATTRS256
2016_mm256_maskz_cvtpd_ps (__mmask8 __U, __m256d __A) {
1816static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
1817_mm256_maskz_cvtpd_ps(__mmask8 __U, __m256d __A) {
20171818 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
20181819 (__v4sf)_mm256_cvtpd_ps(__A),
20191820 (__v4sf)_mm_setzero_ps());
......@@ -2316,133 +2117,133 @@ _mm256_maskz_cvttps_epu32 (__mmask8 __U, __m256 __A) {
23162117 (__mmask8) __U);
23172118}
23182119
2319static __inline__ __m128d __DEFAULT_FN_ATTRS128
2320_mm_cvtepu32_pd (__m128i __A) {
2120static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2121_mm_cvtepu32_pd(__m128i __A) {
23212122 return (__m128d) __builtin_convertvector(
23222123 __builtin_shufflevector((__v4su)__A, (__v4su)__A, 0, 1), __v2df);
23232124}
23242125
2325static __inline__ __m128d __DEFAULT_FN_ATTRS128
2326_mm_mask_cvtepu32_pd (__m128d __W, __mmask8 __U, __m128i __A) {
2126static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2127_mm_mask_cvtepu32_pd(__m128d __W, __mmask8 __U, __m128i __A) {
23272128 return (__m128d)__builtin_ia32_selectpd_128((__mmask8) __U,
23282129 (__v2df)_mm_cvtepu32_pd(__A),
23292130 (__v2df)__W);
23302131}
23312132
2332static __inline__ __m128d __DEFAULT_FN_ATTRS128
2333_mm_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) {
2133static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
2134_mm_maskz_cvtepu32_pd(__mmask8 __U, __m128i __A) {
23342135 return (__m128d)__builtin_ia32_selectpd_128((__mmask8) __U,
23352136 (__v2df)_mm_cvtepu32_pd(__A),
23362137 (__v2df)_mm_setzero_pd());
23372138}
23382139
2339static __inline__ __m256d __DEFAULT_FN_ATTRS256
2340_mm256_cvtepu32_pd (__m128i __A) {
2140static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
2141_mm256_cvtepu32_pd(__m128i __A) {
23412142 return (__m256d)__builtin_convertvector((__v4su)__A, __v4df);
23422143}
23432144
2344static __inline__ __m256d __DEFAULT_FN_ATTRS256
2345_mm256_mask_cvtepu32_pd (__m256d __W, __mmask8 __U, __m128i __A) {
2145static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
2146_mm256_mask_cvtepu32_pd(__m256d __W, __mmask8 __U, __m128i __A) {
23462147 return (__m256d)__builtin_ia32_selectpd_256((__mmask8) __U,
23472148 (__v4df)_mm256_cvtepu32_pd(__A),
23482149 (__v4df)__W);
23492150}
23502151
2351static __inline__ __m256d __DEFAULT_FN_ATTRS256
2352_mm256_maskz_cvtepu32_pd (__mmask8 __U, __m128i __A) {
2152static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
2153_mm256_maskz_cvtepu32_pd(__mmask8 __U, __m128i __A) {
23532154 return (__m256d)__builtin_ia32_selectpd_256((__mmask8) __U,
23542155 (__v4df)_mm256_cvtepu32_pd(__A),
23552156 (__v4df)_mm256_setzero_pd());
23562157}
23572158
2358static __inline__ __m128 __DEFAULT_FN_ATTRS128
2359_mm_cvtepu32_ps (__m128i __A) {
2159static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2160_mm_cvtepu32_ps(__m128i __A) {
23602161 return (__m128)__builtin_convertvector((__v4su)__A, __v4sf);
23612162}
23622163
2363static __inline__ __m128 __DEFAULT_FN_ATTRS128
2364_mm_mask_cvtepu32_ps (__m128 __W, __mmask8 __U, __m128i __A) {
2164static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2165_mm_mask_cvtepu32_ps(__m128 __W, __mmask8 __U, __m128i __A) {
23652166 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
23662167 (__v4sf)_mm_cvtepu32_ps(__A),
23672168 (__v4sf)__W);
23682169}
23692170
2370static __inline__ __m128 __DEFAULT_FN_ATTRS128
2371_mm_maskz_cvtepu32_ps (__mmask8 __U, __m128i __A) {
2171static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
2172_mm_maskz_cvtepu32_ps(__mmask8 __U, __m128i __A) {
23722173 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
23732174 (__v4sf)_mm_cvtepu32_ps(__A),
23742175 (__v4sf)_mm_setzero_ps());
23752176}
23762177
2377static __inline__ __m256 __DEFAULT_FN_ATTRS256
2378_mm256_cvtepu32_ps (__m256i __A) {
2178static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
2179_mm256_cvtepu32_ps(__m256i __A) {
23792180 return (__m256)__builtin_convertvector((__v8su)__A, __v8sf);
23802181}
23812182
2382static __inline__ __m256 __DEFAULT_FN_ATTRS256
2383_mm256_mask_cvtepu32_ps (__m256 __W, __mmask8 __U, __m256i __A) {
2183static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
2184_mm256_mask_cvtepu32_ps(__m256 __W, __mmask8 __U, __m256i __A) {
23842185 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
23852186 (__v8sf)_mm256_cvtepu32_ps(__A),
23862187 (__v8sf)__W);
23872188}
23882189
2389static __inline__ __m256 __DEFAULT_FN_ATTRS256
2390_mm256_maskz_cvtepu32_ps (__mmask8 __U, __m256i __A) {
2190static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
2191_mm256_maskz_cvtepu32_ps(__mmask8 __U, __m256i __A) {
23912192 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
23922193 (__v8sf)_mm256_cvtepu32_ps(__A),
23932194 (__v8sf)_mm256_setzero_ps());
23942195}
23952196
2396static __inline__ __m128d __DEFAULT_FN_ATTRS128
2197static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
23972198_mm_mask_div_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
23982199 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
23992200 (__v2df)_mm_div_pd(__A, __B),
24002201 (__v2df)__W);
24012202}
24022203
2403static __inline__ __m128d __DEFAULT_FN_ATTRS128
2204static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
24042205_mm_maskz_div_pd(__mmask8 __U, __m128d __A, __m128d __B) {
24052206 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
24062207 (__v2df)_mm_div_pd(__A, __B),
24072208 (__v2df)_mm_setzero_pd());
24082209}
24092210
2410static __inline__ __m256d __DEFAULT_FN_ATTRS256
2211static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
24112212_mm256_mask_div_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
24122213 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
24132214 (__v4df)_mm256_div_pd(__A, __B),
24142215 (__v4df)__W);
24152216}
24162217
2417static __inline__ __m256d __DEFAULT_FN_ATTRS256
2218static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
24182219_mm256_maskz_div_pd(__mmask8 __U, __m256d __A, __m256d __B) {
24192220 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
24202221 (__v4df)_mm256_div_pd(__A, __B),
24212222 (__v4df)_mm256_setzero_pd());
24222223}
24232224
2424static __inline__ __m128 __DEFAULT_FN_ATTRS128
2225static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
24252226_mm_mask_div_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
24262227 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
24272228 (__v4sf)_mm_div_ps(__A, __B),
24282229 (__v4sf)__W);
24292230}
24302231
2431static __inline__ __m128 __DEFAULT_FN_ATTRS128
2232static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
24322233_mm_maskz_div_ps(__mmask8 __U, __m128 __A, __m128 __B) {
24332234 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
24342235 (__v4sf)_mm_div_ps(__A, __B),
24352236 (__v4sf)_mm_setzero_ps());
24362237}
24372238
2438static __inline__ __m256 __DEFAULT_FN_ATTRS256
2239static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
24392240_mm256_mask_div_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
24402241 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
24412242 (__v8sf)_mm256_div_ps(__A, __B),
24422243 (__v8sf)__W);
24432244}
24442245
2445static __inline__ __m256 __DEFAULT_FN_ATTRS256
2246static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
24462247_mm256_maskz_div_ps(__mmask8 __U, __m256 __A, __m256 __B) {
24472248 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
24482249 (__v8sf)_mm256_div_ps(__A, __B),
......@@ -2796,499 +2597,499 @@ _mm256_maskz_getexp_ps (__mmask8 __U, __m256 __A) {
27962597 (__mmask8) __U);
27972598}
27982599
2799static __inline__ __m128d __DEFAULT_FN_ATTRS128
2600static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
28002601_mm_mask_max_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
28012602 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
28022603 (__v2df)_mm_max_pd(__A, __B),
28032604 (__v2df)__W);
28042605}
28052606
2806static __inline__ __m128d __DEFAULT_FN_ATTRS128
2607static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
28072608_mm_maskz_max_pd(__mmask8 __U, __m128d __A, __m128d __B) {
28082609 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
28092610 (__v2df)_mm_max_pd(__A, __B),
28102611 (__v2df)_mm_setzero_pd());
28112612}
28122613
2813static __inline__ __m256d __DEFAULT_FN_ATTRS256
2614static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
28142615_mm256_mask_max_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
28152616 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
28162617 (__v4df)_mm256_max_pd(__A, __B),
28172618 (__v4df)__W);
28182619}
28192620
2820static __inline__ __m256d __DEFAULT_FN_ATTRS256
2621static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
28212622_mm256_maskz_max_pd(__mmask8 __U, __m256d __A, __m256d __B) {
28222623 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
28232624 (__v4df)_mm256_max_pd(__A, __B),
28242625 (__v4df)_mm256_setzero_pd());
28252626}
28262627
2827static __inline__ __m128 __DEFAULT_FN_ATTRS128
2628static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
28282629_mm_mask_max_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
28292630 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
28302631 (__v4sf)_mm_max_ps(__A, __B),
28312632 (__v4sf)__W);
28322633}
28332634
2834static __inline__ __m128 __DEFAULT_FN_ATTRS128
2635static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
28352636_mm_maskz_max_ps(__mmask8 __U, __m128 __A, __m128 __B) {
28362637 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
28372638 (__v4sf)_mm_max_ps(__A, __B),
28382639 (__v4sf)_mm_setzero_ps());
28392640}
28402641
2841static __inline__ __m256 __DEFAULT_FN_ATTRS256
2642static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
28422643_mm256_mask_max_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
28432644 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
28442645 (__v8sf)_mm256_max_ps(__A, __B),
28452646 (__v8sf)__W);
28462647}
28472648
2848static __inline__ __m256 __DEFAULT_FN_ATTRS256
2649static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
28492650_mm256_maskz_max_ps(__mmask8 __U, __m256 __A, __m256 __B) {
28502651 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
28512652 (__v8sf)_mm256_max_ps(__A, __B),
28522653 (__v8sf)_mm256_setzero_ps());
28532654}
28542655
2855static __inline__ __m128d __DEFAULT_FN_ATTRS128
2656static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
28562657_mm_mask_min_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
28572658 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
28582659 (__v2df)_mm_min_pd(__A, __B),
28592660 (__v2df)__W);
28602661}
28612662
2862static __inline__ __m128d __DEFAULT_FN_ATTRS128
2663static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
28632664_mm_maskz_min_pd(__mmask8 __U, __m128d __A, __m128d __B) {
28642665 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
28652666 (__v2df)_mm_min_pd(__A, __B),
28662667 (__v2df)_mm_setzero_pd());
28672668}
28682669
2869static __inline__ __m256d __DEFAULT_FN_ATTRS256
2670static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
28702671_mm256_mask_min_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
28712672 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
28722673 (__v4df)_mm256_min_pd(__A, __B),
28732674 (__v4df)__W);
28742675}
28752676
2876static __inline__ __m256d __DEFAULT_FN_ATTRS256
2677static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
28772678_mm256_maskz_min_pd(__mmask8 __U, __m256d __A, __m256d __B) {
28782679 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
28792680 (__v4df)_mm256_min_pd(__A, __B),
28802681 (__v4df)_mm256_setzero_pd());
28812682}
28822683
2883static __inline__ __m128 __DEFAULT_FN_ATTRS128
2684static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
28842685_mm_mask_min_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
28852686 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
28862687 (__v4sf)_mm_min_ps(__A, __B),
28872688 (__v4sf)__W);
28882689}
28892690
2890static __inline__ __m128 __DEFAULT_FN_ATTRS128
2691static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
28912692_mm_maskz_min_ps(__mmask8 __U, __m128 __A, __m128 __B) {
28922693 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
28932694 (__v4sf)_mm_min_ps(__A, __B),
28942695 (__v4sf)_mm_setzero_ps());
28952696}
28962697
2897static __inline__ __m256 __DEFAULT_FN_ATTRS256
2698static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
28982699_mm256_mask_min_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
28992700 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
29002701 (__v8sf)_mm256_min_ps(__A, __B),
29012702 (__v8sf)__W);
29022703}
29032704
2904static __inline__ __m256 __DEFAULT_FN_ATTRS256
2705static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
29052706_mm256_maskz_min_ps(__mmask8 __U, __m256 __A, __m256 __B) {
29062707 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
29072708 (__v8sf)_mm256_min_ps(__A, __B),
29082709 (__v8sf)_mm256_setzero_ps());
29092710}
29102711
2911static __inline__ __m128d __DEFAULT_FN_ATTRS128
2712static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
29122713_mm_mask_mul_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
29132714 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
29142715 (__v2df)_mm_mul_pd(__A, __B),
29152716 (__v2df)__W);
29162717}
29172718
2918static __inline__ __m128d __DEFAULT_FN_ATTRS128
2719static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
29192720_mm_maskz_mul_pd(__mmask8 __U, __m128d __A, __m128d __B) {
29202721 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
29212722 (__v2df)_mm_mul_pd(__A, __B),
29222723 (__v2df)_mm_setzero_pd());
29232724}
29242725
2925static __inline__ __m256d __DEFAULT_FN_ATTRS256
2726static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
29262727_mm256_mask_mul_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
29272728 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
29282729 (__v4df)_mm256_mul_pd(__A, __B),
29292730 (__v4df)__W);
29302731}
29312732
2932static __inline__ __m256d __DEFAULT_FN_ATTRS256
2733static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
29332734_mm256_maskz_mul_pd(__mmask8 __U, __m256d __A, __m256d __B) {
29342735 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
29352736 (__v4df)_mm256_mul_pd(__A, __B),
29362737 (__v4df)_mm256_setzero_pd());
29372738}
29382739
2939static __inline__ __m128 __DEFAULT_FN_ATTRS128
2740static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
29402741_mm_mask_mul_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
29412742 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
29422743 (__v4sf)_mm_mul_ps(__A, __B),
29432744 (__v4sf)__W);
29442745}
29452746
2946static __inline__ __m128 __DEFAULT_FN_ATTRS128
2747static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
29472748_mm_maskz_mul_ps(__mmask8 __U, __m128 __A, __m128 __B) {
29482749 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
29492750 (__v4sf)_mm_mul_ps(__A, __B),
29502751 (__v4sf)_mm_setzero_ps());
29512752}
29522753
2953static __inline__ __m256 __DEFAULT_FN_ATTRS256
2754static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
29542755_mm256_mask_mul_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
29552756 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
29562757 (__v8sf)_mm256_mul_ps(__A, __B),
29572758 (__v8sf)__W);
29582759}
29592760
2960static __inline__ __m256 __DEFAULT_FN_ATTRS256
2761static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
29612762_mm256_maskz_mul_ps(__mmask8 __U, __m256 __A, __m256 __B) {
29622763 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
29632764 (__v8sf)_mm256_mul_ps(__A, __B),
29642765 (__v8sf)_mm256_setzero_ps());
29652766}
29662767
2967static __inline__ __m128i __DEFAULT_FN_ATTRS128
2768static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
29682769_mm_mask_abs_epi32(__m128i __W, __mmask8 __U, __m128i __A) {
29692770 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
29702771 (__v4si)_mm_abs_epi32(__A),
29712772 (__v4si)__W);
29722773}
29732774
2974static __inline__ __m128i __DEFAULT_FN_ATTRS128
2775static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
29752776_mm_maskz_abs_epi32(__mmask8 __U, __m128i __A) {
29762777 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
29772778 (__v4si)_mm_abs_epi32(__A),
29782779 (__v4si)_mm_setzero_si128());
29792780}
29802781
2981static __inline__ __m256i __DEFAULT_FN_ATTRS256
2782static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
29822783_mm256_mask_abs_epi32(__m256i __W, __mmask8 __U, __m256i __A) {
29832784 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
29842785 (__v8si)_mm256_abs_epi32(__A),
29852786 (__v8si)__W);
29862787}
29872788
2988static __inline__ __m256i __DEFAULT_FN_ATTRS256
2789static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
29892790_mm256_maskz_abs_epi32(__mmask8 __U, __m256i __A) {
29902791 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
29912792 (__v8si)_mm256_abs_epi32(__A),
29922793 (__v8si)_mm256_setzero_si256());
29932794}
29942795
2995static __inline__ __m128i __DEFAULT_FN_ATTRS128
2996_mm_abs_epi64 (__m128i __A) {
2796static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2797_mm_abs_epi64(__m128i __A) {
29972798 return (__m128i)__builtin_elementwise_abs((__v2di)__A);
29982799}
29992800
3000static __inline__ __m128i __DEFAULT_FN_ATTRS128
3001_mm_mask_abs_epi64 (__m128i __W, __mmask8 __U, __m128i __A) {
2801static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2802_mm_mask_abs_epi64(__m128i __W, __mmask8 __U, __m128i __A) {
30022803 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
30032804 (__v2di)_mm_abs_epi64(__A),
30042805 (__v2di)__W);
30052806}
30062807
3007static __inline__ __m128i __DEFAULT_FN_ATTRS128
3008_mm_maskz_abs_epi64 (__mmask8 __U, __m128i __A) {
2808static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2809_mm_maskz_abs_epi64(__mmask8 __U, __m128i __A) {
30092810 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
30102811 (__v2di)_mm_abs_epi64(__A),
30112812 (__v2di)_mm_setzero_si128());
30122813}
30132814
3014static __inline__ __m256i __DEFAULT_FN_ATTRS256
3015_mm256_abs_epi64 (__m256i __A) {
2815static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2816_mm256_abs_epi64(__m256i __A) {
30162817 return (__m256i)__builtin_elementwise_abs((__v4di)__A);
30172818}
30182819
3019static __inline__ __m256i __DEFAULT_FN_ATTRS256
3020_mm256_mask_abs_epi64 (__m256i __W, __mmask8 __U, __m256i __A) {
2820static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2821_mm256_mask_abs_epi64(__m256i __W, __mmask8 __U, __m256i __A) {
30212822 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
30222823 (__v4di)_mm256_abs_epi64(__A),
30232824 (__v4di)__W);
30242825}
30252826
3026static __inline__ __m256i __DEFAULT_FN_ATTRS256
3027_mm256_maskz_abs_epi64 (__mmask8 __U, __m256i __A) {
2827static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2828_mm256_maskz_abs_epi64(__mmask8 __U, __m256i __A) {
30282829 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
30292830 (__v4di)_mm256_abs_epi64(__A),
30302831 (__v4di)_mm256_setzero_si256());
30312832}
30322833
3033static __inline__ __m128i __DEFAULT_FN_ATTRS128
2834static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
30342835_mm_maskz_max_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
30352836 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
30362837 (__v4si)_mm_max_epi32(__A, __B),
30372838 (__v4si)_mm_setzero_si128());
30382839}
30392840
3040static __inline__ __m128i __DEFAULT_FN_ATTRS128
2841static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
30412842_mm_mask_max_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
30422843 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
30432844 (__v4si)_mm_max_epi32(__A, __B),
30442845 (__v4si)__W);
30452846}
30462847
3047static __inline__ __m256i __DEFAULT_FN_ATTRS256
2848static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
30482849_mm256_maskz_max_epi32(__mmask8 __M, __m256i __A, __m256i __B) {
30492850 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
30502851 (__v8si)_mm256_max_epi32(__A, __B),
30512852 (__v8si)_mm256_setzero_si256());
30522853}
30532854
3054static __inline__ __m256i __DEFAULT_FN_ATTRS256
2855static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
30552856_mm256_mask_max_epi32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
30562857 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
30572858 (__v8si)_mm256_max_epi32(__A, __B),
30582859 (__v8si)__W);
30592860}
30602861
3061static __inline__ __m128i __DEFAULT_FN_ATTRS128
3062_mm_max_epi64 (__m128i __A, __m128i __B) {
2862static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2863_mm_max_epi64(__m128i __A, __m128i __B) {
30632864 return (__m128i)__builtin_elementwise_max((__v2di)__A, (__v2di)__B);
30642865}
30652866
3066static __inline__ __m128i __DEFAULT_FN_ATTRS128
3067_mm_maskz_max_epi64 (__mmask8 __M, __m128i __A, __m128i __B) {
2867static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2868_mm_maskz_max_epi64(__mmask8 __M, __m128i __A, __m128i __B) {
30682869 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
30692870 (__v2di)_mm_max_epi64(__A, __B),
30702871 (__v2di)_mm_setzero_si128());
30712872}
30722873
3073static __inline__ __m128i __DEFAULT_FN_ATTRS128
3074_mm_mask_max_epi64 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2874static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2875_mm_mask_max_epi64(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
30752876 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
30762877 (__v2di)_mm_max_epi64(__A, __B),
30772878 (__v2di)__W);
30782879}
30792880
3080static __inline__ __m256i __DEFAULT_FN_ATTRS256
3081_mm256_max_epi64 (__m256i __A, __m256i __B) {
2881static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2882_mm256_max_epi64(__m256i __A, __m256i __B) {
30822883 return (__m256i)__builtin_elementwise_max((__v4di)__A, (__v4di)__B);
30832884}
30842885
3085static __inline__ __m256i __DEFAULT_FN_ATTRS256
3086_mm256_maskz_max_epi64 (__mmask8 __M, __m256i __A, __m256i __B) {
2886static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2887_mm256_maskz_max_epi64(__mmask8 __M, __m256i __A, __m256i __B) {
30872888 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
30882889 (__v4di)_mm256_max_epi64(__A, __B),
30892890 (__v4di)_mm256_setzero_si256());
30902891}
30912892
3092static __inline__ __m256i __DEFAULT_FN_ATTRS256
3093_mm256_mask_max_epi64 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
2893static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2894_mm256_mask_max_epi64(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
30942895 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
30952896 (__v4di)_mm256_max_epi64(__A, __B),
30962897 (__v4di)__W);
30972898}
30982899
3099static __inline__ __m128i __DEFAULT_FN_ATTRS128
2900static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
31002901_mm_maskz_max_epu32(__mmask8 __M, __m128i __A, __m128i __B) {
31012902 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
31022903 (__v4si)_mm_max_epu32(__A, __B),
31032904 (__v4si)_mm_setzero_si128());
31042905}
31052906
3106static __inline__ __m128i __DEFAULT_FN_ATTRS128
2907static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
31072908_mm_mask_max_epu32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
31082909 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
31092910 (__v4si)_mm_max_epu32(__A, __B),
31102911 (__v4si)__W);
31112912}
31122913
3113static __inline__ __m256i __DEFAULT_FN_ATTRS256
2914static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
31142915_mm256_maskz_max_epu32(__mmask8 __M, __m256i __A, __m256i __B) {
31152916 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
31162917 (__v8si)_mm256_max_epu32(__A, __B),
31172918 (__v8si)_mm256_setzero_si256());
31182919}
31192920
3120static __inline__ __m256i __DEFAULT_FN_ATTRS256
2921static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
31212922_mm256_mask_max_epu32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
31222923 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
31232924 (__v8si)_mm256_max_epu32(__A, __B),
31242925 (__v8si)__W);
31252926}
31262927
3127static __inline__ __m128i __DEFAULT_FN_ATTRS128
3128_mm_max_epu64 (__m128i __A, __m128i __B) {
2928static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2929_mm_max_epu64(__m128i __A, __m128i __B) {
31292930 return (__m128i)__builtin_elementwise_max((__v2du)__A, (__v2du)__B);
31302931}
31312932
3132static __inline__ __m128i __DEFAULT_FN_ATTRS128
3133_mm_maskz_max_epu64 (__mmask8 __M, __m128i __A, __m128i __B) {
2933static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2934_mm_maskz_max_epu64(__mmask8 __M, __m128i __A, __m128i __B) {
31342935 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
31352936 (__v2di)_mm_max_epu64(__A, __B),
31362937 (__v2di)_mm_setzero_si128());
31372938}
31382939
3139static __inline__ __m128i __DEFAULT_FN_ATTRS128
3140_mm_mask_max_epu64 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2940static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2941_mm_mask_max_epu64(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
31412942 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
31422943 (__v2di)_mm_max_epu64(__A, __B),
31432944 (__v2di)__W);
31442945}
31452946
3146static __inline__ __m256i __DEFAULT_FN_ATTRS256
3147_mm256_max_epu64 (__m256i __A, __m256i __B) {
2947static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2948_mm256_max_epu64(__m256i __A, __m256i __B) {
31482949 return (__m256i)__builtin_elementwise_max((__v4du)__A, (__v4du)__B);
31492950}
31502951
3151static __inline__ __m256i __DEFAULT_FN_ATTRS256
3152_mm256_maskz_max_epu64 (__mmask8 __M, __m256i __A, __m256i __B) {
2952static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2953_mm256_maskz_max_epu64(__mmask8 __M, __m256i __A, __m256i __B) {
31532954 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
31542955 (__v4di)_mm256_max_epu64(__A, __B),
31552956 (__v4di)_mm256_setzero_si256());
31562957}
31572958
3158static __inline__ __m256i __DEFAULT_FN_ATTRS256
3159_mm256_mask_max_epu64 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
2959static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
2960_mm256_mask_max_epu64(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
31602961 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
31612962 (__v4di)_mm256_max_epu64(__A, __B),
31622963 (__v4di)__W);
31632964}
31642965
3165static __inline__ __m128i __DEFAULT_FN_ATTRS128
2966static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
31662967_mm_maskz_min_epi32(__mmask8 __M, __m128i __A, __m128i __B) {
31672968 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
31682969 (__v4si)_mm_min_epi32(__A, __B),
31692970 (__v4si)_mm_setzero_si128());
31702971}
31712972
3172static __inline__ __m128i __DEFAULT_FN_ATTRS128
2973static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
31732974_mm_mask_min_epi32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
31742975 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
31752976 (__v4si)_mm_min_epi32(__A, __B),
31762977 (__v4si)__W);
31772978}
31782979
3179static __inline__ __m256i __DEFAULT_FN_ATTRS256
2980static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
31802981_mm256_maskz_min_epi32(__mmask8 __M, __m256i __A, __m256i __B) {
31812982 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
31822983 (__v8si)_mm256_min_epi32(__A, __B),
31832984 (__v8si)_mm256_setzero_si256());
31842985}
31852986
3186static __inline__ __m256i __DEFAULT_FN_ATTRS256
2987static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
31872988_mm256_mask_min_epi32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
31882989 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
31892990 (__v8si)_mm256_min_epi32(__A, __B),
31902991 (__v8si)__W);
31912992}
31922993
3193static __inline__ __m128i __DEFAULT_FN_ATTRS128
3194_mm_min_epi64 (__m128i __A, __m128i __B) {
2994static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
2995_mm_min_epi64(__m128i __A, __m128i __B) {
31952996 return (__m128i)__builtin_elementwise_min((__v2di)__A, (__v2di)__B);
31962997}
31972998
3198static __inline__ __m128i __DEFAULT_FN_ATTRS128
3199_mm_mask_min_epi64 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
2999static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3000_mm_mask_min_epi64(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
32003001 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
32013002 (__v2di)_mm_min_epi64(__A, __B),
32023003 (__v2di)__W);
32033004}
32043005
3205static __inline__ __m128i __DEFAULT_FN_ATTRS128
3206_mm_maskz_min_epi64 (__mmask8 __M, __m128i __A, __m128i __B) {
3006static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3007_mm_maskz_min_epi64(__mmask8 __M, __m128i __A, __m128i __B) {
32073008 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
32083009 (__v2di)_mm_min_epi64(__A, __B),
32093010 (__v2di)_mm_setzero_si128());
32103011}
32113012
3212static __inline__ __m256i __DEFAULT_FN_ATTRS256
3213_mm256_min_epi64 (__m256i __A, __m256i __B) {
3013static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3014_mm256_min_epi64(__m256i __A, __m256i __B) {
32143015 return (__m256i)__builtin_elementwise_min((__v4di)__A, (__v4di)__B);
32153016}
32163017
3217static __inline__ __m256i __DEFAULT_FN_ATTRS256
3218_mm256_mask_min_epi64 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
3018static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3019_mm256_mask_min_epi64(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
32193020 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
32203021 (__v4di)_mm256_min_epi64(__A, __B),
32213022 (__v4di)__W);
32223023}
32233024
3224static __inline__ __m256i __DEFAULT_FN_ATTRS256
3225_mm256_maskz_min_epi64 (__mmask8 __M, __m256i __A, __m256i __B) {
3025static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3026_mm256_maskz_min_epi64(__mmask8 __M, __m256i __A, __m256i __B) {
32263027 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
32273028 (__v4di)_mm256_min_epi64(__A, __B),
32283029 (__v4di)_mm256_setzero_si256());
32293030}
32303031
3231static __inline__ __m128i __DEFAULT_FN_ATTRS128
3032static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
32323033_mm_maskz_min_epu32(__mmask8 __M, __m128i __A, __m128i __B) {
32333034 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
32343035 (__v4si)_mm_min_epu32(__A, __B),
32353036 (__v4si)_mm_setzero_si128());
32363037}
32373038
3238static __inline__ __m128i __DEFAULT_FN_ATTRS128
3039static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
32393040_mm_mask_min_epu32(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
32403041 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
32413042 (__v4si)_mm_min_epu32(__A, __B),
32423043 (__v4si)__W);
32433044}
32443045
3245static __inline__ __m256i __DEFAULT_FN_ATTRS256
3046static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
32463047_mm256_maskz_min_epu32(__mmask8 __M, __m256i __A, __m256i __B) {
32473048 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
32483049 (__v8si)_mm256_min_epu32(__A, __B),
32493050 (__v8si)_mm256_setzero_si256());
32503051}
32513052
3252static __inline__ __m256i __DEFAULT_FN_ATTRS256
3053static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
32533054_mm256_mask_min_epu32(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
32543055 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
32553056 (__v8si)_mm256_min_epu32(__A, __B),
32563057 (__v8si)__W);
32573058}
32583059
3259static __inline__ __m128i __DEFAULT_FN_ATTRS128
3260_mm_min_epu64 (__m128i __A, __m128i __B) {
3060static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3061_mm_min_epu64(__m128i __A, __m128i __B) {
32613062 return (__m128i)__builtin_elementwise_min((__v2du)__A, (__v2du)__B);
32623063}
32633064
3264static __inline__ __m128i __DEFAULT_FN_ATTRS128
3265_mm_mask_min_epu64 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
3065static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3066_mm_mask_min_epu64(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) {
32663067 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
32673068 (__v2di)_mm_min_epu64(__A, __B),
32683069 (__v2di)__W);
32693070}
32703071
3271static __inline__ __m128i __DEFAULT_FN_ATTRS128
3272_mm_maskz_min_epu64 (__mmask8 __M, __m128i __A, __m128i __B) {
3072static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
3073_mm_maskz_min_epu64(__mmask8 __M, __m128i __A, __m128i __B) {
32733074 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__M,
32743075 (__v2di)_mm_min_epu64(__A, __B),
32753076 (__v2di)_mm_setzero_si128());
32763077}
32773078
3278static __inline__ __m256i __DEFAULT_FN_ATTRS256
3279_mm256_min_epu64 (__m256i __A, __m256i __B) {
3079static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3080_mm256_min_epu64(__m256i __A, __m256i __B) {
32803081 return (__m256i)__builtin_elementwise_min((__v4du)__A, (__v4du)__B);
32813082}
32823083
3283static __inline__ __m256i __DEFAULT_FN_ATTRS256
3284_mm256_mask_min_epu64 (__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
3084static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3085_mm256_mask_min_epu64(__m256i __W, __mmask8 __M, __m256i __A, __m256i __B) {
32853086 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
32863087 (__v4di)_mm256_min_epu64(__A, __B),
32873088 (__v4di)__W);
32883089}
32893090
3290static __inline__ __m256i __DEFAULT_FN_ATTRS256
3291_mm256_maskz_min_epu64 (__mmask8 __M, __m256i __A, __m256i __B) {
3091static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
3092_mm256_maskz_min_epu64(__mmask8 __M, __m256i __A, __m256i __B) {
32923093 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
32933094 (__v4di)_mm256_min_epu64(__A, __B),
32943095 (__v4di)_mm256_setzero_si256());
......@@ -3691,69 +3492,69 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
36913492 (__v8sf)_mm256_setzero_ps());
36923493 }
36933494
3694 static __inline__ __m128d __DEFAULT_FN_ATTRS128
3495 static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
36953496 _mm_mask_sub_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
36963497 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
36973498 (__v2df)_mm_sub_pd(__A, __B),
36983499 (__v2df)__W);
36993500 }
37003501
3701 static __inline__ __m128d __DEFAULT_FN_ATTRS128
3502 static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
37023503 _mm_maskz_sub_pd(__mmask8 __U, __m128d __A, __m128d __B) {
37033504 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
37043505 (__v2df)_mm_sub_pd(__A, __B),
37053506 (__v2df)_mm_setzero_pd());
37063507 }
37073508
3708 static __inline__ __m256d __DEFAULT_FN_ATTRS256
3509 static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
37093510 _mm256_mask_sub_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
37103511 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
37113512 (__v4df)_mm256_sub_pd(__A, __B),
37123513 (__v4df)__W);
37133514 }
37143515
3715 static __inline__ __m256d __DEFAULT_FN_ATTRS256
3516 static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
37163517 _mm256_maskz_sub_pd(__mmask8 __U, __m256d __A, __m256d __B) {
37173518 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
37183519 (__v4df)_mm256_sub_pd(__A, __B),
37193520 (__v4df)_mm256_setzero_pd());
37203521 }
37213522
3722 static __inline__ __m128 __DEFAULT_FN_ATTRS128
3523 static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
37233524 _mm_mask_sub_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
37243525 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
37253526 (__v4sf)_mm_sub_ps(__A, __B),
37263527 (__v4sf)__W);
37273528 }
37283529
3729 static __inline__ __m128 __DEFAULT_FN_ATTRS128
3530 static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
37303531 _mm_maskz_sub_ps(__mmask8 __U, __m128 __A, __m128 __B) {
37313532 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
37323533 (__v4sf)_mm_sub_ps(__A, __B),
37333534 (__v4sf)_mm_setzero_ps());
37343535 }
37353536
3736 static __inline__ __m256 __DEFAULT_FN_ATTRS256
3537 static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
37373538 _mm256_mask_sub_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
37383539 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
37393540 (__v8sf)_mm256_sub_ps(__A, __B),
37403541 (__v8sf)__W);
37413542 }
37423543
3743 static __inline__ __m256 __DEFAULT_FN_ATTRS256
3544 static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
37443545 _mm256_maskz_sub_ps(__mmask8 __U, __m256 __A, __m256 __B) {
37453546 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
37463547 (__v8sf)_mm256_sub_ps(__A, __B),
37473548 (__v8sf)_mm256_setzero_ps());
37483549 }
37493550
3750 static __inline__ __m128i __DEFAULT_FN_ATTRS128
3551 static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
37513552 _mm_permutex2var_epi32(__m128i __A, __m128i __I, __m128i __B) {
37523553 return (__m128i)__builtin_ia32_vpermi2vard128((__v4si) __A, (__v4si)__I,
37533554 (__v4si)__B);
37543555 }
37553556
3756 static __inline__ __m128i __DEFAULT_FN_ATTRS128
3557 static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
37573558 _mm_mask_permutex2var_epi32(__m128i __A, __mmask8 __U, __m128i __I,
37583559 __m128i __B) {
37593560 return (__m128i)__builtin_ia32_selectd_128(__U,
......@@ -3761,7 +3562,7 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
37613562 (__v4si)__A);
37623563 }
37633564
3764 static __inline__ __m128i __DEFAULT_FN_ATTRS128
3565 static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
37653566 _mm_mask2_permutex2var_epi32(__m128i __A, __m128i __I, __mmask8 __U,
37663567 __m128i __B) {
37673568 return (__m128i)__builtin_ia32_selectd_128(__U,
......@@ -3769,7 +3570,7 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
37693570 (__v4si)__I);
37703571 }
37713572
3772 static __inline__ __m128i __DEFAULT_FN_ATTRS128
3573 static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
37733574 _mm_maskz_permutex2var_epi32(__mmask8 __U, __m128i __A, __m128i __I,
37743575 __m128i __B) {
37753576 return (__m128i)__builtin_ia32_selectd_128(__U,
......@@ -3777,13 +3578,13 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
37773578 (__v4si)_mm_setzero_si128());
37783579 }
37793580
3780 static __inline__ __m256i __DEFAULT_FN_ATTRS256
3581 static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
37813582 _mm256_permutex2var_epi32(__m256i __A, __m256i __I, __m256i __B) {
37823583 return (__m256i)__builtin_ia32_vpermi2vard256((__v8si)__A, (__v8si) __I,
37833584 (__v8si) __B);
37843585 }
37853586
3786 static __inline__ __m256i __DEFAULT_FN_ATTRS256
3587 static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
37873588 _mm256_mask_permutex2var_epi32(__m256i __A, __mmask8 __U, __m256i __I,
37883589 __m256i __B) {
37893590 return (__m256i)__builtin_ia32_selectd_256(__U,
......@@ -3791,7 +3592,7 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
37913592 (__v8si)__A);
37923593 }
37933594
3794 static __inline__ __m256i __DEFAULT_FN_ATTRS256
3595 static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
37953596 _mm256_mask2_permutex2var_epi32(__m256i __A, __m256i __I, __mmask8 __U,
37963597 __m256i __B) {
37973598 return (__m256i)__builtin_ia32_selectd_256(__U,
......@@ -3799,7 +3600,7 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
37993600 (__v8si)__I);
38003601 }
38013602
3802 static __inline__ __m256i __DEFAULT_FN_ATTRS256
3603 static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
38033604 _mm256_maskz_permutex2var_epi32(__mmask8 __U, __m256i __A, __m256i __I,
38043605 __m256i __B) {
38053606 return (__m256i)__builtin_ia32_selectd_256(__U,
......@@ -3807,40 +3608,43 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
38073608 (__v8si)_mm256_setzero_si256());
38083609 }
38093610
3810 static __inline__ __m128d __DEFAULT_FN_ATTRS128
3611 static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
38113612 _mm_permutex2var_pd(__m128d __A, __m128i __I, __m128d __B) {
38123613 return (__m128d)__builtin_ia32_vpermi2varpd128((__v2df)__A, (__v2di)__I,
38133614 (__v2df)__B);
38143615 }
38153616
3816 static __inline__ __m128d __DEFAULT_FN_ATTRS128
3817 _mm_mask_permutex2var_pd(__m128d __A, __mmask8 __U, __m128i __I, __m128d __B) {
3617 static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
3618 _mm_mask_permutex2var_pd(__m128d __A, __mmask8 __U, __m128i __I,
3619 __m128d __B) {
38183620 return (__m128d)__builtin_ia32_selectpd_128(__U,
38193621 (__v2df)_mm_permutex2var_pd(__A, __I, __B),
38203622 (__v2df)__A);
38213623 }
38223624
3823 static __inline__ __m128d __DEFAULT_FN_ATTRS128
3824 _mm_mask2_permutex2var_pd(__m128d __A, __m128i __I, __mmask8 __U, __m128d __B) {
3625 static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
3626 _mm_mask2_permutex2var_pd(__m128d __A, __m128i __I, __mmask8 __U,
3627 __m128d __B) {
38253628 return (__m128d)__builtin_ia32_selectpd_128(__U,
38263629 (__v2df)_mm_permutex2var_pd(__A, __I, __B),
38273630 (__v2df)(__m128d)__I);
38283631 }
38293632
3830 static __inline__ __m128d __DEFAULT_FN_ATTRS128
3831 _mm_maskz_permutex2var_pd(__mmask8 __U, __m128d __A, __m128i __I, __m128d __B) {
3633 static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
3634 _mm_maskz_permutex2var_pd(__mmask8 __U, __m128d __A, __m128i __I,
3635 __m128d __B) {
38323636 return (__m128d)__builtin_ia32_selectpd_128(__U,
38333637 (__v2df)_mm_permutex2var_pd(__A, __I, __B),
38343638 (__v2df)_mm_setzero_pd());
38353639 }
38363640
3837 static __inline__ __m256d __DEFAULT_FN_ATTRS256
3641 static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
38383642 _mm256_permutex2var_pd(__m256d __A, __m256i __I, __m256d __B) {
38393643 return (__m256d)__builtin_ia32_vpermi2varpd256((__v4df)__A, (__v4di)__I,
38403644 (__v4df)__B);
38413645 }
38423646
3843 static __inline__ __m256d __DEFAULT_FN_ATTRS256
3647 static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
38443648 _mm256_mask_permutex2var_pd(__m256d __A, __mmask8 __U, __m256i __I,
38453649 __m256d __B) {
38463650 return (__m256d)__builtin_ia32_selectpd_256(__U,
......@@ -3848,7 +3652,7 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
38483652 (__v4df)__A);
38493653 }
38503654
3851 static __inline__ __m256d __DEFAULT_FN_ATTRS256
3655 static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
38523656 _mm256_mask2_permutex2var_pd(__m256d __A, __m256i __I, __mmask8 __U,
38533657 __m256d __B) {
38543658 return (__m256d)__builtin_ia32_selectpd_256(__U,
......@@ -3856,7 +3660,7 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
38563660 (__v4df)(__m256d)__I);
38573661 }
38583662
3859 static __inline__ __m256d __DEFAULT_FN_ATTRS256
3663 static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
38603664 _mm256_maskz_permutex2var_pd(__mmask8 __U, __m256d __A, __m256i __I,
38613665 __m256d __B) {
38623666 return (__m256d)__builtin_ia32_selectpd_256(__U,
......@@ -3864,47 +3668,48 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
38643668 (__v4df)_mm256_setzero_pd());
38653669 }
38663670
3867 static __inline__ __m128 __DEFAULT_FN_ATTRS128
3671 static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
38683672 _mm_permutex2var_ps(__m128 __A, __m128i __I, __m128 __B) {
38693673 return (__m128)__builtin_ia32_vpermi2varps128((__v4sf)__A, (__v4si)__I,
38703674 (__v4sf)__B);
38713675 }
38723676
3873 static __inline__ __m128 __DEFAULT_FN_ATTRS128
3677 static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
38743678 _mm_mask_permutex2var_ps(__m128 __A, __mmask8 __U, __m128i __I, __m128 __B) {
38753679 return (__m128)__builtin_ia32_selectps_128(__U,
38763680 (__v4sf)_mm_permutex2var_ps(__A, __I, __B),
38773681 (__v4sf)__A);
38783682 }
38793683
3880 static __inline__ __m128 __DEFAULT_FN_ATTRS128
3684 static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
38813685 _mm_mask2_permutex2var_ps(__m128 __A, __m128i __I, __mmask8 __U, __m128 __B) {
38823686 return (__m128)__builtin_ia32_selectps_128(__U,
38833687 (__v4sf)_mm_permutex2var_ps(__A, __I, __B),
38843688 (__v4sf)(__m128)__I);
38853689 }
38863690
3887 static __inline__ __m128 __DEFAULT_FN_ATTRS128
3691 static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
38883692 _mm_maskz_permutex2var_ps(__mmask8 __U, __m128 __A, __m128i __I, __m128 __B) {
38893693 return (__m128)__builtin_ia32_selectps_128(__U,
38903694 (__v4sf)_mm_permutex2var_ps(__A, __I, __B),
38913695 (__v4sf)_mm_setzero_ps());
38923696 }
38933697
3894 static __inline__ __m256 __DEFAULT_FN_ATTRS256
3698 static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
38953699 _mm256_permutex2var_ps(__m256 __A, __m256i __I, __m256 __B) {
38963700 return (__m256)__builtin_ia32_vpermi2varps256((__v8sf)__A, (__v8si)__I,
38973701 (__v8sf) __B);
38983702 }
38993703
3900 static __inline__ __m256 __DEFAULT_FN_ATTRS256
3901 _mm256_mask_permutex2var_ps(__m256 __A, __mmask8 __U, __m256i __I, __m256 __B) {
3704 static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
3705 _mm256_mask_permutex2var_ps(__m256 __A, __mmask8 __U, __m256i __I,
3706 __m256 __B) {
39023707 return (__m256)__builtin_ia32_selectps_256(__U,
39033708 (__v8sf)_mm256_permutex2var_ps(__A, __I, __B),
39043709 (__v8sf)__A);
39053710 }
39063711
3907 static __inline__ __m256 __DEFAULT_FN_ATTRS256
3712 static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
39083713 _mm256_mask2_permutex2var_ps(__m256 __A, __m256i __I, __mmask8 __U,
39093714 __m256 __B) {
39103715 return (__m256)__builtin_ia32_selectps_256(__U,
......@@ -3912,7 +3717,7 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
39123717 (__v8sf)(__m256)__I);
39133718 }
39143719
3915 static __inline__ __m256 __DEFAULT_FN_ATTRS256
3720 static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
39163721 _mm256_maskz_permutex2var_ps(__mmask8 __U, __m256 __A, __m256i __I,
39173722 __m256 __B) {
39183723 return (__m256)__builtin_ia32_selectps_256(__U,
......@@ -3920,13 +3725,13 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
39203725 (__v8sf)_mm256_setzero_ps());
39213726 }
39223727
3923 static __inline__ __m128i __DEFAULT_FN_ATTRS128
3728 static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
39243729 _mm_permutex2var_epi64(__m128i __A, __m128i __I, __m128i __B) {
39253730 return (__m128i)__builtin_ia32_vpermi2varq128((__v2di)__A, (__v2di)__I,
39263731 (__v2di)__B);
39273732 }
39283733
3929 static __inline__ __m128i __DEFAULT_FN_ATTRS128
3734 static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
39303735 _mm_mask_permutex2var_epi64(__m128i __A, __mmask8 __U, __m128i __I,
39313736 __m128i __B) {
39323737 return (__m128i)__builtin_ia32_selectq_128(__U,
......@@ -3934,7 +3739,7 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
39343739 (__v2di)__A);
39353740 }
39363741
3937 static __inline__ __m128i __DEFAULT_FN_ATTRS128
3742 static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
39383743 _mm_mask2_permutex2var_epi64(__m128i __A, __m128i __I, __mmask8 __U,
39393744 __m128i __B) {
39403745 return (__m128i)__builtin_ia32_selectq_128(__U,
......@@ -3942,7 +3747,7 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
39423747 (__v2di)__I);
39433748 }
39443749
3945 static __inline__ __m128i __DEFAULT_FN_ATTRS128
3750 static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
39463751 _mm_maskz_permutex2var_epi64(__mmask8 __U, __m128i __A, __m128i __I,
39473752 __m128i __B) {
39483753 return (__m128i)__builtin_ia32_selectq_128(__U,
......@@ -3950,14 +3755,13 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
39503755 (__v2di)_mm_setzero_si128());
39513756 }
39523757
3953
3954 static __inline__ __m256i __DEFAULT_FN_ATTRS256
3758 static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
39553759 _mm256_permutex2var_epi64(__m256i __A, __m256i __I, __m256i __B) {
39563760 return (__m256i)__builtin_ia32_vpermi2varq256((__v4di)__A, (__v4di) __I,
39573761 (__v4di) __B);
39583762 }
39593763
3960 static __inline__ __m256i __DEFAULT_FN_ATTRS256
3764 static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
39613765 _mm256_mask_permutex2var_epi64(__m256i __A, __mmask8 __U, __m256i __I,
39623766 __m256i __B) {
39633767 return (__m256i)__builtin_ia32_selectq_256(__U,
......@@ -3965,7 +3769,7 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
39653769 (__v4di)__A);
39663770 }
39673771
3968 static __inline__ __m256i __DEFAULT_FN_ATTRS256
3772 static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
39693773 _mm256_mask2_permutex2var_epi64(__m256i __A, __m256i __I, __mmask8 __U,
39703774 __m256i __B) {
39713775 return (__m256i)__builtin_ia32_selectq_256(__U,
......@@ -3973,7 +3777,7 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
39733777 (__v4di)__I);
39743778 }
39753779
3976 static __inline__ __m256i __DEFAULT_FN_ATTRS256
3780 static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
39773781 _mm256_maskz_permutex2var_epi64(__mmask8 __U, __m256i __A, __m256i __I,
39783782 __m256i __B) {
39793783 return (__m256i)__builtin_ia32_selectq_256(__U,
......@@ -4355,13 +4159,13 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
43554159 (__v4di)_mm256_rol_epi64((a), (b)), \
43564160 (__v4di)_mm256_setzero_si256()))
43574161
4358static __inline__ __m128i __DEFAULT_FN_ATTRS128
4162static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
43594163_mm_rolv_epi32 (__m128i __A, __m128i __B)
43604164{
4361 return (__m128i)__builtin_ia32_prolvd128((__v4si)__A, (__v4si)__B);
4165 return (__m128i)__builtin_elementwise_fshl((__v4su)__A, (__v4su)__A, (__v4su)__B);
43624166}
43634167
4364static __inline__ __m128i __DEFAULT_FN_ATTRS128
4168static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
43654169_mm_mask_rolv_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
43664170{
43674171 return (__m128i)__builtin_ia32_selectd_128(__U,
......@@ -4369,7 +4173,7 @@ _mm_mask_rolv_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
43694173 (__v4si)__W);
43704174}
43714175
4372static __inline__ __m128i __DEFAULT_FN_ATTRS128
4176static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
43734177_mm_maskz_rolv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
43744178{
43754179 return (__m128i)__builtin_ia32_selectd_128(__U,
......@@ -4377,13 +4181,13 @@ _mm_maskz_rolv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
43774181 (__v4si)_mm_setzero_si128());
43784182}
43794183
4380static __inline__ __m256i __DEFAULT_FN_ATTRS256
4184static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
43814185_mm256_rolv_epi32 (__m256i __A, __m256i __B)
43824186{
4383 return (__m256i)__builtin_ia32_prolvd256((__v8si)__A, (__v8si)__B);
4187 return (__m256i)__builtin_elementwise_fshl((__v8su)__A, (__v8su)__A, (__v8su)__B);
43844188}
43854189
4386static __inline__ __m256i __DEFAULT_FN_ATTRS256
4190static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
43874191_mm256_mask_rolv_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
43884192{
43894193 return (__m256i)__builtin_ia32_selectd_256(__U,
......@@ -4391,7 +4195,7 @@ _mm256_mask_rolv_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
43914195 (__v8si)__W);
43924196}
43934197
4394static __inline__ __m256i __DEFAULT_FN_ATTRS256
4198static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
43954199_mm256_maskz_rolv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
43964200{
43974201 return (__m256i)__builtin_ia32_selectd_256(__U,
......@@ -4399,13 +4203,13 @@ _mm256_maskz_rolv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
43994203 (__v8si)_mm256_setzero_si256());
44004204}
44014205
4402static __inline__ __m128i __DEFAULT_FN_ATTRS128
4206static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
44034207_mm_rolv_epi64 (__m128i __A, __m128i __B)
44044208{
4405 return (__m128i)__builtin_ia32_prolvq128((__v2di)__A, (__v2di)__B);
4209 return (__m128i)__builtin_elementwise_fshl((__v2du)__A, (__v2du)__A, (__v2du)__B);
44064210}
44074211
4408static __inline__ __m128i __DEFAULT_FN_ATTRS128
4212static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
44094213_mm_mask_rolv_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
44104214{
44114215 return (__m128i)__builtin_ia32_selectq_128(__U,
......@@ -4413,7 +4217,7 @@ _mm_mask_rolv_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
44134217 (__v2di)__W);
44144218}
44154219
4416static __inline__ __m128i __DEFAULT_FN_ATTRS128
4220static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
44174221_mm_maskz_rolv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
44184222{
44194223 return (__m128i)__builtin_ia32_selectq_128(__U,
......@@ -4421,13 +4225,13 @@ _mm_maskz_rolv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
44214225 (__v2di)_mm_setzero_si128());
44224226}
44234227
4424static __inline__ __m256i __DEFAULT_FN_ATTRS256
4228static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
44254229_mm256_rolv_epi64 (__m256i __A, __m256i __B)
44264230{
4427 return (__m256i)__builtin_ia32_prolvq256((__v4di)__A, (__v4di)__B);
4231 return (__m256i)__builtin_elementwise_fshl((__v4du)__A, (__v4du)__A, (__v4du)__B);
44284232}
44294233
4430static __inline__ __m256i __DEFAULT_FN_ATTRS256
4234static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
44314235_mm256_mask_rolv_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
44324236{
44334237 return (__m256i)__builtin_ia32_selectq_256(__U,
......@@ -4435,7 +4239,7 @@ _mm256_mask_rolv_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
44354239 (__v4di)__W);
44364240}
44374241
4438static __inline__ __m256i __DEFAULT_FN_ATTRS256
4242static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
44394243_mm256_maskz_rolv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
44404244{
44414245 return (__m256i)__builtin_ia32_selectq_256(__U,
......@@ -4495,33 +4299,29 @@ _mm256_maskz_rolv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
44954299 (__v4di)_mm256_ror_epi64((a), (b)), \
44964300 (__v4di)_mm256_setzero_si256()))
44974301
4498static __inline__ __m128i __DEFAULT_FN_ATTRS128
4499_mm_mask_sll_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
4500{
4302static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
4303_mm_mask_sll_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
45014304 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
45024305 (__v4si)_mm_sll_epi32(__A, __B),
45034306 (__v4si)__W);
45044307}
45054308
4506static __inline__ __m128i __DEFAULT_FN_ATTRS128
4507_mm_maskz_sll_epi32(__mmask8 __U, __m128i __A, __m128i __B)
4508{
4309static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
4310_mm_maskz_sll_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
45094311 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
45104312 (__v4si)_mm_sll_epi32(__A, __B),
45114313 (__v4si)_mm_setzero_si128());
45124314}
45134315
4514static __inline__ __m256i __DEFAULT_FN_ATTRS256
4515_mm256_mask_sll_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B)
4516{
4316static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4317_mm256_mask_sll_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) {
45174318 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
45184319 (__v8si)_mm256_sll_epi32(__A, __B),
45194320 (__v8si)__W);
45204321}
45214322
4522static __inline__ __m256i __DEFAULT_FN_ATTRS256
4523_mm256_maskz_sll_epi32(__mmask8 __U, __m256i __A, __m128i __B)
4524{
4323static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4324_mm256_maskz_sll_epi32(__mmask8 __U, __m256i __A, __m128i __B) {
45254325 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
45264326 (__v8si)_mm256_sll_epi32(__A, __B),
45274327 (__v8si)_mm256_setzero_si256());
......@@ -4543,49 +4343,44 @@ _mm_maskz_slli_epi32(__mmask8 __U, __m128i __A, unsigned int __B)
45434343 (__v4si)_mm_setzero_si128());
45444344}
45454345
4546static __inline__ __m256i __DEFAULT_FN_ATTRS256
4547_mm256_mask_slli_epi32(__m256i __W, __mmask8 __U, __m256i __A, unsigned int __B)
4548{
4346static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4347_mm256_mask_slli_epi32(__m256i __W, __mmask8 __U, __m256i __A,
4348 unsigned int __B) {
45494349 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
45504350 (__v8si)_mm256_slli_epi32(__A, (int)__B),
45514351 (__v8si)__W);
45524352}
45534353
4554static __inline__ __m256i __DEFAULT_FN_ATTRS256
4555_mm256_maskz_slli_epi32(__mmask8 __U, __m256i __A, unsigned int __B)
4556{
4354static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4355_mm256_maskz_slli_epi32(__mmask8 __U, __m256i __A, unsigned int __B) {
45574356 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
45584357 (__v8si)_mm256_slli_epi32(__A, (int)__B),
45594358 (__v8si)_mm256_setzero_si256());
45604359}
45614360
4562static __inline__ __m128i __DEFAULT_FN_ATTRS128
4563_mm_mask_sll_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
4564{
4361static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
4362_mm_mask_sll_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
45654363 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
45664364 (__v2di)_mm_sll_epi64(__A, __B),
45674365 (__v2di)__W);
45684366}
45694367
4570static __inline__ __m128i __DEFAULT_FN_ATTRS128
4571_mm_maskz_sll_epi64(__mmask8 __U, __m128i __A, __m128i __B)
4572{
4368static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
4369_mm_maskz_sll_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
45734370 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
45744371 (__v2di)_mm_sll_epi64(__A, __B),
45754372 (__v2di)_mm_setzero_si128());
45764373}
45774374
4578static __inline__ __m256i __DEFAULT_FN_ATTRS256
4579_mm256_mask_sll_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B)
4580{
4375static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4376_mm256_mask_sll_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) {
45814377 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
45824378 (__v4di)_mm256_sll_epi64(__A, __B),
45834379 (__v4di)__W);
45844380}
45854381
4586static __inline__ __m256i __DEFAULT_FN_ATTRS256
4587_mm256_maskz_sll_epi64(__mmask8 __U, __m256i __A, __m128i __B)
4588{
4382static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4383_mm256_maskz_sll_epi64(__mmask8 __U, __m256i __A, __m128i __B) {
45894384 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
45904385 (__v4di)_mm256_sll_epi64(__A, __B),
45914386 (__v4di)_mm256_setzero_si256());
......@@ -4607,29 +4402,28 @@ _mm_maskz_slli_epi64(__mmask8 __U, __m128i __A, unsigned int __B)
46074402 (__v2di)_mm_setzero_si128());
46084403}
46094404
4610static __inline__ __m256i __DEFAULT_FN_ATTRS256
4611_mm256_mask_slli_epi64(__m256i __W, __mmask8 __U, __m256i __A, unsigned int __B)
4612{
4405static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4406_mm256_mask_slli_epi64(__m256i __W, __mmask8 __U, __m256i __A,
4407 unsigned int __B) {
46134408 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
46144409 (__v4di)_mm256_slli_epi64(__A, (int)__B),
46154410 (__v4di)__W);
46164411}
46174412
4618static __inline__ __m256i __DEFAULT_FN_ATTRS256
4619_mm256_maskz_slli_epi64(__mmask8 __U, __m256i __A, unsigned int __B)
4620{
4413static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4414_mm256_maskz_slli_epi64(__mmask8 __U, __m256i __A, unsigned int __B) {
46214415 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
46224416 (__v4di)_mm256_slli_epi64(__A, (int)__B),
46234417 (__v4di)_mm256_setzero_si256());
46244418}
46254419
4626static __inline__ __m128i __DEFAULT_FN_ATTRS128
4420static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
46274421_mm_rorv_epi32 (__m128i __A, __m128i __B)
46284422{
4629 return (__m128i)__builtin_ia32_prorvd128((__v4si)__A, (__v4si)__B);
4423 return (__m128i)__builtin_elementwise_fshr((__v4su)__A, (__v4su)__A, (__v4su)__B);
46304424}
46314425
4632static __inline__ __m128i __DEFAULT_FN_ATTRS128
4426static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
46334427_mm_mask_rorv_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
46344428{
46354429 return (__m128i)__builtin_ia32_selectd_128(__U,
......@@ -4637,7 +4431,7 @@ _mm_mask_rorv_epi32 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
46374431 (__v4si)__W);
46384432}
46394433
4640static __inline__ __m128i __DEFAULT_FN_ATTRS128
4434static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
46414435_mm_maskz_rorv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
46424436{
46434437 return (__m128i)__builtin_ia32_selectd_128(__U,
......@@ -4645,13 +4439,13 @@ _mm_maskz_rorv_epi32 (__mmask8 __U, __m128i __A, __m128i __B)
46454439 (__v4si)_mm_setzero_si128());
46464440}
46474441
4648static __inline__ __m256i __DEFAULT_FN_ATTRS256
4442static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
46494443_mm256_rorv_epi32 (__m256i __A, __m256i __B)
46504444{
4651 return (__m256i)__builtin_ia32_prorvd256((__v8si)__A, (__v8si)__B);
4445 return (__m256i)__builtin_elementwise_fshr((__v8su)__A, (__v8su)__A, (__v8su)__B);
46524446}
46534447
4654static __inline__ __m256i __DEFAULT_FN_ATTRS256
4448static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
46554449_mm256_mask_rorv_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
46564450{
46574451 return (__m256i)__builtin_ia32_selectd_256(__U,
......@@ -4659,7 +4453,7 @@ _mm256_mask_rorv_epi32 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
46594453 (__v8si)__W);
46604454}
46614455
4662static __inline__ __m256i __DEFAULT_FN_ATTRS256
4456static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
46634457_mm256_maskz_rorv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
46644458{
46654459 return (__m256i)__builtin_ia32_selectd_256(__U,
......@@ -4667,13 +4461,13 @@ _mm256_maskz_rorv_epi32 (__mmask8 __U, __m256i __A, __m256i __B)
46674461 (__v8si)_mm256_setzero_si256());
46684462}
46694463
4670static __inline__ __m128i __DEFAULT_FN_ATTRS128
4464static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
46714465_mm_rorv_epi64 (__m128i __A, __m128i __B)
46724466{
4673 return (__m128i)__builtin_ia32_prorvq128((__v2di)__A, (__v2di)__B);
4467 return (__m128i)__builtin_elementwise_fshr((__v2du)__A, (__v2du)__A, (__v2du)__B);
46744468}
46754469
4676static __inline__ __m128i __DEFAULT_FN_ATTRS128
4470static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
46774471_mm_mask_rorv_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
46784472{
46794473 return (__m128i)__builtin_ia32_selectq_128(__U,
......@@ -4681,7 +4475,7 @@ _mm_mask_rorv_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
46814475 (__v2di)__W);
46824476}
46834477
4684static __inline__ __m128i __DEFAULT_FN_ATTRS128
4478static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
46854479_mm_maskz_rorv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
46864480{
46874481 return (__m128i)__builtin_ia32_selectq_128(__U,
......@@ -4689,13 +4483,13 @@ _mm_maskz_rorv_epi64 (__mmask8 __U, __m128i __A, __m128i __B)
46894483 (__v2di)_mm_setzero_si128());
46904484}
46914485
4692static __inline__ __m256i __DEFAULT_FN_ATTRS256
4486static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
46934487_mm256_rorv_epi64 (__m256i __A, __m256i __B)
46944488{
4695 return (__m256i)__builtin_ia32_prorvq256((__v4di)__A, (__v4di)__B);
4489 return (__m256i)__builtin_elementwise_fshr((__v4du)__A, (__v4du)__A, (__v4du)__B);
46964490}
46974491
4698static __inline__ __m256i __DEFAULT_FN_ATTRS256
4492static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
46994493_mm256_mask_rorv_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
47004494{
47014495 return (__m256i)__builtin_ia32_selectq_256(__U,
......@@ -4703,7 +4497,7 @@ _mm256_mask_rorv_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
47034497 (__v4di)__W);
47044498}
47054499
4706static __inline__ __m256i __DEFAULT_FN_ATTRS256
4500static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
47074501_mm256_maskz_rorv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
47084502{
47094503 return (__m256i)__builtin_ia32_selectq_256(__U,
......@@ -4711,7 +4505,7 @@ _mm256_maskz_rorv_epi64 (__mmask8 __U, __m256i __A, __m256i __B)
47114505 (__v4di)_mm256_setzero_si256());
47124506}
47134507
4714static __inline__ __m128i __DEFAULT_FN_ATTRS128
4508static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
47154509_mm_mask_sllv_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
47164510{
47174511 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
......@@ -4719,7 +4513,7 @@ _mm_mask_sllv_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
47194513 (__v2di)__W);
47204514}
47214515
4722static __inline__ __m128i __DEFAULT_FN_ATTRS128
4516static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
47234517_mm_maskz_sllv_epi64(__mmask8 __U, __m128i __X, __m128i __Y)
47244518{
47254519 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
......@@ -4727,7 +4521,7 @@ _mm_maskz_sllv_epi64(__mmask8 __U, __m128i __X, __m128i __Y)
47274521 (__v2di)_mm_setzero_si128());
47284522}
47294523
4730static __inline__ __m256i __DEFAULT_FN_ATTRS256
4524static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
47314525_mm256_mask_sllv_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
47324526{
47334527 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
......@@ -4735,7 +4529,7 @@ _mm256_mask_sllv_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
47354529 (__v4di)__W);
47364530}
47374531
4738static __inline__ __m256i __DEFAULT_FN_ATTRS256
4532static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
47394533_mm256_maskz_sllv_epi64(__mmask8 __U, __m256i __X, __m256i __Y)
47404534{
47414535 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
......@@ -4743,7 +4537,7 @@ _mm256_maskz_sllv_epi64(__mmask8 __U, __m256i __X, __m256i __Y)
47434537 (__v4di)_mm256_setzero_si256());
47444538}
47454539
4746static __inline__ __m128i __DEFAULT_FN_ATTRS128
4540static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
47474541_mm_mask_sllv_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
47484542{
47494543 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
......@@ -4751,7 +4545,7 @@ _mm_mask_sllv_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
47514545 (__v4si)__W);
47524546}
47534547
4754static __inline__ __m128i __DEFAULT_FN_ATTRS128
4548static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
47554549_mm_maskz_sllv_epi32(__mmask8 __U, __m128i __X, __m128i __Y)
47564550{
47574551 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
......@@ -4759,7 +4553,7 @@ _mm_maskz_sllv_epi32(__mmask8 __U, __m128i __X, __m128i __Y)
47594553 (__v4si)_mm_setzero_si128());
47604554}
47614555
4762static __inline__ __m256i __DEFAULT_FN_ATTRS256
4556static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
47634557_mm256_mask_sllv_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
47644558{
47654559 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
......@@ -4767,7 +4561,7 @@ _mm256_mask_sllv_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
47674561 (__v8si)__W);
47684562}
47694563
4770static __inline__ __m256i __DEFAULT_FN_ATTRS256
4564static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
47714565_mm256_maskz_sllv_epi32(__mmask8 __U, __m256i __X, __m256i __Y)
47724566{
47734567 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
......@@ -4775,7 +4569,7 @@ _mm256_maskz_sllv_epi32(__mmask8 __U, __m256i __X, __m256i __Y)
47754569 (__v8si)_mm256_setzero_si256());
47764570}
47774571
4778static __inline__ __m128i __DEFAULT_FN_ATTRS128
4572static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
47794573_mm_mask_srlv_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
47804574{
47814575 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
......@@ -4783,7 +4577,7 @@ _mm_mask_srlv_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
47834577 (__v2di)__W);
47844578}
47854579
4786static __inline__ __m128i __DEFAULT_FN_ATTRS128
4580static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
47874581_mm_maskz_srlv_epi64(__mmask8 __U, __m128i __X, __m128i __Y)
47884582{
47894583 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
......@@ -4791,7 +4585,7 @@ _mm_maskz_srlv_epi64(__mmask8 __U, __m128i __X, __m128i __Y)
47914585 (__v2di)_mm_setzero_si128());
47924586}
47934587
4794static __inline__ __m256i __DEFAULT_FN_ATTRS256
4588static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
47954589_mm256_mask_srlv_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
47964590{
47974591 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
......@@ -4799,7 +4593,7 @@ _mm256_mask_srlv_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
47994593 (__v4di)__W);
48004594}
48014595
4802static __inline__ __m256i __DEFAULT_FN_ATTRS256
4596static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
48034597_mm256_maskz_srlv_epi64(__mmask8 __U, __m256i __X, __m256i __Y)
48044598{
48054599 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
......@@ -4807,7 +4601,7 @@ _mm256_maskz_srlv_epi64(__mmask8 __U, __m256i __X, __m256i __Y)
48074601 (__v4di)_mm256_setzero_si256());
48084602}
48094603
4810static __inline__ __m128i __DEFAULT_FN_ATTRS128
4604static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
48114605_mm_mask_srlv_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
48124606{
48134607 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
......@@ -4815,7 +4609,7 @@ _mm_mask_srlv_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
48154609 (__v4si)__W);
48164610}
48174611
4818static __inline__ __m128i __DEFAULT_FN_ATTRS128
4612static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
48194613_mm_maskz_srlv_epi32(__mmask8 __U, __m128i __X, __m128i __Y)
48204614{
48214615 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
......@@ -4823,7 +4617,7 @@ _mm_maskz_srlv_epi32(__mmask8 __U, __m128i __X, __m128i __Y)
48234617 (__v4si)_mm_setzero_si128());
48244618}
48254619
4826static __inline__ __m256i __DEFAULT_FN_ATTRS256
4620static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
48274621_mm256_mask_srlv_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
48284622{
48294623 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
......@@ -4831,7 +4625,7 @@ _mm256_mask_srlv_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
48314625 (__v8si)__W);
48324626}
48334627
4834static __inline__ __m256i __DEFAULT_FN_ATTRS256
4628static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
48354629_mm256_maskz_srlv_epi32(__mmask8 __U, __m256i __X, __m256i __Y)
48364630{
48374631 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
......@@ -4839,33 +4633,29 @@ _mm256_maskz_srlv_epi32(__mmask8 __U, __m256i __X, __m256i __Y)
48394633 (__v8si)_mm256_setzero_si256());
48404634}
48414635
4842static __inline__ __m128i __DEFAULT_FN_ATTRS128
4843_mm_mask_srl_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
4844{
4636static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
4637_mm_mask_srl_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
48454638 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
48464639 (__v4si)_mm_srl_epi32(__A, __B),
48474640 (__v4si)__W);
48484641}
48494642
4850static __inline__ __m128i __DEFAULT_FN_ATTRS128
4851_mm_maskz_srl_epi32(__mmask8 __U, __m128i __A, __m128i __B)
4852{
4643static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
4644_mm_maskz_srl_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
48534645 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
48544646 (__v4si)_mm_srl_epi32(__A, __B),
48554647 (__v4si)_mm_setzero_si128());
48564648}
48574649
4858static __inline__ __m256i __DEFAULT_FN_ATTRS256
4859_mm256_mask_srl_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B)
4860{
4650static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4651_mm256_mask_srl_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) {
48614652 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
48624653 (__v8si)_mm256_srl_epi32(__A, __B),
48634654 (__v8si)__W);
48644655}
48654656
4866static __inline__ __m256i __DEFAULT_FN_ATTRS256
4867_mm256_maskz_srl_epi32(__mmask8 __U, __m256i __A, __m128i __B)
4868{
4657static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4658_mm256_maskz_srl_epi32(__mmask8 __U, __m256i __A, __m128i __B) {
48694659 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
48704660 (__v8si)_mm256_srl_epi32(__A, __B),
48714661 (__v8si)_mm256_setzero_si256());
......@@ -4887,49 +4677,44 @@ _mm_maskz_srli_epi32(__mmask8 __U, __m128i __A, unsigned int __B)
48874677 (__v4si)_mm_setzero_si128());
48884678}
48894679
4890static __inline__ __m256i __DEFAULT_FN_ATTRS256
4891_mm256_mask_srli_epi32(__m256i __W, __mmask8 __U, __m256i __A, unsigned int __B)
4892{
4680static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4681_mm256_mask_srli_epi32(__m256i __W, __mmask8 __U, __m256i __A,
4682 unsigned int __B) {
48934683 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
48944684 (__v8si)_mm256_srli_epi32(__A, (int)__B),
48954685 (__v8si)__W);
48964686}
48974687
4898static __inline__ __m256i __DEFAULT_FN_ATTRS256
4899_mm256_maskz_srli_epi32(__mmask8 __U, __m256i __A, unsigned int __B)
4900{
4688static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4689_mm256_maskz_srli_epi32(__mmask8 __U, __m256i __A, unsigned int __B) {
49014690 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
49024691 (__v8si)_mm256_srli_epi32(__A, (int)__B),
49034692 (__v8si)_mm256_setzero_si256());
49044693}
49054694
4906static __inline__ __m128i __DEFAULT_FN_ATTRS128
4907_mm_mask_srl_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
4908{
4695static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
4696_mm_mask_srl_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
49094697 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
49104698 (__v2di)_mm_srl_epi64(__A, __B),
49114699 (__v2di)__W);
49124700}
49134701
4914static __inline__ __m128i __DEFAULT_FN_ATTRS128
4915_mm_maskz_srl_epi64(__mmask8 __U, __m128i __A, __m128i __B)
4916{
4702static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
4703_mm_maskz_srl_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
49174704 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
49184705 (__v2di)_mm_srl_epi64(__A, __B),
49194706 (__v2di)_mm_setzero_si128());
49204707}
49214708
4922static __inline__ __m256i __DEFAULT_FN_ATTRS256
4923_mm256_mask_srl_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B)
4924{
4709static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4710_mm256_mask_srl_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) {
49254711 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
49264712 (__v4di)_mm256_srl_epi64(__A, __B),
49274713 (__v4di)__W);
49284714}
49294715
4930static __inline__ __m256i __DEFAULT_FN_ATTRS256
4931_mm256_maskz_srl_epi64(__mmask8 __U, __m256i __A, __m128i __B)
4932{
4716static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4717_mm256_maskz_srl_epi64(__mmask8 __U, __m256i __A, __m128i __B) {
49334718 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
49344719 (__v4di)_mm256_srl_epi64(__A, __B),
49354720 (__v4di)_mm256_setzero_si256());
......@@ -4951,23 +4736,22 @@ _mm_maskz_srli_epi64(__mmask8 __U, __m128i __A, unsigned int __B)
49514736 (__v2di)_mm_setzero_si128());
49524737}
49534738
4954static __inline__ __m256i __DEFAULT_FN_ATTRS256
4955_mm256_mask_srli_epi64(__m256i __W, __mmask8 __U, __m256i __A, unsigned int __B)
4956{
4739static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4740_mm256_mask_srli_epi64(__m256i __W, __mmask8 __U, __m256i __A,
4741 unsigned int __B) {
49574742 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
49584743 (__v4di)_mm256_srli_epi64(__A, (int)__B),
49594744 (__v4di)__W);
49604745}
49614746
4962static __inline__ __m256i __DEFAULT_FN_ATTRS256
4963_mm256_maskz_srli_epi64(__mmask8 __U, __m256i __A, unsigned int __B)
4964{
4747static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
4748_mm256_maskz_srli_epi64(__mmask8 __U, __m256i __A, unsigned int __B) {
49654749 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
49664750 (__v4di)_mm256_srli_epi64(__A, (int)__B),
49674751 (__v4di)_mm256_setzero_si256());
49684752}
49694753
4970static __inline__ __m128i __DEFAULT_FN_ATTRS128
4754static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
49714755_mm_mask_srav_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
49724756{
49734757 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
......@@ -4975,7 +4759,7 @@ _mm_mask_srav_epi32(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
49754759 (__v4si)__W);
49764760}
49774761
4978static __inline__ __m128i __DEFAULT_FN_ATTRS128
4762static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
49794763_mm_maskz_srav_epi32(__mmask8 __U, __m128i __X, __m128i __Y)
49804764{
49814765 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
......@@ -4983,7 +4767,7 @@ _mm_maskz_srav_epi32(__mmask8 __U, __m128i __X, __m128i __Y)
49834767 (__v4si)_mm_setzero_si128());
49844768}
49854769
4986static __inline__ __m256i __DEFAULT_FN_ATTRS256
4770static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
49874771_mm256_mask_srav_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
49884772{
49894773 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
......@@ -4991,7 +4775,7 @@ _mm256_mask_srav_epi32(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
49914775 (__v8si)__W);
49924776}
49934777
4994static __inline__ __m256i __DEFAULT_FN_ATTRS256
4778static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
49954779_mm256_maskz_srav_epi32(__mmask8 __U, __m256i __X, __m256i __Y)
49964780{
49974781 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
......@@ -4999,13 +4783,13 @@ _mm256_maskz_srav_epi32(__mmask8 __U, __m256i __X, __m256i __Y)
49994783 (__v8si)_mm256_setzero_si256());
50004784}
50014785
5002static __inline__ __m128i __DEFAULT_FN_ATTRS128
4786static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
50034787_mm_srav_epi64(__m128i __X, __m128i __Y)
50044788{
50054789 return (__m128i)__builtin_ia32_psravq128((__v2di)__X, (__v2di)__Y);
50064790}
50074791
5008static __inline__ __m128i __DEFAULT_FN_ATTRS128
4792static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
50094793_mm_mask_srav_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
50104794{
50114795 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
......@@ -5013,7 +4797,7 @@ _mm_mask_srav_epi64(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y)
50134797 (__v2di)__W);
50144798}
50154799
5016static __inline__ __m128i __DEFAULT_FN_ATTRS128
4800static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
50174801_mm_maskz_srav_epi64(__mmask8 __U, __m128i __X, __m128i __Y)
50184802{
50194803 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
......@@ -5021,13 +4805,13 @@ _mm_maskz_srav_epi64(__mmask8 __U, __m128i __X, __m128i __Y)
50214805 (__v2di)_mm_setzero_si128());
50224806}
50234807
5024static __inline__ __m256i __DEFAULT_FN_ATTRS256
4808static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
50254809_mm256_srav_epi64(__m256i __X, __m256i __Y)
50264810{
50274811 return (__m256i)__builtin_ia32_psravq256((__v4di)__X, (__v4di) __Y);
50284812}
50294813
5030static __inline__ __m256i __DEFAULT_FN_ATTRS256
4814static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
50314815_mm256_mask_srav_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
50324816{
50334817 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
......@@ -5035,7 +4819,7 @@ _mm256_mask_srav_epi64(__m256i __W, __mmask8 __U, __m256i __X, __m256i __Y)
50354819 (__v4di)__W);
50364820}
50374821
5038static __inline__ __m256i __DEFAULT_FN_ATTRS256
4822static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
50394823_mm256_maskz_srav_epi64 (__mmask8 __U, __m256i __X, __m256i __Y)
50404824{
50414825 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
......@@ -5296,69 +5080,55 @@ _mm256_maskz_movedup_pd (__mmask8 __U, __m256d __A)
52965080 (__v4df)_mm256_setzero_pd());
52975081}
52985082
5299static __inline__ __m128i __DEFAULT_FN_ATTRS128
5300_mm_mask_set1_epi32(__m128i __O, __mmask8 __M, int __A)
5301{
5302 return (__m128i)__builtin_ia32_selectd_128(__M,
5303 (__v4si) _mm_set1_epi32(__A),
5304 (__v4si)__O);
5083static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
5084_mm_mask_set1_epi32(__m128i __O, __mmask8 __M, int __A) {
5085 return (__m128i)__builtin_ia32_selectd_128(__M, (__v4si)_mm_set1_epi32(__A),
5086 (__v4si)__O);
53055087}
53065088
5307static __inline__ __m128i __DEFAULT_FN_ATTRS128
5308_mm_maskz_set1_epi32( __mmask8 __M, int __A)
5309{
5310 return (__m128i)__builtin_ia32_selectd_128(__M,
5311 (__v4si) _mm_set1_epi32(__A),
5312 (__v4si)_mm_setzero_si128());
5089static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
5090_mm_maskz_set1_epi32(__mmask8 __M, int __A) {
5091 return (__m128i)__builtin_ia32_selectd_128(__M, (__v4si)_mm_set1_epi32(__A),
5092 (__v4si)_mm_setzero_si128());
53135093}
53145094
5315static __inline__ __m256i __DEFAULT_FN_ATTRS256
5316_mm256_mask_set1_epi32(__m256i __O, __mmask8 __M, int __A)
5317{
5318 return (__m256i)__builtin_ia32_selectd_256(__M,
5319 (__v8si) _mm256_set1_epi32(__A),
5320 (__v8si)__O);
5095static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
5096_mm256_mask_set1_epi32(__m256i __O, __mmask8 __M, int __A) {
5097 return (__m256i)__builtin_ia32_selectd_256(
5098 __M, (__v8si)_mm256_set1_epi32(__A), (__v8si)__O);
53215099}
53225100
5323static __inline__ __m256i __DEFAULT_FN_ATTRS256
5324_mm256_maskz_set1_epi32( __mmask8 __M, int __A)
5325{
5326 return (__m256i)__builtin_ia32_selectd_256(__M,
5327 (__v8si) _mm256_set1_epi32(__A),
5328 (__v8si)_mm256_setzero_si256());
5101static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
5102_mm256_maskz_set1_epi32(__mmask8 __M, int __A) {
5103 return (__m256i)__builtin_ia32_selectd_256(
5104 __M, (__v8si)_mm256_set1_epi32(__A), (__v8si)_mm256_setzero_si256());
53295105}
53305106
5331
5332static __inline__ __m128i __DEFAULT_FN_ATTRS128
5333_mm_mask_set1_epi64 (__m128i __O, __mmask8 __M, long long __A)
5334{
5107static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
5108_mm_mask_set1_epi64(__m128i __O, __mmask8 __M, long long __A) {
53355109 return (__m128i) __builtin_ia32_selectq_128(__M,
53365110 (__v2di) _mm_set1_epi64x(__A),
53375111 (__v2di) __O);
53385112}
53395113
5340static __inline__ __m128i __DEFAULT_FN_ATTRS128
5341_mm_maskz_set1_epi64 (__mmask8 __M, long long __A)
5342{
5114static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
5115_mm_maskz_set1_epi64(__mmask8 __M, long long __A) {
53435116 return (__m128i) __builtin_ia32_selectq_128(__M,
53445117 (__v2di) _mm_set1_epi64x(__A),
53455118 (__v2di) _mm_setzero_si128());
53465119}
53475120
5348static __inline__ __m256i __DEFAULT_FN_ATTRS256
5349_mm256_mask_set1_epi64 (__m256i __O, __mmask8 __M, long long __A)
5350{
5121static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
5122_mm256_mask_set1_epi64(__m256i __O, __mmask8 __M, long long __A) {
53515123 return (__m256i) __builtin_ia32_selectq_256(__M,
53525124 (__v4di) _mm256_set1_epi64x(__A),
53535125 (__v4di) __O) ;
53545126}
53555127
5356static __inline__ __m256i __DEFAULT_FN_ATTRS256
5357_mm256_maskz_set1_epi64 (__mmask8 __M, long long __A)
5358{
5359 return (__m256i) __builtin_ia32_selectq_256(__M,
5360 (__v4di) _mm256_set1_epi64x(__A),
5361 (__v4di) _mm256_setzero_si256());
5128static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
5129_mm256_maskz_set1_epi64(__mmask8 __M, long long __A) {
5130 return (__m256i)__builtin_ia32_selectq_256(
5131 __M, (__v4di)_mm256_set1_epi64x(__A), (__v4di)_mm256_setzero_si256());
53625132}
53635133
53645134#define _mm_fixupimm_pd(A, B, C, imm) \
......@@ -5805,130 +5575,113 @@ _mm256_mask_storeu_ps (void *__P, __mmask8 __U, __m256 __A)
58055575 (__mmask8) __U);
58065576}
58075577
5808
5809static __inline__ __m128d __DEFAULT_FN_ATTRS128
5810_mm_mask_unpackhi_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
5811{
5578static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
5579_mm_mask_unpackhi_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
58125580 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
58135581 (__v2df)_mm_unpackhi_pd(__A, __B),
58145582 (__v2df)__W);
58155583}
58165584
5817static __inline__ __m128d __DEFAULT_FN_ATTRS128
5818_mm_maskz_unpackhi_pd(__mmask8 __U, __m128d __A, __m128d __B)
5819{
5585static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
5586_mm_maskz_unpackhi_pd(__mmask8 __U, __m128d __A, __m128d __B) {
58205587 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
58215588 (__v2df)_mm_unpackhi_pd(__A, __B),
58225589 (__v2df)_mm_setzero_pd());
58235590}
58245591
5825static __inline__ __m256d __DEFAULT_FN_ATTRS256
5826_mm256_mask_unpackhi_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B)
5827{
5592static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
5593_mm256_mask_unpackhi_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
58285594 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
58295595 (__v4df)_mm256_unpackhi_pd(__A, __B),
58305596 (__v4df)__W);
58315597}
58325598
5833static __inline__ __m256d __DEFAULT_FN_ATTRS256
5834_mm256_maskz_unpackhi_pd(__mmask8 __U, __m256d __A, __m256d __B)
5835{
5599static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
5600_mm256_maskz_unpackhi_pd(__mmask8 __U, __m256d __A, __m256d __B) {
58365601 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
58375602 (__v4df)_mm256_unpackhi_pd(__A, __B),
58385603 (__v4df)_mm256_setzero_pd());
58395604}
58405605
5841static __inline__ __m128 __DEFAULT_FN_ATTRS128
5842_mm_mask_unpackhi_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
5843{
5606static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
5607_mm_mask_unpackhi_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
58445608 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
58455609 (__v4sf)_mm_unpackhi_ps(__A, __B),
58465610 (__v4sf)__W);
58475611}
58485612
5849static __inline__ __m128 __DEFAULT_FN_ATTRS128
5850_mm_maskz_unpackhi_ps(__mmask8 __U, __m128 __A, __m128 __B)
5851{
5613static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
5614_mm_maskz_unpackhi_ps(__mmask8 __U, __m128 __A, __m128 __B) {
58525615 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
58535616 (__v4sf)_mm_unpackhi_ps(__A, __B),
58545617 (__v4sf)_mm_setzero_ps());
58555618}
58565619
5857static __inline__ __m256 __DEFAULT_FN_ATTRS256
5858_mm256_mask_unpackhi_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
5859{
5620static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
5621_mm256_mask_unpackhi_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
58605622 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
58615623 (__v8sf)_mm256_unpackhi_ps(__A, __B),
58625624 (__v8sf)__W);
58635625}
58645626
5865static __inline__ __m256 __DEFAULT_FN_ATTRS256
5866_mm256_maskz_unpackhi_ps(__mmask8 __U, __m256 __A, __m256 __B)
5867{
5627static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
5628_mm256_maskz_unpackhi_ps(__mmask8 __U, __m256 __A, __m256 __B) {
58685629 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
58695630 (__v8sf)_mm256_unpackhi_ps(__A, __B),
58705631 (__v8sf)_mm256_setzero_ps());
58715632}
58725633
5873static __inline__ __m128d __DEFAULT_FN_ATTRS128
5874_mm_mask_unpacklo_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B)
5875{
5634static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
5635_mm_mask_unpacklo_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {
58765636 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
58775637 (__v2df)_mm_unpacklo_pd(__A, __B),
58785638 (__v2df)__W);
58795639}
58805640
5881static __inline__ __m128d __DEFAULT_FN_ATTRS128
5882_mm_maskz_unpacklo_pd(__mmask8 __U, __m128d __A, __m128d __B)
5883{
5641static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
5642_mm_maskz_unpacklo_pd(__mmask8 __U, __m128d __A, __m128d __B) {
58845643 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
58855644 (__v2df)_mm_unpacklo_pd(__A, __B),
58865645 (__v2df)_mm_setzero_pd());
58875646}
58885647
5889static __inline__ __m256d __DEFAULT_FN_ATTRS256
5890_mm256_mask_unpacklo_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B)
5891{
5648static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
5649_mm256_mask_unpacklo_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) {
58925650 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
58935651 (__v4df)_mm256_unpacklo_pd(__A, __B),
58945652 (__v4df)__W);
58955653}
58965654
5897static __inline__ __m256d __DEFAULT_FN_ATTRS256
5898_mm256_maskz_unpacklo_pd(__mmask8 __U, __m256d __A, __m256d __B)
5899{
5655static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
5656_mm256_maskz_unpacklo_pd(__mmask8 __U, __m256d __A, __m256d __B) {
59005657 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
59015658 (__v4df)_mm256_unpacklo_pd(__A, __B),
59025659 (__v4df)_mm256_setzero_pd());
59035660}
59045661
5905static __inline__ __m128 __DEFAULT_FN_ATTRS128
5906_mm_mask_unpacklo_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B)
5907{
5662static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
5663_mm_mask_unpacklo_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) {
59085664 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
59095665 (__v4sf)_mm_unpacklo_ps(__A, __B),
59105666 (__v4sf)__W);
59115667}
59125668
5913static __inline__ __m128 __DEFAULT_FN_ATTRS128
5914_mm_maskz_unpacklo_ps(__mmask8 __U, __m128 __A, __m128 __B)
5915{
5669static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
5670_mm_maskz_unpacklo_ps(__mmask8 __U, __m128 __A, __m128 __B) {
59165671 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
59175672 (__v4sf)_mm_unpacklo_ps(__A, __B),
59185673 (__v4sf)_mm_setzero_ps());
59195674}
59205675
5921static __inline__ __m256 __DEFAULT_FN_ATTRS256
5922_mm256_mask_unpacklo_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B)
5923{
5676static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
5677_mm256_mask_unpacklo_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) {
59245678 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
59255679 (__v8sf)_mm256_unpacklo_ps(__A, __B),
59265680 (__v8sf)__W);
59275681}
59285682
5929static __inline__ __m256 __DEFAULT_FN_ATTRS256
5930_mm256_maskz_unpacklo_ps(__mmask8 __U, __m256 __A, __m256 __B)
5931{
5683static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
5684_mm256_maskz_unpacklo_ps(__mmask8 __U, __m256 __A, __m256 __B) {
59325685 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
59335686 (__v8sf)_mm256_unpacklo_ps(__A, __B),
59345687 (__v8sf)_mm256_setzero_ps());
......@@ -6078,65 +5831,57 @@ _mm256_maskz_rcp14_ps (__mmask8 __U, __m256 __A)
60785831 (__v8sf)_mm256_permute_ps((X), (C)), \
60795832 (__v8sf)_mm256_setzero_ps()))
60805833
6081static __inline__ __m128d __DEFAULT_FN_ATTRS128
6082_mm_mask_permutevar_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128i __C)
6083{
5834static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
5835_mm_mask_permutevar_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128i __C) {
60845836 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
60855837 (__v2df)_mm_permutevar_pd(__A, __C),
60865838 (__v2df)__W);
60875839}
60885840
6089static __inline__ __m128d __DEFAULT_FN_ATTRS128
6090_mm_maskz_permutevar_pd(__mmask8 __U, __m128d __A, __m128i __C)
6091{
5841static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
5842_mm_maskz_permutevar_pd(__mmask8 __U, __m128d __A, __m128i __C) {
60925843 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
60935844 (__v2df)_mm_permutevar_pd(__A, __C),
60945845 (__v2df)_mm_setzero_pd());
60955846}
60965847
6097static __inline__ __m256d __DEFAULT_FN_ATTRS256
6098_mm256_mask_permutevar_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256i __C)
6099{
5848static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
5849_mm256_mask_permutevar_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256i __C) {
61005850 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
61015851 (__v4df)_mm256_permutevar_pd(__A, __C),
61025852 (__v4df)__W);
61035853}
61045854
6105static __inline__ __m256d __DEFAULT_FN_ATTRS256
6106_mm256_maskz_permutevar_pd(__mmask8 __U, __m256d __A, __m256i __C)
6107{
5855static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
5856_mm256_maskz_permutevar_pd(__mmask8 __U, __m256d __A, __m256i __C) {
61085857 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
61095858 (__v4df)_mm256_permutevar_pd(__A, __C),
61105859 (__v4df)_mm256_setzero_pd());
61115860}
61125861
6113static __inline__ __m128 __DEFAULT_FN_ATTRS128
6114_mm_mask_permutevar_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128i __C)
6115{
5862static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
5863_mm_mask_permutevar_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128i __C) {
61165864 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
61175865 (__v4sf)_mm_permutevar_ps(__A, __C),
61185866 (__v4sf)__W);
61195867}
61205868
6121static __inline__ __m128 __DEFAULT_FN_ATTRS128
6122_mm_maskz_permutevar_ps(__mmask8 __U, __m128 __A, __m128i __C)
6123{
5869static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
5870_mm_maskz_permutevar_ps(__mmask8 __U, __m128 __A, __m128i __C) {
61245871 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
61255872 (__v4sf)_mm_permutevar_ps(__A, __C),
61265873 (__v4sf)_mm_setzero_ps());
61275874}
61285875
6129static __inline__ __m256 __DEFAULT_FN_ATTRS256
6130_mm256_mask_permutevar_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256i __C)
6131{
5876static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
5877_mm256_mask_permutevar_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256i __C) {
61325878 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
61335879 (__v8sf)_mm256_permutevar_ps(__A, __C),
61345880 (__v8sf)__W);
61355881}
61365882
6137static __inline__ __m256 __DEFAULT_FN_ATTRS256
6138_mm256_maskz_permutevar_ps(__mmask8 __U, __m256 __A, __m256i __C)
6139{
5883static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
5884_mm256_maskz_permutevar_ps(__mmask8 __U, __m256 __A, __m256i __C) {
61405885 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
61415886 (__v8sf)_mm256_permutevar_ps(__A, __C),
61425887 (__v8sf)_mm256_setzero_ps());
......@@ -6250,282 +5995,251 @@ _mm256_mask_testn_epi64_mask (__mmask8 __U, __m256i __A, __m256i __B)
62505995 _mm256_setzero_si256());
62515996}
62525997
6253static __inline__ __m128i __DEFAULT_FN_ATTRS128
6254_mm_mask_unpackhi_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
6255{
5998static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
5999_mm_mask_unpackhi_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
62566000 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
62576001 (__v4si)_mm_unpackhi_epi32(__A, __B),
62586002 (__v4si)__W);
62596003}
62606004
6261static __inline__ __m128i __DEFAULT_FN_ATTRS128
6262_mm_maskz_unpackhi_epi32(__mmask8 __U, __m128i __A, __m128i __B)
6263{
6005static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6006_mm_maskz_unpackhi_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
62646007 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
62656008 (__v4si)_mm_unpackhi_epi32(__A, __B),
62666009 (__v4si)_mm_setzero_si128());
62676010}
62686011
6269static __inline__ __m256i __DEFAULT_FN_ATTRS256
6270_mm256_mask_unpackhi_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
6271{
6012static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6013_mm256_mask_unpackhi_epi32(__m256i __W, __mmask8 __U, __m256i __A,
6014 __m256i __B) {
62726015 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
62736016 (__v8si)_mm256_unpackhi_epi32(__A, __B),
62746017 (__v8si)__W);
62756018}
62766019
6277static __inline__ __m256i __DEFAULT_FN_ATTRS256
6278_mm256_maskz_unpackhi_epi32(__mmask8 __U, __m256i __A, __m256i __B)
6279{
6020static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6021_mm256_maskz_unpackhi_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
62806022 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
62816023 (__v8si)_mm256_unpackhi_epi32(__A, __B),
62826024 (__v8si)_mm256_setzero_si256());
62836025}
62846026
6285static __inline__ __m128i __DEFAULT_FN_ATTRS128
6286_mm_mask_unpackhi_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
6287{
6027static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6028_mm_mask_unpackhi_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
62886029 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
62896030 (__v2di)_mm_unpackhi_epi64(__A, __B),
62906031 (__v2di)__W);
62916032}
62926033
6293static __inline__ __m128i __DEFAULT_FN_ATTRS128
6294_mm_maskz_unpackhi_epi64(__mmask8 __U, __m128i __A, __m128i __B)
6295{
6034static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6035_mm_maskz_unpackhi_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
62966036 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
62976037 (__v2di)_mm_unpackhi_epi64(__A, __B),
62986038 (__v2di)_mm_setzero_si128());
62996039}
63006040
6301static __inline__ __m256i __DEFAULT_FN_ATTRS256
6302_mm256_mask_unpackhi_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
6303{
6041static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6042_mm256_mask_unpackhi_epi64(__m256i __W, __mmask8 __U, __m256i __A,
6043 __m256i __B) {
63046044 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
63056045 (__v4di)_mm256_unpackhi_epi64(__A, __B),
63066046 (__v4di)__W);
63076047}
63086048
6309static __inline__ __m256i __DEFAULT_FN_ATTRS256
6310_mm256_maskz_unpackhi_epi64(__mmask8 __U, __m256i __A, __m256i __B)
6311{
6049static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6050_mm256_maskz_unpackhi_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
63126051 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
63136052 (__v4di)_mm256_unpackhi_epi64(__A, __B),
63146053 (__v4di)_mm256_setzero_si256());
63156054}
63166055
6317static __inline__ __m128i __DEFAULT_FN_ATTRS128
6318_mm_mask_unpacklo_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
6319{
6056static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6057_mm_mask_unpacklo_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
63206058 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
63216059 (__v4si)_mm_unpacklo_epi32(__A, __B),
63226060 (__v4si)__W);
63236061}
63246062
6325static __inline__ __m128i __DEFAULT_FN_ATTRS128
6326_mm_maskz_unpacklo_epi32(__mmask8 __U, __m128i __A, __m128i __B)
6327{
6063static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6064_mm_maskz_unpacklo_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
63286065 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
63296066 (__v4si)_mm_unpacklo_epi32(__A, __B),
63306067 (__v4si)_mm_setzero_si128());
63316068}
63326069
6333static __inline__ __m256i __DEFAULT_FN_ATTRS256
6334_mm256_mask_unpacklo_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
6335{
6070static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6071_mm256_mask_unpacklo_epi32(__m256i __W, __mmask8 __U, __m256i __A,
6072 __m256i __B) {
63366073 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
63376074 (__v8si)_mm256_unpacklo_epi32(__A, __B),
63386075 (__v8si)__W);
63396076}
63406077
6341static __inline__ __m256i __DEFAULT_FN_ATTRS256
6342_mm256_maskz_unpacklo_epi32(__mmask8 __U, __m256i __A, __m256i __B)
6343{
6078static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6079_mm256_maskz_unpacklo_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
63446080 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
63456081 (__v8si)_mm256_unpacklo_epi32(__A, __B),
63466082 (__v8si)_mm256_setzero_si256());
63476083}
63486084
6349static __inline__ __m128i __DEFAULT_FN_ATTRS128
6350_mm_mask_unpacklo_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
6351{
6085static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6086_mm_mask_unpacklo_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
63526087 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
63536088 (__v2di)_mm_unpacklo_epi64(__A, __B),
63546089 (__v2di)__W);
63556090}
63566091
6357static __inline__ __m128i __DEFAULT_FN_ATTRS128
6358_mm_maskz_unpacklo_epi64(__mmask8 __U, __m128i __A, __m128i __B)
6359{
6092static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6093_mm_maskz_unpacklo_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
63606094 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U,
63616095 (__v2di)_mm_unpacklo_epi64(__A, __B),
63626096 (__v2di)_mm_setzero_si128());
63636097}
63646098
6365static __inline__ __m256i __DEFAULT_FN_ATTRS256
6366_mm256_mask_unpacklo_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B)
6367{
6099static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6100_mm256_mask_unpacklo_epi64(__m256i __W, __mmask8 __U, __m256i __A,
6101 __m256i __B) {
63686102 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
63696103 (__v4di)_mm256_unpacklo_epi64(__A, __B),
63706104 (__v4di)__W);
63716105}
63726106
6373static __inline__ __m256i __DEFAULT_FN_ATTRS256
6374_mm256_maskz_unpacklo_epi64(__mmask8 __U, __m256i __A, __m256i __B)
6375{
6107static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6108_mm256_maskz_unpacklo_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
63766109 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U,
63776110 (__v4di)_mm256_unpacklo_epi64(__A, __B),
63786111 (__v4di)_mm256_setzero_si256());
63796112}
63806113
6381static __inline__ __m128i __DEFAULT_FN_ATTRS128
6382_mm_mask_sra_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
6383{
6114static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6115_mm_mask_sra_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
63846116 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
63856117 (__v4si)_mm_sra_epi32(__A, __B),
63866118 (__v4si)__W);
63876119}
63886120
6389static __inline__ __m128i __DEFAULT_FN_ATTRS128
6390_mm_maskz_sra_epi32(__mmask8 __U, __m128i __A, __m128i __B)
6391{
6121static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6122_mm_maskz_sra_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
63926123 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
63936124 (__v4si)_mm_sra_epi32(__A, __B),
63946125 (__v4si)_mm_setzero_si128());
63956126}
63966127
6397static __inline__ __m256i __DEFAULT_FN_ATTRS256
6398_mm256_mask_sra_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B)
6399{
6128static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6129_mm256_mask_sra_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) {
64006130 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
64016131 (__v8si)_mm256_sra_epi32(__A, __B),
64026132 (__v8si)__W);
64036133}
64046134
6405static __inline__ __m256i __DEFAULT_FN_ATTRS256
6406_mm256_maskz_sra_epi32(__mmask8 __U, __m256i __A, __m128i __B)
6407{
6135static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6136_mm256_maskz_sra_epi32(__mmask8 __U, __m256i __A, __m128i __B) {
64086137 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
64096138 (__v8si)_mm256_sra_epi32(__A, __B),
64106139 (__v8si)_mm256_setzero_si256());
64116140}
64126141
6413static __inline__ __m128i __DEFAULT_FN_ATTRS128
6414_mm_mask_srai_epi32(__m128i __W, __mmask8 __U, __m128i __A, unsigned int __B)
6415{
6142static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6143_mm_mask_srai_epi32(__m128i __W, __mmask8 __U, __m128i __A, unsigned int __B) {
64166144 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
64176145 (__v4si)_mm_srai_epi32(__A, (int)__B),
64186146 (__v4si)__W);
64196147}
64206148
6421static __inline__ __m128i __DEFAULT_FN_ATTRS128
6422_mm_maskz_srai_epi32(__mmask8 __U, __m128i __A, unsigned int __B)
6423{
6149static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6150_mm_maskz_srai_epi32(__mmask8 __U, __m128i __A, unsigned int __B) {
64246151 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__U,
64256152 (__v4si)_mm_srai_epi32(__A, (int)__B),
64266153 (__v4si)_mm_setzero_si128());
64276154}
64286155
6429static __inline__ __m256i __DEFAULT_FN_ATTRS256
6430_mm256_mask_srai_epi32(__m256i __W, __mmask8 __U, __m256i __A, unsigned int __B)
6431{
6156static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6157_mm256_mask_srai_epi32(__m256i __W, __mmask8 __U, __m256i __A,
6158 unsigned int __B) {
64326159 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
64336160 (__v8si)_mm256_srai_epi32(__A, (int)__B),
64346161 (__v8si)__W);
64356162}
64366163
6437static __inline__ __m256i __DEFAULT_FN_ATTRS256
6438_mm256_maskz_srai_epi32(__mmask8 __U, __m256i __A, unsigned int __B)
6439{
6164static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6165_mm256_maskz_srai_epi32(__mmask8 __U, __m256i __A, unsigned int __B) {
64406166 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__U,
64416167 (__v8si)_mm256_srai_epi32(__A, (int)__B),
64426168 (__v8si)_mm256_setzero_si256());
64436169}
64446170
6445static __inline__ __m128i __DEFAULT_FN_ATTRS128
6446_mm_sra_epi64(__m128i __A, __m128i __B)
6447{
6171static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6172_mm_sra_epi64(__m128i __A, __m128i __B) {
64486173 return (__m128i)__builtin_ia32_psraq128((__v2di)__A, (__v2di)__B);
64496174}
64506175
6451static __inline__ __m128i __DEFAULT_FN_ATTRS128
6452_mm_mask_sra_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B)
6453{
6176static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6177_mm_mask_sra_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
64546178 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U, \
64556179 (__v2di)_mm_sra_epi64(__A, __B), \
64566180 (__v2di)__W);
64576181}
64586182
6459static __inline__ __m128i __DEFAULT_FN_ATTRS128
6460_mm_maskz_sra_epi64(__mmask8 __U, __m128i __A, __m128i __B)
6461{
6183static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6184_mm_maskz_sra_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
64626185 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U, \
64636186 (__v2di)_mm_sra_epi64(__A, __B), \
64646187 (__v2di)_mm_setzero_si128());
64656188}
64666189
6467static __inline__ __m256i __DEFAULT_FN_ATTRS256
6468_mm256_sra_epi64(__m256i __A, __m128i __B)
6469{
6190static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6191_mm256_sra_epi64(__m256i __A, __m128i __B) {
64706192 return (__m256i)__builtin_ia32_psraq256((__v4di) __A, (__v2di) __B);
64716193}
64726194
6473static __inline__ __m256i __DEFAULT_FN_ATTRS256
6474_mm256_mask_sra_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B)
6475{
6195static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6196_mm256_mask_sra_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m128i __B) {
64766197 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U, \
64776198 (__v4di)_mm256_sra_epi64(__A, __B), \
64786199 (__v4di)__W);
64796200}
64806201
6481static __inline__ __m256i __DEFAULT_FN_ATTRS256
6482_mm256_maskz_sra_epi64(__mmask8 __U, __m256i __A, __m128i __B)
6483{
6202static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6203_mm256_maskz_sra_epi64(__mmask8 __U, __m256i __A, __m128i __B) {
64846204 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U, \
64856205 (__v4di)_mm256_sra_epi64(__A, __B), \
64866206 (__v4di)_mm256_setzero_si256());
64876207}
64886208
6489static __inline__ __m128i __DEFAULT_FN_ATTRS128
6490_mm_srai_epi64(__m128i __A, unsigned int __imm)
6491{
6209static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6210_mm_srai_epi64(__m128i __A, unsigned int __imm) {
64926211 return (__m128i)__builtin_ia32_psraqi128((__v2di)__A, (int)__imm);
64936212}
64946213
6495static __inline__ __m128i __DEFAULT_FN_ATTRS128
6496_mm_mask_srai_epi64(__m128i __W, __mmask8 __U, __m128i __A, unsigned int __imm)
6497{
6214static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_mask_srai_epi64(
6215 __m128i __W, __mmask8 __U, __m128i __A, unsigned int __imm) {
64986216 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U, \
64996217 (__v2di)_mm_srai_epi64(__A, __imm), \
65006218 (__v2di)__W);
65016219}
65026220
6503static __inline__ __m128i __DEFAULT_FN_ATTRS128
6504_mm_maskz_srai_epi64(__mmask8 __U, __m128i __A, unsigned int __imm)
6505{
6221static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6222_mm_maskz_srai_epi64(__mmask8 __U, __m128i __A, unsigned int __imm) {
65066223 return (__m128i)__builtin_ia32_selectq_128((__mmask8)__U, \
65076224 (__v2di)_mm_srai_epi64(__A, __imm), \
65086225 (__v2di)_mm_setzero_si128());
65096226}
65106227
6511static __inline__ __m256i __DEFAULT_FN_ATTRS256
6512_mm256_srai_epi64(__m256i __A, unsigned int __imm)
6513{
6228static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6229_mm256_srai_epi64(__m256i __A, unsigned int __imm) {
65146230 return (__m256i)__builtin_ia32_psraqi256((__v4di)__A, (int)__imm);
65156231}
65166232
6517static __inline__ __m256i __DEFAULT_FN_ATTRS256
6233static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
65186234_mm256_mask_srai_epi64(__m256i __W, __mmask8 __U, __m256i __A,
6519 unsigned int __imm)
6520{
6235 unsigned int __imm) {
65216236 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U, \
65226237 (__v4di)_mm256_srai_epi64(__A, __imm), \
65236238 (__v4di)__W);
65246239}
65256240
6526static __inline__ __m256i __DEFAULT_FN_ATTRS256
6527_mm256_maskz_srai_epi64(__mmask8 __U, __m256i __A, unsigned int __imm)
6528{
6241static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6242_mm256_maskz_srai_epi64(__mmask8 __U, __m256i __A, unsigned int __imm) {
65296243 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__U, \
65306244 (__v4di)_mm256_srai_epi64(__A, __imm), \
65316245 (__v4di)_mm256_setzero_si256());
......@@ -6792,159 +6506,139 @@ _mm256_maskz_rsqrt14_ps (__mmask8 __U, __m256 __A)
67926506 (__mmask8) __U);
67936507}
67946508
6795static __inline__ __m256 __DEFAULT_FN_ATTRS256
6796_mm256_broadcast_f32x4(__m128 __A)
6797{
6509static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
6510_mm256_broadcast_f32x4(__m128 __A) {
67986511 return (__m256)__builtin_shufflevector((__v4sf)__A, (__v4sf)__A,
67996512 0, 1, 2, 3, 0, 1, 2, 3);
68006513}
68016514
6802static __inline__ __m256 __DEFAULT_FN_ATTRS256
6803_mm256_mask_broadcast_f32x4(__m256 __O, __mmask8 __M, __m128 __A)
6804{
6515static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
6516_mm256_mask_broadcast_f32x4(__m256 __O, __mmask8 __M, __m128 __A) {
68056517 return (__m256)__builtin_ia32_selectps_256((__mmask8)__M,
68066518 (__v8sf)_mm256_broadcast_f32x4(__A),
68076519 (__v8sf)__O);
68086520}
68096521
6810static __inline__ __m256 __DEFAULT_FN_ATTRS256
6811_mm256_maskz_broadcast_f32x4 (__mmask8 __M, __m128 __A)
6812{
6522static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
6523_mm256_maskz_broadcast_f32x4(__mmask8 __M, __m128 __A) {
68136524 return (__m256)__builtin_ia32_selectps_256((__mmask8)__M,
68146525 (__v8sf)_mm256_broadcast_f32x4(__A),
68156526 (__v8sf)_mm256_setzero_ps());
68166527}
68176528
6818static __inline__ __m256i __DEFAULT_FN_ATTRS256
6819_mm256_broadcast_i32x4(__m128i __A)
6820{
6529static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6530_mm256_broadcast_i32x4(__m128i __A) {
68216531 return (__m256i)__builtin_shufflevector((__v4si)__A, (__v4si)__A,
68226532 0, 1, 2, 3, 0, 1, 2, 3);
68236533}
68246534
6825static __inline__ __m256i __DEFAULT_FN_ATTRS256
6826_mm256_mask_broadcast_i32x4(__m256i __O, __mmask8 __M, __m128i __A)
6827{
6535static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6536_mm256_mask_broadcast_i32x4(__m256i __O, __mmask8 __M, __m128i __A) {
68286537 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
68296538 (__v8si)_mm256_broadcast_i32x4(__A),
68306539 (__v8si)__O);
68316540}
68326541
6833static __inline__ __m256i __DEFAULT_FN_ATTRS256
6834_mm256_maskz_broadcast_i32x4(__mmask8 __M, __m128i __A)
6835{
6542static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6543_mm256_maskz_broadcast_i32x4(__mmask8 __M, __m128i __A) {
68366544 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
68376545 (__v8si)_mm256_broadcast_i32x4(__A),
68386546 (__v8si)_mm256_setzero_si256());
68396547}
68406548
6841static __inline__ __m256d __DEFAULT_FN_ATTRS256
6842_mm256_mask_broadcastsd_pd (__m256d __O, __mmask8 __M, __m128d __A)
6843{
6549static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
6550_mm256_mask_broadcastsd_pd(__m256d __O, __mmask8 __M, __m128d __A) {
68446551 return (__m256d)__builtin_ia32_selectpd_256(__M,
68456552 (__v4df) _mm256_broadcastsd_pd(__A),
68466553 (__v4df) __O);
68476554}
68486555
6849static __inline__ __m256d __DEFAULT_FN_ATTRS256
6850_mm256_maskz_broadcastsd_pd (__mmask8 __M, __m128d __A)
6851{
6556static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
6557_mm256_maskz_broadcastsd_pd(__mmask8 __M, __m128d __A) {
68526558 return (__m256d)__builtin_ia32_selectpd_256(__M,
68536559 (__v4df) _mm256_broadcastsd_pd(__A),
68546560 (__v4df) _mm256_setzero_pd());
68556561}
68566562
6857static __inline__ __m128 __DEFAULT_FN_ATTRS128
6858_mm_mask_broadcastss_ps (__m128 __O, __mmask8 __M, __m128 __A)
6859{
6563static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
6564_mm_mask_broadcastss_ps(__m128 __O, __mmask8 __M, __m128 __A) {
68606565 return (__m128)__builtin_ia32_selectps_128(__M,
68616566 (__v4sf) _mm_broadcastss_ps(__A),
68626567 (__v4sf) __O);
68636568}
68646569
6865static __inline__ __m128 __DEFAULT_FN_ATTRS128
6866_mm_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
6867{
6570static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
6571_mm_maskz_broadcastss_ps(__mmask8 __M, __m128 __A) {
68686572 return (__m128)__builtin_ia32_selectps_128(__M,
68696573 (__v4sf) _mm_broadcastss_ps(__A),
68706574 (__v4sf) _mm_setzero_ps());
68716575}
68726576
6873static __inline__ __m256 __DEFAULT_FN_ATTRS256
6874_mm256_mask_broadcastss_ps (__m256 __O, __mmask8 __M, __m128 __A)
6875{
6577static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
6578_mm256_mask_broadcastss_ps(__m256 __O, __mmask8 __M, __m128 __A) {
68766579 return (__m256)__builtin_ia32_selectps_256(__M,
68776580 (__v8sf) _mm256_broadcastss_ps(__A),
68786581 (__v8sf) __O);
68796582}
68806583
6881static __inline__ __m256 __DEFAULT_FN_ATTRS256
6882_mm256_maskz_broadcastss_ps (__mmask8 __M, __m128 __A)
6883{
6584static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
6585_mm256_maskz_broadcastss_ps(__mmask8 __M, __m128 __A) {
68846586 return (__m256)__builtin_ia32_selectps_256(__M,
68856587 (__v8sf) _mm256_broadcastss_ps(__A),
68866588 (__v8sf) _mm256_setzero_ps());
68876589}
68886590
6889static __inline__ __m128i __DEFAULT_FN_ATTRS128
6890_mm_mask_broadcastd_epi32 (__m128i __O, __mmask8 __M, __m128i __A)
6891{
6591static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6592_mm_mask_broadcastd_epi32(__m128i __O, __mmask8 __M, __m128i __A) {
68926593 return (__m128i)__builtin_ia32_selectd_128(__M,
68936594 (__v4si) _mm_broadcastd_epi32(__A),
68946595 (__v4si) __O);
68956596}
68966597
6897static __inline__ __m128i __DEFAULT_FN_ATTRS128
6898_mm_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
6899{
6598static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6599_mm_maskz_broadcastd_epi32(__mmask8 __M, __m128i __A) {
69006600 return (__m128i)__builtin_ia32_selectd_128(__M,
69016601 (__v4si) _mm_broadcastd_epi32(__A),
69026602 (__v4si) _mm_setzero_si128());
69036603}
69046604
6905static __inline__ __m256i __DEFAULT_FN_ATTRS256
6906_mm256_mask_broadcastd_epi32 (__m256i __O, __mmask8 __M, __m128i __A)
6907{
6605static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6606_mm256_mask_broadcastd_epi32(__m256i __O, __mmask8 __M, __m128i __A) {
69086607 return (__m256i)__builtin_ia32_selectd_256(__M,
69096608 (__v8si) _mm256_broadcastd_epi32(__A),
69106609 (__v8si) __O);
69116610}
69126611
6913static __inline__ __m256i __DEFAULT_FN_ATTRS256
6914_mm256_maskz_broadcastd_epi32 (__mmask8 __M, __m128i __A)
6915{
6612static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6613_mm256_maskz_broadcastd_epi32(__mmask8 __M, __m128i __A) {
69166614 return (__m256i)__builtin_ia32_selectd_256(__M,
69176615 (__v8si) _mm256_broadcastd_epi32(__A),
69186616 (__v8si) _mm256_setzero_si256());
69196617}
69206618
6921static __inline__ __m128i __DEFAULT_FN_ATTRS128
6922_mm_mask_broadcastq_epi64 (__m128i __O, __mmask8 __M, __m128i __A)
6923{
6619static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6620_mm_mask_broadcastq_epi64(__m128i __O, __mmask8 __M, __m128i __A) {
69246621 return (__m128i)__builtin_ia32_selectq_128(__M,
69256622 (__v2di) _mm_broadcastq_epi64(__A),
69266623 (__v2di) __O);
69276624}
69286625
6929static __inline__ __m128i __DEFAULT_FN_ATTRS128
6930_mm_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
6931{
6626static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
6627_mm_maskz_broadcastq_epi64(__mmask8 __M, __m128i __A) {
69326628 return (__m128i)__builtin_ia32_selectq_128(__M,
69336629 (__v2di) _mm_broadcastq_epi64(__A),
69346630 (__v2di) _mm_setzero_si128());
69356631}
69366632
6937static __inline__ __m256i __DEFAULT_FN_ATTRS256
6938_mm256_mask_broadcastq_epi64 (__m256i __O, __mmask8 __M, __m128i __A)
6939{
6633static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6634_mm256_mask_broadcastq_epi64(__m256i __O, __mmask8 __M, __m128i __A) {
69406635 return (__m256i)__builtin_ia32_selectq_256(__M,
69416636 (__v4di) _mm256_broadcastq_epi64(__A),
69426637 (__v4di) __O);
69436638}
69446639
6945static __inline__ __m256i __DEFAULT_FN_ATTRS256
6946_mm256_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
6947{
6640static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
6641_mm256_maskz_broadcastq_epi64(__mmask8 __M, __m128i __A) {
69486642 return (__m256i)__builtin_ia32_selectq_256(__M,
69496643 (__v4di) _mm256_broadcastq_epi64(__A),
69506644 (__v4di) _mm256_setzero_si256());
......@@ -7536,9 +7230,8 @@ _mm256_mask_cvtusepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
75367230 __builtin_ia32_pmovusqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
75377231}
75387232
7539static __inline__ __m128i __DEFAULT_FN_ATTRS128
7540_mm_cvtepi32_epi8 (__m128i __A)
7541{
7233static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
7234_mm_cvtepi32_epi8(__m128i __A) {
75427235 return (__m128i)__builtin_shufflevector(
75437236 __builtin_convertvector((__v4si)__A, __v4qi), (__v4qi){0, 0, 0, 0}, 0, 1,
75447237 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7);
......@@ -7566,9 +7259,8 @@ _mm_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
75667259 __builtin_ia32_pmovdb128mem_mask ((__v16qi *) __P, (__v4si) __A, __M);
75677260}
75687261
7569static __inline__ __m128i __DEFAULT_FN_ATTRS256
7570_mm256_cvtepi32_epi8 (__m256i __A)
7571{
7262static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
7263_mm256_cvtepi32_epi8(__m256i __A) {
75727264 return (__m128i)__builtin_shufflevector(
75737265 __builtin_convertvector((__v8si)__A, __v8qi),
75747266 (__v8qi){0, 0, 0, 0, 0, 0, 0, 0}, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
......@@ -7576,8 +7268,7 @@ _mm256_cvtepi32_epi8 (__m256i __A)
75767268}
75777269
75787270static __inline__ __m128i __DEFAULT_FN_ATTRS256
7579_mm256_mask_cvtepi32_epi8 (__m128i __O, __mmask8 __M, __m256i __A)
7580{
7271_mm256_mask_cvtepi32_epi8(__m128i __O, __mmask8 __M, __m256i __A) {
75817272 return (__m128i) __builtin_ia32_pmovdb256_mask ((__v8si) __A,
75827273 (__v16qi) __O, __M);
75837274}
......@@ -7596,9 +7287,8 @@ _mm256_mask_cvtepi32_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
75967287 __builtin_ia32_pmovdb256mem_mask ((__v16qi *) __P, (__v8si) __A, __M);
75977288}
75987289
7599static __inline__ __m128i __DEFAULT_FN_ATTRS128
7600_mm_cvtepi32_epi16 (__m128i __A)
7601{
7290static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
7291_mm_cvtepi32_epi16(__m128i __A) {
76027292 return (__m128i)__builtin_shufflevector(
76037293 __builtin_convertvector((__v4si)__A, __v4hi), (__v4hi){0, 0, 0, 0}, 0, 1,
76047294 2, 3, 4, 5, 6, 7);
......@@ -7625,9 +7315,8 @@ _mm_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
76257315 __builtin_ia32_pmovdw128mem_mask ((__v8hi *) __P, (__v4si) __A, __M);
76267316}
76277317
7628static __inline__ __m128i __DEFAULT_FN_ATTRS256
7629_mm256_cvtepi32_epi16 (__m256i __A)
7630{
7318static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
7319_mm256_cvtepi32_epi16(__m256i __A) {
76317320 return (__m128i)__builtin_convertvector((__v8si)__A, __v8hi);
76327321}
76337322
......@@ -7652,9 +7341,8 @@ _mm256_mask_cvtepi32_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
76527341 __builtin_ia32_pmovdw256mem_mask ((__v8hi *) __P, (__v8si) __A, __M);
76537342}
76547343
7655static __inline__ __m128i __DEFAULT_FN_ATTRS128
7656_mm_cvtepi64_epi8 (__m128i __A)
7657{
7344static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
7345_mm_cvtepi64_epi8(__m128i __A) {
76587346 return (__m128i)__builtin_shufflevector(
76597347 __builtin_convertvector((__v2di)__A, __v2qi), (__v2qi){0, 0}, 0, 1, 2, 3,
76607348 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3);
......@@ -7681,9 +7369,8 @@ _mm_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m128i __A)
76817369 __builtin_ia32_pmovqb128mem_mask ((__v16qi *) __P, (__v2di) __A, __M);
76827370}
76837371
7684static __inline__ __m128i __DEFAULT_FN_ATTRS256
7685_mm256_cvtepi64_epi8 (__m256i __A)
7686{
7372static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
7373_mm256_cvtepi64_epi8(__m256i __A) {
76877374 return (__m128i)__builtin_shufflevector(
76887375 __builtin_convertvector((__v4di)__A, __v4qi), (__v4qi){0, 0, 0, 0}, 0, 1,
76897376 2, 3, 4, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7);
......@@ -7710,9 +7397,8 @@ _mm256_mask_cvtepi64_storeu_epi8 (void * __P, __mmask8 __M, __m256i __A)
77107397 __builtin_ia32_pmovqb256mem_mask ((__v16qi *) __P, (__v4di) __A, __M);
77117398}
77127399
7713static __inline__ __m128i __DEFAULT_FN_ATTRS128
7714_mm_cvtepi64_epi32 (__m128i __A)
7715{
7400static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
7401_mm_cvtepi64_epi32(__m128i __A) {
77167402 return (__m128i)__builtin_shufflevector(
77177403 __builtin_convertvector((__v2di)__A, __v2si), (__v2si){0, 0}, 0, 1, 2, 3);
77187404}
......@@ -7738,23 +7424,20 @@ _mm_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m128i __A)
77387424 __builtin_ia32_pmovqd128mem_mask ((__v4si *) __P, (__v2di) __A, __M);
77397425}
77407426
7741static __inline__ __m128i __DEFAULT_FN_ATTRS256
7742_mm256_cvtepi64_epi32 (__m256i __A)
7743{
7427static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
7428_mm256_cvtepi64_epi32(__m256i __A) {
77447429 return (__m128i)__builtin_convertvector((__v4di)__A, __v4si);
77457430}
77467431
7747static __inline__ __m128i __DEFAULT_FN_ATTRS256
7748_mm256_mask_cvtepi64_epi32 (__m128i __O, __mmask8 __M, __m256i __A)
7749{
7432static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
7433_mm256_mask_cvtepi64_epi32(__m128i __O, __mmask8 __M, __m256i __A) {
77507434 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
77517435 (__v4si)_mm256_cvtepi64_epi32(__A),
77527436 (__v4si)__O);
77537437}
77547438
7755static __inline__ __m128i __DEFAULT_FN_ATTRS256
7756_mm256_maskz_cvtepi64_epi32 (__mmask8 __M, __m256i __A)
7757{
7439static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
7440_mm256_maskz_cvtepi64_epi32(__mmask8 __M, __m256i __A) {
77587441 return (__m128i)__builtin_ia32_selectd_128((__mmask8)__M,
77597442 (__v4si)_mm256_cvtepi64_epi32(__A),
77607443 (__v4si)_mm_setzero_si128());
......@@ -7766,9 +7449,8 @@ _mm256_mask_cvtepi64_storeu_epi32 (void * __P, __mmask8 __M, __m256i __A)
77667449 __builtin_ia32_pmovqd256mem_mask ((__v4si *) __P, (__v4di) __A, __M);
77677450}
77687451
7769static __inline__ __m128i __DEFAULT_FN_ATTRS128
7770_mm_cvtepi64_epi16 (__m128i __A)
7771{
7452static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
7453_mm_cvtepi64_epi16(__m128i __A) {
77727454 return (__m128i)__builtin_shufflevector(
77737455 __builtin_convertvector((__v2di)__A, __v2hi), (__v2hi){0, 0}, 0, 1, 2, 3,
77747456 3, 3, 3, 3);
......@@ -7796,9 +7478,8 @@ _mm_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m128i __A)
77967478 __builtin_ia32_pmovqw128mem_mask ((__v8hi *) __P, (__v2di) __A, __M);
77977479}
77987480
7799static __inline__ __m128i __DEFAULT_FN_ATTRS256
7800_mm256_cvtepi64_epi16 (__m256i __A)
7801{
7481static __inline__ __m128i __DEFAULT_FN_ATTRS256_CONSTEXPR
7482_mm256_cvtepi64_epi16(__m256i __A) {
78027483 return (__m128i)__builtin_shufflevector(
78037484 __builtin_convertvector((__v4di)__A, __v4hi), (__v4hi){0, 0, 0, 0}, 0, 1,
78047485 2, 3, 4, 5, 6, 7);
......@@ -7825,11 +7506,10 @@ _mm256_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
78257506 __builtin_ia32_pmovqw256mem_mask ((__v8hi *) __P, (__v4di) __A, __M);
78267507}
78277508
7828#define _mm256_extractf32x4_ps(A, imm) \
7829 ((__m128)__builtin_ia32_extractf32x4_256_mask((__v8sf)(__m256)(A), \
7830 (int)(imm), \
7831 (__v4sf)_mm_undefined_ps(), \
7832 (__mmask8)-1))
7509#define _mm256_extractf32x4_ps(A, imm) \
7510 ((__m128)__builtin_ia32_extractf32x4_256_mask( \
7511 (__v8sf)(__m256)(A), (int)(imm), (__v4sf)_mm_setzero_ps(), \
7512 (__mmask8) - 1))
78337513
78347514#define _mm256_mask_extractf32x4_ps(W, U, A, imm) \
78357515 ((__m128)__builtin_ia32_extractf32x4_256_mask((__v8sf)(__m256)(A), \
......@@ -7843,11 +7523,10 @@ _mm256_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
78437523 (__v4sf)_mm_setzero_ps(), \
78447524 (__mmask8)(U)))
78457525
7846#define _mm256_extracti32x4_epi32(A, imm) \
7847 ((__m128i)__builtin_ia32_extracti32x4_256_mask((__v8si)(__m256i)(A), \
7848 (int)(imm), \
7849 (__v4si)_mm_undefined_si128(), \
7850 (__mmask8)-1))
7526#define _mm256_extracti32x4_epi32(A, imm) \
7527 ((__m128i)__builtin_ia32_extracti32x4_256_mask( \
7528 (__v8si)(__m256i)(A), (int)(imm), (__v4si)_mm_setzero_si128(), \
7529 (__mmask8) - 1))
78517530
78527531#define _mm256_mask_extracti32x4_epi32(W, U, A, imm) \
78537532 ((__m128i)__builtin_ia32_extracti32x4_256_mask((__v8si)(__m256i)(A), \
......@@ -8083,47 +7762,41 @@ _mm256_mask_cvtepi64_storeu_epi16 (void * __P, __mmask8 __M, __m256i __A)
80837762 (__v4di)_mm256_permutex_epi64((X), (C)), \
80847763 (__v4di)_mm256_setzero_si256()))
80857764
8086static __inline__ __m256d __DEFAULT_FN_ATTRS256
8087_mm256_permutexvar_pd (__m256i __X, __m256d __Y)
8088{
7765static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
7766_mm256_permutexvar_pd(__m256i __X, __m256d __Y) {
80897767 return (__m256d)__builtin_ia32_permvardf256((__v4df)__Y, (__v4di)__X);
80907768}
80917769
8092static __inline__ __m256d __DEFAULT_FN_ATTRS256
8093_mm256_mask_permutexvar_pd (__m256d __W, __mmask8 __U, __m256i __X,
8094 __m256d __Y)
8095{
7770static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
7771_mm256_mask_permutexvar_pd(__m256d __W, __mmask8 __U, __m256i __X,
7772 __m256d __Y) {
80967773 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
80977774 (__v4df)_mm256_permutexvar_pd(__X, __Y),
80987775 (__v4df)__W);
80997776}
81007777
8101static __inline__ __m256d __DEFAULT_FN_ATTRS256
8102_mm256_maskz_permutexvar_pd (__mmask8 __U, __m256i __X, __m256d __Y)
8103{
7778static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
7779_mm256_maskz_permutexvar_pd(__mmask8 __U, __m256i __X, __m256d __Y) {
81047780 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
81057781 (__v4df)_mm256_permutexvar_pd(__X, __Y),
81067782 (__v4df)_mm256_setzero_pd());
81077783}
81087784
8109static __inline__ __m256i __DEFAULT_FN_ATTRS256
8110_mm256_permutexvar_epi64 ( __m256i __X, __m256i __Y)
8111{
7785static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
7786_mm256_permutexvar_epi64(__m256i __X, __m256i __Y) {
81127787 return (__m256i)__builtin_ia32_permvardi256((__v4di) __Y, (__v4di) __X);
81137788}
81147789
8115static __inline__ __m256i __DEFAULT_FN_ATTRS256
8116_mm256_maskz_permutexvar_epi64 (__mmask8 __M, __m256i __X, __m256i __Y)
8117{
7790static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
7791_mm256_maskz_permutexvar_epi64(__mmask8 __M, __m256i __X, __m256i __Y) {
81187792 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
81197793 (__v4di)_mm256_permutexvar_epi64(__X, __Y),
81207794 (__v4di)_mm256_setzero_si256());
81217795}
81227796
8123static __inline__ __m256i __DEFAULT_FN_ATTRS256
8124_mm256_mask_permutexvar_epi64 (__m256i __W, __mmask8 __M, __m256i __X,
8125 __m256i __Y)
8126{
7797static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
7798_mm256_mask_permutexvar_epi64(__m256i __W, __mmask8 __M, __m256i __X,
7799 __m256i __Y) {
81277800 return (__m256i)__builtin_ia32_selectq_256((__mmask8)__M,
81287801 (__v4di)_mm256_permutexvar_epi64(__X, __Y),
81297802 (__v4di)__W);
......@@ -8131,17 +7804,15 @@ _mm256_mask_permutexvar_epi64 (__m256i __W, __mmask8 __M, __m256i __X,
81317804
81327805#define _mm256_permutexvar_ps(A, B) _mm256_permutevar8x32_ps((B), (A))
81337806
8134static __inline__ __m256 __DEFAULT_FN_ATTRS256
8135_mm256_mask_permutexvar_ps(__m256 __W, __mmask8 __U, __m256i __X, __m256 __Y)
8136{
7807static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
7808_mm256_mask_permutexvar_ps(__m256 __W, __mmask8 __U, __m256i __X, __m256 __Y) {
81377809 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
81387810 (__v8sf)_mm256_permutexvar_ps(__X, __Y),
81397811 (__v8sf)__W);
81407812}
81417813
8142static __inline__ __m256 __DEFAULT_FN_ATTRS256
8143_mm256_maskz_permutexvar_ps(__mmask8 __U, __m256i __X, __m256 __Y)
8144{
7814static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
7815_mm256_maskz_permutexvar_ps(__mmask8 __U, __m256i __X, __m256 __Y) {
81457816 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
81467817 (__v8sf)_mm256_permutexvar_ps(__X, __Y),
81477818 (__v8sf)_mm256_setzero_ps());
......@@ -8149,18 +7820,16 @@ _mm256_maskz_permutexvar_ps(__mmask8 __U, __m256i __X, __m256 __Y)
81497820
81507821#define _mm256_permutexvar_epi32(A, B) _mm256_permutevar8x32_epi32((B), (A))
81517822
8152static __inline__ __m256i __DEFAULT_FN_ATTRS256
7823static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
81537824_mm256_mask_permutexvar_epi32(__m256i __W, __mmask8 __M, __m256i __X,
8154 __m256i __Y)
8155{
7825 __m256i __Y) {
81567826 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
81577827 (__v8si)_mm256_permutexvar_epi32(__X, __Y),
81587828 (__v8si)__W);
81597829}
81607830
8161static __inline__ __m256i __DEFAULT_FN_ATTRS256
8162_mm256_maskz_permutexvar_epi32(__mmask8 __M, __m256i __X, __m256i __Y)
8163{
7831static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
7832_mm256_maskz_permutexvar_epi32(__mmask8 __M, __m256i __X, __m256i __Y) {
81647833 return (__m256i)__builtin_ia32_selectd_256((__mmask8)__M,
81657834 (__v8si)_mm256_permutexvar_epi32(__X, __Y),
81667835 (__v8si)_mm256_setzero_si256());
......@@ -8222,65 +7891,57 @@ _mm256_maskz_permutexvar_epi32(__mmask8 __M, __m256i __X, __m256i __Y)
82227891 (__v4di)_mm256_alignr_epi64((A), (B), (imm)), \
82237892 (__v4di)_mm256_setzero_si256()))
82247893
8225static __inline__ __m128 __DEFAULT_FN_ATTRS128
8226_mm_mask_movehdup_ps (__m128 __W, __mmask8 __U, __m128 __A)
8227{
7894static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
7895_mm_mask_movehdup_ps(__m128 __W, __mmask8 __U, __m128 __A) {
82287896 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
82297897 (__v4sf)_mm_movehdup_ps(__A),
82307898 (__v4sf)__W);
82317899}
82327900
8233static __inline__ __m128 __DEFAULT_FN_ATTRS128
8234_mm_maskz_movehdup_ps (__mmask8 __U, __m128 __A)
8235{
7901static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
7902_mm_maskz_movehdup_ps(__mmask8 __U, __m128 __A) {
82367903 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
82377904 (__v4sf)_mm_movehdup_ps(__A),
82387905 (__v4sf)_mm_setzero_ps());
82397906}
82407907
8241static __inline__ __m256 __DEFAULT_FN_ATTRS256
8242_mm256_mask_movehdup_ps (__m256 __W, __mmask8 __U, __m256 __A)
8243{
7908static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
7909_mm256_mask_movehdup_ps(__m256 __W, __mmask8 __U, __m256 __A) {
82447910 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
82457911 (__v8sf)_mm256_movehdup_ps(__A),
82467912 (__v8sf)__W);
82477913}
82487914
8249static __inline__ __m256 __DEFAULT_FN_ATTRS256
8250_mm256_maskz_movehdup_ps (__mmask8 __U, __m256 __A)
8251{
7915static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
7916_mm256_maskz_movehdup_ps(__mmask8 __U, __m256 __A) {
82527917 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
82537918 (__v8sf)_mm256_movehdup_ps(__A),
82547919 (__v8sf)_mm256_setzero_ps());
82557920}
82567921
8257static __inline__ __m128 __DEFAULT_FN_ATTRS128
8258_mm_mask_moveldup_ps (__m128 __W, __mmask8 __U, __m128 __A)
8259{
7922static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
7923_mm_mask_moveldup_ps(__m128 __W, __mmask8 __U, __m128 __A) {
82607924 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
82617925 (__v4sf)_mm_moveldup_ps(__A),
82627926 (__v4sf)__W);
82637927}
82647928
8265static __inline__ __m128 __DEFAULT_FN_ATTRS128
8266_mm_maskz_moveldup_ps (__mmask8 __U, __m128 __A)
8267{
7929static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
7930_mm_maskz_moveldup_ps(__mmask8 __U, __m128 __A) {
82687931 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
82697932 (__v4sf)_mm_moveldup_ps(__A),
82707933 (__v4sf)_mm_setzero_ps());
82717934}
82727935
8273static __inline__ __m256 __DEFAULT_FN_ATTRS256
8274_mm256_mask_moveldup_ps (__m256 __W, __mmask8 __U, __m256 __A)
8275{
7936static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
7937_mm256_mask_moveldup_ps(__m256 __W, __mmask8 __U, __m256 __A) {
82767938 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
82777939 (__v8sf)_mm256_moveldup_ps(__A),
82787940 (__v8sf)__W);
82797941}
82807942
8281static __inline__ __m256 __DEFAULT_FN_ATTRS256
8282_mm256_maskz_moveldup_ps (__mmask8 __U, __m256 __A)
8283{
7943static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
7944_mm256_maskz_moveldup_ps(__mmask8 __U, __m256 __A) {
82847945 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
82857946 (__v8sf)_mm256_moveldup_ps(__A),
82867947 (__v8sf)_mm256_setzero_ps());
......@@ -8306,68 +7967,52 @@ _mm256_maskz_moveldup_ps (__mmask8 __U, __m256 __A)
83067967 (__v4si)_mm_shuffle_epi32((A), (I)), \
83077968 (__v4si)_mm_setzero_si128()))
83087969
8309static __inline__ __m128d __DEFAULT_FN_ATTRS128
8310_mm_mask_mov_pd (__m128d __W, __mmask8 __U, __m128d __A)
8311{
8312 return (__m128d) __builtin_ia32_selectpd_128 ((__mmask8) __U,
8313 (__v2df) __A,
8314 (__v2df) __W);
7970static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
7971_mm_mask_mov_pd(__m128d __W, __mmask8 __U, __m128d __A) {
7972 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U, (__v2df)__A,
7973 (__v2df)__W);
83157974}
83167975
8317static __inline__ __m128d __DEFAULT_FN_ATTRS128
8318_mm_maskz_mov_pd (__mmask8 __U, __m128d __A)
8319{
8320 return (__m128d) __builtin_ia32_selectpd_128 ((__mmask8) __U,
8321 (__v2df) __A,
8322 (__v2df) _mm_setzero_pd ());
7976static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
7977_mm_maskz_mov_pd(__mmask8 __U, __m128d __A) {
7978 return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U, (__v2df)__A,
7979 (__v2df)_mm_setzero_pd());
83237980}
83247981
8325static __inline__ __m256d __DEFAULT_FN_ATTRS256
8326_mm256_mask_mov_pd (__m256d __W, __mmask8 __U, __m256d __A)
8327{
8328 return (__m256d) __builtin_ia32_selectpd_256 ((__mmask8) __U,
8329 (__v4df) __A,
8330 (__v4df) __W);
7982static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
7983_mm256_mask_mov_pd(__m256d __W, __mmask8 __U, __m256d __A) {
7984 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U, (__v4df)__A,
7985 (__v4df)__W);
83317986}
83327987
8333static __inline__ __m256d __DEFAULT_FN_ATTRS256
8334_mm256_maskz_mov_pd (__mmask8 __U, __m256d __A)
8335{
8336 return (__m256d) __builtin_ia32_selectpd_256 ((__mmask8) __U,
8337 (__v4df) __A,
8338 (__v4df) _mm256_setzero_pd ());
7988static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
7989_mm256_maskz_mov_pd(__mmask8 __U, __m256d __A) {
7990 return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U, (__v4df)__A,
7991 (__v4df)_mm256_setzero_pd());
83397992}
83407993
8341static __inline__ __m128 __DEFAULT_FN_ATTRS128
8342_mm_mask_mov_ps (__m128 __W, __mmask8 __U, __m128 __A)
8343{
8344 return (__m128) __builtin_ia32_selectps_128 ((__mmask8) __U,
8345 (__v4sf) __A,
8346 (__v4sf) __W);
7994static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
7995_mm_mask_mov_ps(__m128 __W, __mmask8 __U, __m128 __A) {
7996 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U, (__v4sf)__A,
7997 (__v4sf)__W);
83477998}
83487999
8349static __inline__ __m128 __DEFAULT_FN_ATTRS128
8350_mm_maskz_mov_ps (__mmask8 __U, __m128 __A)
8351{
8352 return (__m128) __builtin_ia32_selectps_128 ((__mmask8) __U,
8353 (__v4sf) __A,
8354 (__v4sf) _mm_setzero_ps ());
8000static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
8001_mm_maskz_mov_ps(__mmask8 __U, __m128 __A) {
8002 return (__m128)__builtin_ia32_selectps_128((__mmask8)__U, (__v4sf)__A,
8003 (__v4sf)_mm_setzero_ps());
83558004}
83568005
8357static __inline__ __m256 __DEFAULT_FN_ATTRS256
8358_mm256_mask_mov_ps (__m256 __W, __mmask8 __U, __m256 __A)
8359{
8360 return (__m256) __builtin_ia32_selectps_256 ((__mmask8) __U,
8361 (__v8sf) __A,
8362 (__v8sf) __W);
8006static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
8007_mm256_mask_mov_ps(__m256 __W, __mmask8 __U, __m256 __A) {
8008 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U, (__v8sf)__A,
8009 (__v8sf)__W);
83638010}
83648011
8365static __inline__ __m256 __DEFAULT_FN_ATTRS256
8366_mm256_maskz_mov_ps (__mmask8 __U, __m256 __A)
8367{
8368 return (__m256) __builtin_ia32_selectps_256 ((__mmask8) __U,
8369 (__v8sf) __A,
8370 (__v8sf) _mm256_setzero_ps ());
8012static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
8013_mm256_maskz_mov_ps(__mmask8 __U, __m256 __A) {
8014 return (__m256)__builtin_ia32_selectps_256((__mmask8)__U, (__v8sf)__A,
8015 (__v8sf)_mm256_setzero_ps());
83718016}
83728017
83738018static __inline__ __m128 __DEFAULT_FN_ATTRS128
......@@ -8430,8 +8075,9 @@ _mm256_maskz_cvtph_ps (__mmask8 __U, __m128i __A)
84308075#define _mm256_mask_cvtps_ph _mm256_mask_cvt_roundps_ph
84318076#define _mm256_maskz_cvtps_ph _mm256_maskz_cvt_roundps_ph
84328077
8433
84348078#undef __DEFAULT_FN_ATTRS128
84358079#undef __DEFAULT_FN_ATTRS256
8080#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
8081#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
84368082
84378083#endif /* __AVX512VLINTRIN_H */
lib/include/avx512vlvbmi2intrin.h+78-63
......@@ -17,13 +17,21 @@
1717/* Define the default attributes for the functions in this file. */
1818#define __DEFAULT_FN_ATTRS128 \
1919 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512vl,avx512vbmi2,no-evex512"), \
20 __target__("avx512vl,avx512vbmi2"), \
2121 __min_vector_width__(128)))
2222#define __DEFAULT_FN_ATTRS256 \
2323 __attribute__((__always_inline__, __nodebug__, \
24 __target__("avx512vl,avx512vbmi2,no-evex512"), \
24 __target__("avx512vl,avx512vbmi2"), \
2525 __min_vector_width__(256)))
2626
27#if defined(__cplusplus) && (__cplusplus >= 201103L)
28#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
29#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
30#else
31#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
32#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
33#endif
34
2735static __inline__ __m128i __DEFAULT_FN_ATTRS128
2836_mm_mask_compress_epi16(__m128i __S, __mmask8 __U, __m128i __D)
2937{
......@@ -412,14 +420,14 @@ _mm256_maskz_expandloadu_epi8(__mmask32 __U, void const *__P)
412420 (__v8hi)_mm_shrdi_epi16((A), (B), (I)), \
413421 (__v8hi)_mm_setzero_si128()))
414422
415static __inline__ __m256i __DEFAULT_FN_ATTRS256
423static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
416424_mm256_shldv_epi64(__m256i __A, __m256i __B, __m256i __C)
417425{
418 return (__m256i)__builtin_ia32_vpshldvq256((__v4di)__A, (__v4di)__B,
419 (__v4di)__C);
426 return (__m256i)__builtin_elementwise_fshl((__v4du)__A, (__v4du)__B,
427 (__v4du)__C);
420428}
421429
422static __inline__ __m256i __DEFAULT_FN_ATTRS256
430static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
423431_mm256_mask_shldv_epi64(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C)
424432{
425433 return (__m256i)__builtin_ia32_selectq_256(__U,
......@@ -427,7 +435,7 @@ _mm256_mask_shldv_epi64(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C)
427435 (__v4di)__A);
428436}
429437
430static __inline__ __m256i __DEFAULT_FN_ATTRS256
438static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
431439_mm256_maskz_shldv_epi64(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C)
432440{
433441 return (__m256i)__builtin_ia32_selectq_256(__U,
......@@ -435,14 +443,14 @@ _mm256_maskz_shldv_epi64(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C)
435443 (__v4di)_mm256_setzero_si256());
436444}
437445
438static __inline__ __m128i __DEFAULT_FN_ATTRS128
446static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
439447_mm_shldv_epi64(__m128i __A, __m128i __B, __m128i __C)
440448{
441 return (__m128i)__builtin_ia32_vpshldvq128((__v2di)__A, (__v2di)__B,
442 (__v2di)__C);
449 return (__m128i)__builtin_elementwise_fshl((__v2du)__A, (__v2du)__B,
450 (__v2du)__C);
443451}
444452
445static __inline__ __m128i __DEFAULT_FN_ATTRS128
453static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
446454_mm_mask_shldv_epi64(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C)
447455{
448456 return (__m128i)__builtin_ia32_selectq_128(__U,
......@@ -450,7 +458,7 @@ _mm_mask_shldv_epi64(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C)
450458 (__v2di)__A);
451459}
452460
453static __inline__ __m128i __DEFAULT_FN_ATTRS128
461static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
454462_mm_maskz_shldv_epi64(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C)
455463{
456464 return (__m128i)__builtin_ia32_selectq_128(__U,
......@@ -458,14 +466,14 @@ _mm_maskz_shldv_epi64(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C)
458466 (__v2di)_mm_setzero_si128());
459467}
460468
461static __inline__ __m256i __DEFAULT_FN_ATTRS256
469static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
462470_mm256_shldv_epi32(__m256i __A, __m256i __B, __m256i __C)
463471{
464 return (__m256i)__builtin_ia32_vpshldvd256((__v8si)__A, (__v8si)__B,
465 (__v8si)__C);
472 return (__m256i)__builtin_elementwise_fshl((__v8su)__A, (__v8su)__B,
473 (__v8su)__C);
466474}
467475
468static __inline__ __m256i __DEFAULT_FN_ATTRS256
476static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
469477_mm256_mask_shldv_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C)
470478{
471479 return (__m256i)__builtin_ia32_selectd_256(__U,
......@@ -473,7 +481,7 @@ _mm256_mask_shldv_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C)
473481 (__v8si)__A);
474482}
475483
476static __inline__ __m256i __DEFAULT_FN_ATTRS256
484static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
477485_mm256_maskz_shldv_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C)
478486{
479487 return (__m256i)__builtin_ia32_selectd_256(__U,
......@@ -481,14 +489,14 @@ _mm256_maskz_shldv_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C)
481489 (__v8si)_mm256_setzero_si256());
482490}
483491
484static __inline__ __m128i __DEFAULT_FN_ATTRS128
492static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
485493_mm_shldv_epi32(__m128i __A, __m128i __B, __m128i __C)
486494{
487 return (__m128i)__builtin_ia32_vpshldvd128((__v4si)__A, (__v4si)__B,
488 (__v4si)__C);
495 return (__m128i)__builtin_elementwise_fshl((__v4su)__A, (__v4su)__B,
496 (__v4su)__C);
489497}
490498
491static __inline__ __m128i __DEFAULT_FN_ATTRS128
499static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
492500_mm_mask_shldv_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C)
493501{
494502 return (__m128i)__builtin_ia32_selectd_128(__U,
......@@ -496,7 +504,7 @@ _mm_mask_shldv_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C)
496504 (__v4si)__A);
497505}
498506
499static __inline__ __m128i __DEFAULT_FN_ATTRS128
507static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
500508_mm_maskz_shldv_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C)
501509{
502510 return (__m128i)__builtin_ia32_selectd_128(__U,
......@@ -504,14 +512,14 @@ _mm_maskz_shldv_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C)
504512 (__v4si)_mm_setzero_si128());
505513}
506514
507static __inline__ __m256i __DEFAULT_FN_ATTRS256
515static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
508516_mm256_shldv_epi16(__m256i __A, __m256i __B, __m256i __C)
509517{
510 return (__m256i)__builtin_ia32_vpshldvw256((__v16hi)__A, (__v16hi)__B,
511 (__v16hi)__C);
518 return (__m256i)__builtin_elementwise_fshl((__v16hu)__A, (__v16hu)__B,
519 (__v16hu)__C);
512520}
513521
514static __inline__ __m256i __DEFAULT_FN_ATTRS256
522static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
515523_mm256_mask_shldv_epi16(__m256i __A, __mmask16 __U, __m256i __B, __m256i __C)
516524{
517525 return (__m256i)__builtin_ia32_selectw_256(__U,
......@@ -519,7 +527,7 @@ _mm256_mask_shldv_epi16(__m256i __A, __mmask16 __U, __m256i __B, __m256i __C)
519527 (__v16hi)__A);
520528}
521529
522static __inline__ __m256i __DEFAULT_FN_ATTRS256
530static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
523531_mm256_maskz_shldv_epi16(__mmask16 __U, __m256i __A, __m256i __B, __m256i __C)
524532{
525533 return (__m256i)__builtin_ia32_selectw_256(__U,
......@@ -527,14 +535,14 @@ _mm256_maskz_shldv_epi16(__mmask16 __U, __m256i __A, __m256i __B, __m256i __C)
527535 (__v16hi)_mm256_setzero_si256());
528536}
529537
530static __inline__ __m128i __DEFAULT_FN_ATTRS128
538static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
531539_mm_shldv_epi16(__m128i __A, __m128i __B, __m128i __C)
532540{
533 return (__m128i)__builtin_ia32_vpshldvw128((__v8hi)__A, (__v8hi)__B,
534 (__v8hi)__C);
541 return (__m128i)__builtin_elementwise_fshl((__v8hu)__A, (__v8hu)__B,
542 (__v8hu)__C);
535543}
536544
537static __inline__ __m128i __DEFAULT_FN_ATTRS128
545static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
538546_mm_mask_shldv_epi16(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C)
539547{
540548 return (__m128i)__builtin_ia32_selectw_128(__U,
......@@ -542,7 +550,7 @@ _mm_mask_shldv_epi16(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C)
542550 (__v8hi)__A);
543551}
544552
545static __inline__ __m128i __DEFAULT_FN_ATTRS128
553static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
546554_mm_maskz_shldv_epi16(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C)
547555{
548556 return (__m128i)__builtin_ia32_selectw_128(__U,
......@@ -550,14 +558,15 @@ _mm_maskz_shldv_epi16(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C)
550558 (__v8hi)_mm_setzero_si128());
551559}
552560
553static __inline__ __m256i __DEFAULT_FN_ATTRS256
561static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
554562_mm256_shrdv_epi64(__m256i __A, __m256i __B, __m256i __C)
555563{
556 return (__m256i)__builtin_ia32_vpshrdvq256((__v4di)__A, (__v4di)__B,
557 (__v4di)__C);
564 // Ops __A and __B are swapped.
565 return (__m256i)__builtin_elementwise_fshr((__v4du)__B, (__v4du)__A,
566 (__v4du)__C);
558567}
559568
560static __inline__ __m256i __DEFAULT_FN_ATTRS256
569static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
561570_mm256_mask_shrdv_epi64(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C)
562571{
563572 return (__m256i)__builtin_ia32_selectq_256(__U,
......@@ -565,7 +574,7 @@ _mm256_mask_shrdv_epi64(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C)
565574 (__v4di)__A);
566575}
567576
568static __inline__ __m256i __DEFAULT_FN_ATTRS256
577static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
569578_mm256_maskz_shrdv_epi64(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C)
570579{
571580 return (__m256i)__builtin_ia32_selectq_256(__U,
......@@ -573,14 +582,15 @@ _mm256_maskz_shrdv_epi64(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C)
573582 (__v4di)_mm256_setzero_si256());
574583}
575584
576static __inline__ __m128i __DEFAULT_FN_ATTRS128
585static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
577586_mm_shrdv_epi64(__m128i __A, __m128i __B, __m128i __C)
578587{
579 return (__m128i)__builtin_ia32_vpshrdvq128((__v2di)__A, (__v2di)__B,
580 (__v2di)__C);
588 // Ops __A and __B are swapped.
589 return (__m128i)__builtin_elementwise_fshr((__v2du)__B, (__v2du)__A,
590 (__v2du)__C);
581591}
582592
583static __inline__ __m128i __DEFAULT_FN_ATTRS128
593static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
584594_mm_mask_shrdv_epi64(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C)
585595{
586596 return (__m128i)__builtin_ia32_selectq_128(__U,
......@@ -588,7 +598,7 @@ _mm_mask_shrdv_epi64(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C)
588598 (__v2di)__A);
589599}
590600
591static __inline__ __m128i __DEFAULT_FN_ATTRS128
601static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
592602_mm_maskz_shrdv_epi64(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C)
593603{
594604 return (__m128i)__builtin_ia32_selectq_128(__U,
......@@ -596,14 +606,15 @@ _mm_maskz_shrdv_epi64(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C)
596606 (__v2di)_mm_setzero_si128());
597607}
598608
599static __inline__ __m256i __DEFAULT_FN_ATTRS256
609static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
600610_mm256_shrdv_epi32(__m256i __A, __m256i __B, __m256i __C)
601611{
602 return (__m256i)__builtin_ia32_vpshrdvd256((__v8si)__A, (__v8si)__B,
603 (__v8si)__C);
612 // Ops __A and __B are swapped.
613 return (__m256i)__builtin_elementwise_fshr((__v8su)__B, (__v8su)__A,
614 (__v8su)__C);
604615}
605616
606static __inline__ __m256i __DEFAULT_FN_ATTRS256
617static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
607618_mm256_mask_shrdv_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C)
608619{
609620 return (__m256i)__builtin_ia32_selectd_256(__U,
......@@ -611,7 +622,7 @@ _mm256_mask_shrdv_epi32(__m256i __A, __mmask8 __U, __m256i __B, __m256i __C)
611622 (__v8si)__A);
612623}
613624
614static __inline__ __m256i __DEFAULT_FN_ATTRS256
625static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
615626_mm256_maskz_shrdv_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C)
616627{
617628 return (__m256i)__builtin_ia32_selectd_256(__U,
......@@ -619,14 +630,15 @@ _mm256_maskz_shrdv_epi32(__mmask8 __U, __m256i __A, __m256i __B, __m256i __C)
619630 (__v8si)_mm256_setzero_si256());
620631}
621632
622static __inline__ __m128i __DEFAULT_FN_ATTRS128
633static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
623634_mm_shrdv_epi32(__m128i __A, __m128i __B, __m128i __C)
624635{
625 return (__m128i)__builtin_ia32_vpshrdvd128((__v4si)__A, (__v4si)__B,
626 (__v4si)__C);
636 // Ops __A and __B are swapped.
637 return (__m128i)__builtin_elementwise_fshr((__v4su)__B, (__v4su)__A,
638 (__v4su)__C);
627639}
628640
629static __inline__ __m128i __DEFAULT_FN_ATTRS128
641static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
630642_mm_mask_shrdv_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C)
631643{
632644 return (__m128i)__builtin_ia32_selectd_128(__U,
......@@ -634,7 +646,7 @@ _mm_mask_shrdv_epi32(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C)
634646 (__v4si)__A);
635647}
636648
637static __inline__ __m128i __DEFAULT_FN_ATTRS128
649static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
638650_mm_maskz_shrdv_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C)
639651{
640652 return (__m128i)__builtin_ia32_selectd_128(__U,
......@@ -642,14 +654,15 @@ _mm_maskz_shrdv_epi32(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C)
642654 (__v4si)_mm_setzero_si128());
643655}
644656
645static __inline__ __m256i __DEFAULT_FN_ATTRS256
657static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
646658_mm256_shrdv_epi16(__m256i __A, __m256i __B, __m256i __C)
647659{
648 return (__m256i)__builtin_ia32_vpshrdvw256((__v16hi)__A, (__v16hi)__B,
649 (__v16hi)__C);
660 // Ops __A and __B are swapped.
661 return (__m256i)__builtin_elementwise_fshr((__v16hu)__B, (__v16hu)__A,
662 (__v16hu)__C);
650663}
651664
652static __inline__ __m256i __DEFAULT_FN_ATTRS256
665static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
653666_mm256_mask_shrdv_epi16(__m256i __A, __mmask16 __U, __m256i __B, __m256i __C)
654667{
655668 return (__m256i)__builtin_ia32_selectw_256(__U,
......@@ -657,7 +670,7 @@ _mm256_mask_shrdv_epi16(__m256i __A, __mmask16 __U, __m256i __B, __m256i __C)
657670 (__v16hi)__A);
658671}
659672
660static __inline__ __m256i __DEFAULT_FN_ATTRS256
673static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
661674_mm256_maskz_shrdv_epi16(__mmask16 __U, __m256i __A, __m256i __B, __m256i __C)
662675{
663676 return (__m256i)__builtin_ia32_selectw_256(__U,
......@@ -665,14 +678,15 @@ _mm256_maskz_shrdv_epi16(__mmask16 __U, __m256i __A, __m256i __B, __m256i __C)
665678 (__v16hi)_mm256_setzero_si256());
666679}
667680
668static __inline__ __m128i __DEFAULT_FN_ATTRS128
681static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
669682_mm_shrdv_epi16(__m128i __A, __m128i __B, __m128i __C)
670683{
671 return (__m128i)__builtin_ia32_vpshrdvw128((__v8hi)__A, (__v8hi)__B,
672 (__v8hi)__C);
684 // Ops __A and __B are swapped.
685 return (__m128i)__builtin_elementwise_fshr((__v8hu)__B, (__v8hu)__A,
686 (__v8hu)__C);
673687}
674688
675static __inline__ __m128i __DEFAULT_FN_ATTRS128
689static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
676690_mm_mask_shrdv_epi16(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C)
677691{
678692 return (__m128i)__builtin_ia32_selectw_128(__U,
......@@ -680,7 +694,7 @@ _mm_mask_shrdv_epi16(__m128i __A, __mmask8 __U, __m128i __B, __m128i __C)
680694 (__v8hi)__A);
681695}
682696
683static __inline__ __m128i __DEFAULT_FN_ATTRS128
697static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
684698_mm_maskz_shrdv_epi16(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C)
685699{
686700 return (__m128i)__builtin_ia32_selectw_128(__U,
......@@ -688,8 +702,9 @@ _mm_maskz_shrdv_epi16(__mmask8 __U, __m128i __A, __m128i __B, __m128i __C)
688702 (__v8hi)_mm_setzero_si128());
689703}
690704
691
692705#undef __DEFAULT_FN_ATTRS128
693706#undef __DEFAULT_FN_ATTRS256
707#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
708#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
694709
695710#endif
lib/include/avx512vlvnniintrin.h+21-18
......@@ -17,11 +17,11 @@
1717/* Define the default attributes for the functions in this file. */
1818#define __DEFAULT_FN_ATTRS128 \
1919 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512vl,avx512vnni,no-evex512"), \
20 __target__("avx512vl,avx512vnni"), \
2121 __min_vector_width__(128)))
2222#define __DEFAULT_FN_ATTRS256 \
2323 __attribute__((__always_inline__, __nodebug__, \
24 __target__("avx512vl,avx512vnni,no-evex512"), \
24 __target__("avx512vl,avx512vnni"), \
2525 __min_vector_width__(256)))
2626
2727/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a A with
......@@ -41,8 +41,8 @@
4141/// ENDFOR
4242/// DST[MAX:256] := 0
4343/// \endcode
44#define _mm256_dpbusd_epi32(S, A, B) \
45 ((__m256i)__builtin_ia32_vpdpbusd256((__v8si)(S), (__v8si)(A), (__v8si)(B)))
44#define _mm256_dpbusd_epi32(S, A, B) \
45 ((__m256i)__builtin_ia32_vpdpbusd256((__v8si)(S), (__v32qu)(A), (__v32qi)(B)))
4646
4747/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a A with
4848/// corresponding signed 8-bit integers in \a B, producing 4 intermediate signed
......@@ -61,8 +61,9 @@
6161/// ENDFOR
6262/// DST[MAX:256] := 0
6363/// \endcode
64#define _mm256_dpbusds_epi32(S, A, B) \
65 ((__m256i)__builtin_ia32_vpdpbusds256((__v8si)(S), (__v8si)(A), (__v8si)(B)))
64#define _mm256_dpbusds_epi32(S, A, B) \
65 ((__m256i)__builtin_ia32_vpdpbusds256((__v8si)(S), (__v32qu)(A), \
66 (__v32qi)(B)))
6667
6768/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a A with
6869/// corresponding 16-bit integers in \a B, producing 2 intermediate signed 32-bit
......@@ -79,8 +80,8 @@
7980/// ENDFOR
8081/// DST[MAX:256] := 0
8182/// \endcode
82#define _mm256_dpwssd_epi32(S, A, B) \
83 ((__m256i)__builtin_ia32_vpdpwssd256((__v8si)(S), (__v8si)(A), (__v8si)(B)))
83#define _mm256_dpwssd_epi32(S, A, B) \
84 ((__m256i)__builtin_ia32_vpdpwssd256((__v8si)(S), (__v16hi)(A), (__v16hi)(B)))
8485
8586/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a A with
8687/// corresponding 16-bit integers in \a B, producing 2 intermediate signed 32-bit
......@@ -97,8 +98,9 @@
9798/// ENDFOR
9899/// DST[MAX:256] := 0
99100/// \endcode
100#define _mm256_dpwssds_epi32(S, A, B) \
101 ((__m256i)__builtin_ia32_vpdpwssds256((__v8si)(S), (__v8si)(A), (__v8si)(B)))
101#define _mm256_dpwssds_epi32(S, A, B) \
102 ((__m256i)__builtin_ia32_vpdpwssds256((__v8si)(S), (__v16hi)(A), \
103 (__v16hi)(B)))
102104
103105/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a A with
104106/// corresponding signed 8-bit integers in \a B, producing 4 intermediate signed
......@@ -117,8 +119,8 @@
117119/// ENDFOR
118120/// DST[MAX:128] := 0
119121/// \endcode
120#define _mm_dpbusd_epi32(S, A, B) \
121 ((__m128i)__builtin_ia32_vpdpbusd128((__v4si)(S), (__v4si)(A), (__v4si)(B)))
122#define _mm_dpbusd_epi32(S, A, B) \
123 ((__m128i)__builtin_ia32_vpdpbusd128((__v4si)(S), (__v16qu)(A), (__v16qi)(B)))
122124
123125/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a A with
124126/// corresponding signed 8-bit integers in \a B, producing 4 intermediate signed
......@@ -137,8 +139,9 @@
137139/// ENDFOR
138140/// DST[MAX:128] := 0
139141/// \endcode
140#define _mm_dpbusds_epi32(S, A, B) \
141 ((__m128i)__builtin_ia32_vpdpbusds128((__v4si)(S), (__v4si)(A), (__v4si)(B)))
142#define _mm_dpbusds_epi32(S, A, B) \
143 ((__m128i)__builtin_ia32_vpdpbusds128((__v4si)(S), (__v16qu)(A), \
144 (__v16qi)(B)))
142145
143146/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a A with
144147/// corresponding 16-bit integers in \a B, producing 2 intermediate signed 32-bit
......@@ -155,8 +158,8 @@
155158/// ENDFOR
156159/// DST[MAX:128] := 0
157160/// \endcode
158#define _mm_dpwssd_epi32(S, A, B) \
159 ((__m128i)__builtin_ia32_vpdpwssd128((__v4si)(S), (__v4si)(A), (__v4si)(B)))
161#define _mm_dpwssd_epi32(S, A, B) \
162 ((__m128i)__builtin_ia32_vpdpwssd128((__v4si)(S), (__v8hi)(A), (__v8hi)(B)))
160163
161164/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a A with
162165/// corresponding 16-bit integers in \a B, producing 2 intermediate signed 32-bit
......@@ -173,8 +176,8 @@
173176/// ENDFOR
174177/// DST[MAX:128] := 0
175178/// \endcode
176#define _mm_dpwssds_epi32(S, A, B) \
177 ((__m128i)__builtin_ia32_vpdpwssds128((__v4si)(S), (__v4si)(A), (__v4si)(B)))
179#define _mm_dpwssds_epi32(S, A, B) \
180 ((__m128i)__builtin_ia32_vpdpwssds128((__v4si)(S), (__v8hi)(A), (__v8hi)(B)))
178181
179182static __inline__ __m256i __DEFAULT_FN_ATTRS256
180183_mm256_mask_dpbusd_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B)
lib/include/avx512vlvp2intersectintrin.h+2-2
......@@ -30,12 +30,12 @@
3030
3131#define __DEFAULT_FN_ATTRS128 \
3232 __attribute__((__always_inline__, __nodebug__, \
33 __target__("avx512vl,avx512vp2intersect,no-evex512"), \
33 __target__("avx512vl,avx512vp2intersect"), \
3434 __min_vector_width__(128)))
3535
3636#define __DEFAULT_FN_ATTRS256 \
3737 __attribute__((__always_inline__, __nodebug__, \
38 __target__("avx512vl,avx512vp2intersect,no-evex512"), \
38 __target__("avx512vl,avx512vp2intersect"), \
3939 __min_vector_width__(256)))
4040/// Store, in an even/odd pair of mask registers, the indicators of the
4141/// locations of value matches between dwords in operands __a and __b.
lib/include/avx512vnniintrin.h+10-10
......@@ -16,14 +16,14 @@
1616
1717/* Define the default attributes for the functions in this file. */
1818#define __DEFAULT_FN_ATTRS \
19 __attribute__((__always_inline__, __nodebug__, \
20 __target__("avx512vnni,evex512"), __min_vector_width__(512)))
19 __attribute__((__always_inline__, __nodebug__, __target__("avx512vnni"), \
20 __min_vector_width__(512)))
2121
2222static __inline__ __m512i __DEFAULT_FN_ATTRS
2323_mm512_dpbusd_epi32(__m512i __S, __m512i __A, __m512i __B)
2424{
25 return (__m512i)__builtin_ia32_vpdpbusd512((__v16si)__S, (__v16si)__A,
26 (__v16si)__B);
25 return (__m512i)__builtin_ia32_vpdpbusd512((__v16si)__S, (__v64qu)__A,
26 (__v64qi)__B);
2727}
2828
2929static __inline__ __m512i __DEFAULT_FN_ATTRS
......@@ -45,8 +45,8 @@ _mm512_maskz_dpbusd_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B)
4545static __inline__ __m512i __DEFAULT_FN_ATTRS
4646_mm512_dpbusds_epi32(__m512i __S, __m512i __A, __m512i __B)
4747{
48 return (__m512i)__builtin_ia32_vpdpbusds512((__v16si)__S, (__v16si)__A,
49 (__v16si)__B);
48 return (__m512i)__builtin_ia32_vpdpbusds512((__v16si)__S, (__v64qu)__A,
49 (__v64qi)__B);
5050}
5151
5252static __inline__ __m512i __DEFAULT_FN_ATTRS
......@@ -68,8 +68,8 @@ _mm512_maskz_dpbusds_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B)
6868static __inline__ __m512i __DEFAULT_FN_ATTRS
6969_mm512_dpwssd_epi32(__m512i __S, __m512i __A, __m512i __B)
7070{
71 return (__m512i)__builtin_ia32_vpdpwssd512((__v16si)__S, (__v16si)__A,
72 (__v16si)__B);
71 return (__m512i)__builtin_ia32_vpdpwssd512((__v16si)__S, (__v32hi)__A,
72 (__v32hi)__B);
7373}
7474
7575static __inline__ __m512i __DEFAULT_FN_ATTRS
......@@ -91,8 +91,8 @@ _mm512_maskz_dpwssd_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B)
9191static __inline__ __m512i __DEFAULT_FN_ATTRS
9292_mm512_dpwssds_epi32(__m512i __S, __m512i __A, __m512i __B)
9393{
94 return (__m512i)__builtin_ia32_vpdpwssds512((__v16si)__S, (__v16si)__A,
95 (__v16si)__B);
94 return (__m512i)__builtin_ia32_vpdpwssds512((__v16si)__S, (__v32hi)__A,
95 (__v32hi)__B);
9696}
9797
9898static __inline__ __m512i __DEFAULT_FN_ATTRS
lib/include/avx512vp2intersectintrin.h+1-2
......@@ -30,8 +30,7 @@
3030
3131#define __DEFAULT_FN_ATTRS \
3232 __attribute__((__always_inline__, __nodebug__, \
33 __target__("avx512vp2intersect,evex512"), \
34 __min_vector_width__(512)))
33 __target__("avx512vp2intersect"), __min_vector_width__(512)))
3534
3635/// Store, in an even/odd pair of mask registers, the indicators of the
3736/// locations of value matches between dwords in operands __a and __b.
lib/include/avx512vpopcntdqintrin.h+8-10
......@@ -16,19 +16,18 @@
1616#define __AVX512VPOPCNTDQINTRIN_H
1717
1818/* Define the default attributes for the functions in this file. */
19#if defined(__cplusplus) && (__cplusplus >= 201103L)
1920#define __DEFAULT_FN_ATTRS \
2021 __attribute__((__always_inline__, __nodebug__, \
21 __target__("avx512vpopcntdq,evex512"), \
22 __min_vector_width__(512)))
23
24#if defined(__cplusplus) && (__cplusplus >= 201103L)
25#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
22 __target__("avx512vpopcntdq"), \
23 __min_vector_width__(512))) constexpr
2624#else
27#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
25#define __DEFAULT_FN_ATTRS \
26 __attribute__((__always_inline__, __nodebug__, \
27 __target__("avx512vpopcntdq"), __min_vector_width__(512)))
2828#endif
2929
30static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
31_mm512_popcnt_epi64(__m512i __A) {
30static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_popcnt_epi64(__m512i __A) {
3231 return (__m512i)__builtin_elementwise_popcount((__v8du)__A);
3332}
3433
......@@ -43,8 +42,7 @@ _mm512_maskz_popcnt_epi64(__mmask8 __U, __m512i __A) {
4342 return _mm512_mask_popcnt_epi64((__m512i)_mm512_setzero_si512(), __U, __A);
4443}
4544
46static __inline__ __m512i __DEFAULT_FN_ATTRS_CONSTEXPR
47_mm512_popcnt_epi32(__m512i __A) {
45static __inline__ __m512i __DEFAULT_FN_ATTRS _mm512_popcnt_epi32(__m512i __A) {
4846 return (__m512i)__builtin_elementwise_popcount((__v16su)__A);
4947}
5048
lib/include/avx512vpopcntdqvlintrin.h+17-15
......@@ -16,25 +16,28 @@
1616#define __AVX512VPOPCNTDQVLINTRIN_H
1717
1818/* Define the default attributes for the functions in this file. */
19
20#if defined(__cplusplus) && (__cplusplus >= 201103L)
21#define __DEFAULT_FN_ATTRS128 \
22 __attribute__((__always_inline__, __nodebug__, \
23 __target__("avx512vpopcntdq,avx512vl"), \
24 __min_vector_width__(128))) constexpr
25#define __DEFAULT_FN_ATTRS256 \
26 __attribute__((__always_inline__, __nodebug__, \
27 __target__("avx512vpopcntdq,avx512vl"), \
28 __min_vector_width__(256))) constexpr
29#else
1930#define __DEFAULT_FN_ATTRS128 \
2031 __attribute__((__always_inline__, __nodebug__, \
21 __target__("avx512vpopcntdq,avx512vl,no-evex512"), \
32 __target__("avx512vpopcntdq,avx512vl"), \
2233 __min_vector_width__(128)))
2334#define __DEFAULT_FN_ATTRS256 \
2435 __attribute__((__always_inline__, __nodebug__, \
25 __target__("avx512vpopcntdq,avx512vl,no-evex512"), \
36 __target__("avx512vpopcntdq,avx512vl"), \
2637 __min_vector_width__(256)))
27
28#if defined(__cplusplus) && (__cplusplus >= 201103L)
29#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
30#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
31#else
32#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
33#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
3438#endif
3539
36static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
37_mm_popcnt_epi64(__m128i __A) {
40static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_popcnt_epi64(__m128i __A) {
3841 return (__m128i)__builtin_elementwise_popcount((__v2du)__A);
3942}
4043
......@@ -49,8 +52,7 @@ _mm_maskz_popcnt_epi64(__mmask8 __U, __m128i __A) {
4952 return _mm_mask_popcnt_epi64((__m128i)_mm_setzero_si128(), __U, __A);
5053}
5154
52static __inline__ __m128i __DEFAULT_FN_ATTRS128_CONSTEXPR
53_mm_popcnt_epi32(__m128i __A) {
55static __inline__ __m128i __DEFAULT_FN_ATTRS128 _mm_popcnt_epi32(__m128i __A) {
5456 return (__m128i)__builtin_elementwise_popcount((__v4su)__A);
5557}
5658
......@@ -65,7 +67,7 @@ _mm_maskz_popcnt_epi32(__mmask8 __U, __m128i __A) {
6567 return _mm_mask_popcnt_epi32((__m128i)_mm_setzero_si128(), __U, __A);
6668}
6769
68static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
70static __inline__ __m256i __DEFAULT_FN_ATTRS256
6971_mm256_popcnt_epi64(__m256i __A) {
7072 return (__m256i)__builtin_elementwise_popcount((__v4du)__A);
7173}
......@@ -81,7 +83,7 @@ _mm256_maskz_popcnt_epi64(__mmask8 __U, __m256i __A) {
8183 return _mm256_mask_popcnt_epi64((__m256i)_mm256_setzero_si256(), __U, __A);
8284}
8385
84static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
86static __inline__ __m256i __DEFAULT_FN_ATTRS256
8587_mm256_popcnt_epi32(__m256i __A) {
8688 return (__m256i)__builtin_elementwise_popcount((__v8su)__A);
8789}
lib/include/avxifmaintrin.h+16
......@@ -15,12 +15,28 @@
1515#define __AVXIFMAINTRIN_H
1616
1717/* Define the default attributes for the functions in this file. */
18#if defined(__cplusplus) && (__cplusplus >= 201103L)
19#define __DEFAULT_FN_ATTRS128 \
20 __attribute__((__always_inline__, __nodebug__, __target__("avxifma"), \
21 __min_vector_width__(128))) constexpr
22#define __DEFAULT_FN_ATTRS256 \
23 __attribute__((__always_inline__, __nodebug__, __target__("avxifma"), \
24 __min_vector_width__(256))) constexpr
25#else
1826#define __DEFAULT_FN_ATTRS128 \
1927 __attribute__((__always_inline__, __nodebug__, __target__("avxifma"), \
2028 __min_vector_width__(128)))
2129#define __DEFAULT_FN_ATTRS256 \
2230 __attribute__((__always_inline__, __nodebug__, __target__("avxifma"), \
2331 __min_vector_width__(256)))
32#endif
33
34#if !defined(__AVX512IFMA__) && defined(__AVXIFMA__)
35#define _mm_madd52hi_epu64(X, Y, Z) _mm_madd52hi_avx_epu64(X, Y, Z)
36#define _mm_madd52lo_epu64(X, Y, Z) _mm_madd52lo_avx_epu64(X, Y, Z)
37#define _mm256_madd52hi_epu64(X, Y, Z) _mm256_madd52hi_avx_epu64(X, Y, Z)
38#define _mm256_madd52lo_epu64(X, Y, Z) _mm256_madd52lo_avx_epu64(X, Y, Z)
39#endif
2440
2541// must vex-encoding
2642
lib/include/avxintrin.h+165-241
......@@ -50,28 +50,19 @@ typedef __bf16 __m256bh __attribute__((__vector_size__(32), __aligned__(32)));
5050#endif
5151
5252/* Define the default attributes for the functions in this file. */
53#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
54#define __DEFAULT_FN_ATTRS \
55 __attribute__((__always_inline__, __nodebug__, __target__("avx,no-evex512"), \
56 __min_vector_width__(256)))
57#define __DEFAULT_FN_ATTRS128 \
58 __attribute__((__always_inline__, __nodebug__, __target__("avx,no-evex512"), \
59 __min_vector_width__(128)))
60#else
6153#define __DEFAULT_FN_ATTRS \
6254 __attribute__((__always_inline__, __nodebug__, __target__("avx"), \
6355 __min_vector_width__(256)))
6456#define __DEFAULT_FN_ATTRS128 \
6557 __attribute__((__always_inline__, __nodebug__, __target__("avx"), \
6658 __min_vector_width__(128)))
67#endif
6859
6960#if defined(__cplusplus) && (__cplusplus >= 201103L)
7061#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
7162#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
7263#else
73#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS128
74#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS
64#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
65#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
7566#endif
7667
7768/* Arithmetic */
......@@ -87,9 +78,8 @@ typedef __bf16 __m256bh __attribute__((__vector_size__(32), __aligned__(32)));
8778/// A 256-bit vector of [4 x double] containing one of the source operands.
8879/// \returns A 256-bit vector of [4 x double] containing the sums of both
8980/// operands.
90static __inline __m256d __DEFAULT_FN_ATTRS
91_mm256_add_pd(__m256d __a, __m256d __b)
92{
81static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
82_mm256_add_pd(__m256d __a, __m256d __b) {
9383 return (__m256d)((__v4df)__a+(__v4df)__b);
9484}
9585
......@@ -105,9 +95,8 @@ _mm256_add_pd(__m256d __a, __m256d __b)
10595/// A 256-bit vector of [8 x float] containing one of the source operands.
10696/// \returns A 256-bit vector of [8 x float] containing the sums of both
10797/// operands.
108static __inline __m256 __DEFAULT_FN_ATTRS
109_mm256_add_ps(__m256 __a, __m256 __b)
110{
98static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_add_ps(__m256 __a,
99 __m256 __b) {
111100 return (__m256)((__v8sf)__a+(__v8sf)__b);
112101}
113102
......@@ -123,9 +112,8 @@ _mm256_add_ps(__m256 __a, __m256 __b)
123112/// A 256-bit vector of [4 x double] containing the subtrahend.
124113/// \returns A 256-bit vector of [4 x double] containing the differences between
125114/// both operands.
126static __inline __m256d __DEFAULT_FN_ATTRS
127_mm256_sub_pd(__m256d __a, __m256d __b)
128{
115static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
116_mm256_sub_pd(__m256d __a, __m256d __b) {
129117 return (__m256d)((__v4df)__a-(__v4df)__b);
130118}
131119
......@@ -141,9 +129,8 @@ _mm256_sub_pd(__m256d __a, __m256d __b)
141129/// A 256-bit vector of [8 x float] containing the subtrahend.
142130/// \returns A 256-bit vector of [8 x float] containing the differences between
143131/// both operands.
144static __inline __m256 __DEFAULT_FN_ATTRS
145_mm256_sub_ps(__m256 __a, __m256 __b)
146{
132static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_sub_ps(__m256 __a,
133 __m256 __b) {
147134 return (__m256)((__v8sf)__a-(__v8sf)__b);
148135}
149136
......@@ -160,9 +147,8 @@ _mm256_sub_ps(__m256 __a, __m256 __b)
160147/// A 256-bit vector of [4 x double] containing the right source operand.
161148/// \returns A 256-bit vector of [4 x double] containing the alternating sums
162149/// and differences between both operands.
163static __inline __m256d __DEFAULT_FN_ATTRS
164_mm256_addsub_pd(__m256d __a, __m256d __b)
165{
150static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
151_mm256_addsub_pd(__m256d __a, __m256d __b) {
166152 return (__m256d)__builtin_ia32_addsubpd256((__v4df)__a, (__v4df)__b);
167153}
168154
......@@ -179,9 +165,8 @@ _mm256_addsub_pd(__m256d __a, __m256d __b)
179165/// A 256-bit vector of [8 x float] containing the right source operand.
180166/// \returns A 256-bit vector of [8 x float] containing the alternating sums and
181167/// differences between both operands.
182static __inline __m256 __DEFAULT_FN_ATTRS
183_mm256_addsub_ps(__m256 __a, __m256 __b)
184{
168static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
169_mm256_addsub_ps(__m256 __a, __m256 __b) {
185170 return (__m256)__builtin_ia32_addsubps256((__v8sf)__a, (__v8sf)__b);
186171}
187172
......@@ -197,9 +182,8 @@ _mm256_addsub_ps(__m256 __a, __m256 __b)
197182/// A 256-bit vector of [4 x double] containing the divisor.
198183/// \returns A 256-bit vector of [4 x double] containing the quotients of both
199184/// operands.
200static __inline __m256d __DEFAULT_FN_ATTRS
201_mm256_div_pd(__m256d __a, __m256d __b)
202{
185static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
186_mm256_div_pd(__m256d __a, __m256d __b) {
203187 return (__m256d)((__v4df)__a/(__v4df)__b);
204188}
205189
......@@ -215,9 +199,8 @@ _mm256_div_pd(__m256d __a, __m256d __b)
215199/// A 256-bit vector of [8 x float] containing the divisor.
216200/// \returns A 256-bit vector of [8 x float] containing the quotients of both
217201/// operands.
218static __inline __m256 __DEFAULT_FN_ATTRS
219_mm256_div_ps(__m256 __a, __m256 __b)
220{
202static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_div_ps(__m256 __a,
203 __m256 __b) {
221204 return (__m256)((__v8sf)__a/(__v8sf)__b);
222205}
223206
......@@ -236,9 +219,8 @@ _mm256_div_ps(__m256 __a, __m256 __b)
236219/// A 256-bit vector of [4 x double] containing one of the operands.
237220/// \returns A 256-bit vector of [4 x double] containing the maximum values
238221/// between both operands.
239static __inline __m256d __DEFAULT_FN_ATTRS
240_mm256_max_pd(__m256d __a, __m256d __b)
241{
222static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
223_mm256_max_pd(__m256d __a, __m256d __b) {
242224 return (__m256d)__builtin_ia32_maxpd256((__v4df)__a, (__v4df)__b);
243225}
244226
......@@ -257,9 +239,8 @@ _mm256_max_pd(__m256d __a, __m256d __b)
257239/// A 256-bit vector of [8 x float] containing one of the operands.
258240/// \returns A 256-bit vector of [8 x float] containing the maximum values
259241/// between both operands.
260static __inline __m256 __DEFAULT_FN_ATTRS
261_mm256_max_ps(__m256 __a, __m256 __b)
262{
242static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_max_ps(__m256 __a,
243 __m256 __b) {
263244 return (__m256)__builtin_ia32_maxps256((__v8sf)__a, (__v8sf)__b);
264245}
265246
......@@ -278,9 +259,8 @@ _mm256_max_ps(__m256 __a, __m256 __b)
278259/// A 256-bit vector of [4 x double] containing one of the operands.
279260/// \returns A 256-bit vector of [4 x double] containing the minimum values
280261/// between both operands.
281static __inline __m256d __DEFAULT_FN_ATTRS
282_mm256_min_pd(__m256d __a, __m256d __b)
283{
262static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
263_mm256_min_pd(__m256d __a, __m256d __b) {
284264 return (__m256d)__builtin_ia32_minpd256((__v4df)__a, (__v4df)__b);
285265}
286266
......@@ -299,9 +279,8 @@ _mm256_min_pd(__m256d __a, __m256d __b)
299279/// A 256-bit vector of [8 x float] containing one of the operands.
300280/// \returns A 256-bit vector of [8 x float] containing the minimum values
301281/// between both operands.
302static __inline __m256 __DEFAULT_FN_ATTRS
303_mm256_min_ps(__m256 __a, __m256 __b)
304{
282static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_min_ps(__m256 __a,
283 __m256 __b) {
305284 return (__m256)__builtin_ia32_minps256((__v8sf)__a, (__v8sf)__b);
306285}
307286
......@@ -317,9 +296,8 @@ _mm256_min_ps(__m256 __a, __m256 __b)
317296/// A 256-bit vector of [4 x double] containing one of the operands.
318297/// \returns A 256-bit vector of [4 x double] containing the products of both
319298/// operands.
320static __inline __m256d __DEFAULT_FN_ATTRS
321_mm256_mul_pd(__m256d __a, __m256d __b)
322{
299static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
300_mm256_mul_pd(__m256d __a, __m256d __b) {
323301 return (__m256d)((__v4df)__a * (__v4df)__b);
324302}
325303
......@@ -335,9 +313,8 @@ _mm256_mul_pd(__m256d __a, __m256d __b)
335313/// A 256-bit vector of [8 x float] containing one of the operands.
336314/// \returns A 256-bit vector of [8 x float] containing the products of both
337315/// operands.
338static __inline __m256 __DEFAULT_FN_ATTRS
339_mm256_mul_ps(__m256 __a, __m256 __b)
340{
316static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_mul_ps(__m256 __a,
317 __m256 __b) {
341318 return (__m256)((__v8sf)__a * (__v8sf)__b);
342319}
343320
......@@ -352,10 +329,8 @@ _mm256_mul_ps(__m256 __a, __m256 __b)
352329/// A 256-bit vector of [4 x double].
353330/// \returns A 256-bit vector of [4 x double] containing the square roots of the
354331/// values in the operand.
355static __inline __m256d __DEFAULT_FN_ATTRS
356_mm256_sqrt_pd(__m256d __a)
357{
358 return (__m256d)__builtin_ia32_sqrtpd256((__v4df)__a);
332static __inline __m256d __DEFAULT_FN_ATTRS _mm256_sqrt_pd(__m256d __a) {
333 return __builtin_elementwise_sqrt(__a);
359334}
360335
361336/// Calculates the square roots of the values in a 256-bit vector of
......@@ -369,10 +344,8 @@ _mm256_sqrt_pd(__m256d __a)
369344/// A 256-bit vector of [8 x float].
370345/// \returns A 256-bit vector of [8 x float] containing the square roots of the
371346/// values in the operand.
372static __inline __m256 __DEFAULT_FN_ATTRS
373_mm256_sqrt_ps(__m256 __a)
374{
375 return (__m256)__builtin_ia32_sqrtps256((__v8sf)__a);
347static __inline __m256 __DEFAULT_FN_ATTRS _mm256_sqrt_ps(__m256 __a) {
348 return __builtin_elementwise_sqrt(__a);
376349}
377350
378351/// Calculates the reciprocal square roots of the values in a 256-bit
......@@ -555,7 +528,7 @@ _mm256_rcp_ps(__m256 __a)
555528/// A 256-bit vector of [4 x double] containing one of the source operands.
556529/// \returns A 256-bit vector of [4 x double] containing the bitwise AND of the
557530/// values between both operands.
558static __inline __m256d __DEFAULT_FN_ATTRS
531static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
559532_mm256_and_pd(__m256d __a, __m256d __b)
560533{
561534 return (__m256d)((__v4du)__a & (__v4du)__b);
......@@ -573,7 +546,7 @@ _mm256_and_pd(__m256d __a, __m256d __b)
573546/// A 256-bit vector of [8 x float] containing one of the source operands.
574547/// \returns A 256-bit vector of [8 x float] containing the bitwise AND of the
575548/// values between both operands.
576static __inline __m256 __DEFAULT_FN_ATTRS
549static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
577550_mm256_and_ps(__m256 __a, __m256 __b)
578551{
579552 return (__m256)((__v8su)__a & (__v8su)__b);
......@@ -594,7 +567,7 @@ _mm256_and_ps(__m256 __a, __m256 __b)
594567/// \returns A 256-bit vector of [4 x double] containing the bitwise AND of the
595568/// values of the second operand and the one's complement of the first
596569/// operand.
597static __inline __m256d __DEFAULT_FN_ATTRS
570static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
598571_mm256_andnot_pd(__m256d __a, __m256d __b)
599572{
600573 return (__m256d)(~(__v4du)__a & (__v4du)__b);
......@@ -615,7 +588,7 @@ _mm256_andnot_pd(__m256d __a, __m256d __b)
615588/// \returns A 256-bit vector of [8 x float] containing the bitwise AND of the
616589/// values of the second operand and the one's complement of the first
617590/// operand.
618static __inline __m256 __DEFAULT_FN_ATTRS
591static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
619592_mm256_andnot_ps(__m256 __a, __m256 __b)
620593{
621594 return (__m256)(~(__v8su)__a & (__v8su)__b);
......@@ -633,7 +606,7 @@ _mm256_andnot_ps(__m256 __a, __m256 __b)
633606/// A 256-bit vector of [4 x double] containing one of the source operands.
634607/// \returns A 256-bit vector of [4 x double] containing the bitwise OR of the
635608/// values between both operands.
636static __inline __m256d __DEFAULT_FN_ATTRS
609static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
637610_mm256_or_pd(__m256d __a, __m256d __b)
638611{
639612 return (__m256d)((__v4du)__a | (__v4du)__b);
......@@ -651,7 +624,7 @@ _mm256_or_pd(__m256d __a, __m256d __b)
651624/// A 256-bit vector of [8 x float] containing one of the source operands.
652625/// \returns A 256-bit vector of [8 x float] containing the bitwise OR of the
653626/// values between both operands.
654static __inline __m256 __DEFAULT_FN_ATTRS
627static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
655628_mm256_or_ps(__m256 __a, __m256 __b)
656629{
657630 return (__m256)((__v8su)__a | (__v8su)__b);
......@@ -669,7 +642,7 @@ _mm256_or_ps(__m256 __a, __m256 __b)
669642/// A 256-bit vector of [4 x double] containing one of the source operands.
670643/// \returns A 256-bit vector of [4 x double] containing the bitwise XOR of the
671644/// values between both operands.
672static __inline __m256d __DEFAULT_FN_ATTRS
645static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
673646_mm256_xor_pd(__m256d __a, __m256d __b)
674647{
675648 return (__m256d)((__v4du)__a ^ (__v4du)__b);
......@@ -687,7 +660,7 @@ _mm256_xor_pd(__m256d __a, __m256d __b)
687660/// A 256-bit vector of [8 x float] containing one of the source operands.
688661/// \returns A 256-bit vector of [8 x float] containing the bitwise XOR of the
689662/// values between both operands.
690static __inline __m256 __DEFAULT_FN_ATTRS
663static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
691664_mm256_xor_ps(__m256 __a, __m256 __b)
692665{
693666 return (__m256)((__v8su)__a ^ (__v8su)__b);
......@@ -711,9 +684,8 @@ _mm256_xor_ps(__m256 __a, __m256 __b)
711684/// elements of a vector of [4 x double].
712685/// \returns A 256-bit vector of [4 x double] containing the horizontal sums of
713686/// both operands.
714static __inline __m256d __DEFAULT_FN_ATTRS
715_mm256_hadd_pd(__m256d __a, __m256d __b)
716{
687static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
688_mm256_hadd_pd(__m256d __a, __m256d __b) {
717689 return (__m256d)__builtin_ia32_haddpd256((__v4df)__a, (__v4df)__b);
718690}
719691
......@@ -734,9 +706,8 @@ _mm256_hadd_pd(__m256d __a, __m256d __b)
734706/// index 2, 3, 6, 7 of a vector of [8 x float].
735707/// \returns A 256-bit vector of [8 x float] containing the horizontal sums of
736708/// both operands.
737static __inline __m256 __DEFAULT_FN_ATTRS
738_mm256_hadd_ps(__m256 __a, __m256 __b)
739{
709static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_hadd_ps(__m256 __a,
710 __m256 __b) {
740711 return (__m256)__builtin_ia32_haddps256((__v8sf)__a, (__v8sf)__b);
741712}
742713
......@@ -757,9 +728,8 @@ _mm256_hadd_ps(__m256 __a, __m256 __b)
757728/// odd-indexed elements of a vector of [4 x double].
758729/// \returns A 256-bit vector of [4 x double] containing the horizontal
759730/// differences of both operands.
760static __inline __m256d __DEFAULT_FN_ATTRS
761_mm256_hsub_pd(__m256d __a, __m256d __b)
762{
731static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
732_mm256_hsub_pd(__m256d __a, __m256d __b) {
763733 return (__m256d)__builtin_ia32_hsubpd256((__v4df)__a, (__v4df)__b);
764734}
765735
......@@ -780,9 +750,8 @@ _mm256_hsub_pd(__m256d __a, __m256d __b)
780750/// elements with index 2, 3, 6, 7 of a vector of [8 x float].
781751/// \returns A 256-bit vector of [8 x float] containing the horizontal
782752/// differences of both operands.
783static __inline __m256 __DEFAULT_FN_ATTRS
784_mm256_hsub_ps(__m256 __a, __m256 __b)
785{
753static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_hsub_ps(__m256 __a,
754 __m256 __b) {
786755 return (__m256)__builtin_ia32_hsubps256((__v8sf)__a, (__v8sf)__b);
787756}
788757
......@@ -810,9 +779,8 @@ _mm256_hsub_ps(__m256 __a, __m256 __b)
810779/// 1: Bits [127:64] of the source are copied to bits [127:64] of the
811780/// returned vector.
812781/// \returns A 128-bit vector of [2 x double] containing the copied values.
813static __inline __m128d __DEFAULT_FN_ATTRS128
814_mm_permutevar_pd(__m128d __a, __m128i __c)
815{
782static __inline __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
783_mm_permutevar_pd(__m128d __a, __m128i __c) {
816784 return (__m128d)__builtin_ia32_vpermilvarpd((__v2df)__a, (__v2di)__c);
817785}
818786
......@@ -849,9 +817,8 @@ _mm_permutevar_pd(__m128d __a, __m128i __c)
849817/// 1: Bits [255:192] of the source are copied to bits [255:192] of the
850818/// returned vector.
851819/// \returns A 256-bit vector of [4 x double] containing the copied values.
852static __inline __m256d __DEFAULT_FN_ATTRS
853_mm256_permutevar_pd(__m256d __a, __m256i __c)
854{
820static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
821_mm256_permutevar_pd(__m256d __a, __m256i __c) {
855822 return (__m256d)__builtin_ia32_vpermilvarpd256((__v4df)__a, (__v4di)__c);
856823}
857824
......@@ -904,9 +871,8 @@ _mm256_permutevar_pd(__m256d __a, __m256i __c)
904871/// 11: Bits [127:96] of the source are copied to bits [127:96] of the
905872/// returned vector.
906873/// \returns A 128-bit vector of [4 x float] containing the copied values.
907static __inline __m128 __DEFAULT_FN_ATTRS128
908_mm_permutevar_ps(__m128 __a, __m128i __c)
909{
874static __inline __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
875_mm_permutevar_ps(__m128 __a, __m128i __c) {
910876 return (__m128)__builtin_ia32_vpermilvarps((__v4sf)__a, (__v4si)__c);
911877}
912878
......@@ -995,9 +961,8 @@ _mm_permutevar_ps(__m128 __a, __m128i __c)
995961/// 11: Bits [255:224] of the source are copied to bits [255:224] of the
996962/// returned vector.
997963/// \returns A 256-bit vector of [8 x float] containing the copied values.
998static __inline __m256 __DEFAULT_FN_ATTRS
999_mm256_permutevar_ps(__m256 __a, __m256i __c)
1000{
964static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
965_mm256_permutevar_ps(__m256 __a, __m256i __c) {
1001966 return (__m256)__builtin_ia32_vpermilvarps256((__v8sf)__a, (__v8si)__c);
1002967}
1003968
......@@ -1419,9 +1384,8 @@ _mm256_permutevar_ps(__m256 __a, __m256i __c)
14191384/// 64-bit element in operand \a __b is copied to the same position in the
14201385/// destination.
14211386/// \returns A 256-bit vector of [4 x double] containing the copied values.
1422static __inline __m256d __DEFAULT_FN_ATTRS
1423_mm256_blendv_pd(__m256d __a, __m256d __b, __m256d __c)
1424{
1387static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
1388_mm256_blendv_pd(__m256d __a, __m256d __b, __m256d __c) {
14251389 return (__m256d)__builtin_ia32_blendvpd256(
14261390 (__v4df)__a, (__v4df)__b, (__v4df)__c);
14271391}
......@@ -1447,9 +1411,8 @@ _mm256_blendv_pd(__m256d __a, __m256d __b, __m256d __c)
14471411/// corresponding 32-bit element in operand \a __b is copied to the same
14481412/// position in the destination.
14491413/// \returns A 256-bit vector of [8 x float] containing the copied values.
1450static __inline __m256 __DEFAULT_FN_ATTRS
1451_mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1452{
1414static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
1415_mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c) {
14531416 return (__m256)__builtin_ia32_blendvps256(
14541417 (__v8sf)__a, (__v8sf)__b, (__v8sf)__c);
14551418}
......@@ -2190,9 +2153,8 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
21902153/// \param __a
21912154/// A 128-bit integer vector of [4 x i32].
21922155/// \returns A 256-bit vector of [4 x double] containing the converted values.
2193static __inline __m256d __DEFAULT_FN_ATTRS
2194_mm256_cvtepi32_pd(__m128i __a)
2195{
2156static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
2157_mm256_cvtepi32_pd(__m128i __a) {
21962158 return (__m256d)__builtin_convertvector((__v4si)__a, __v4df);
21972159}
21982160
......@@ -2205,9 +2167,8 @@ _mm256_cvtepi32_pd(__m128i __a)
22052167/// \param __a
22062168/// A 256-bit integer vector.
22072169/// \returns A 256-bit vector of [8 x float] containing the converted values.
2208static __inline __m256 __DEFAULT_FN_ATTRS
2209_mm256_cvtepi32_ps(__m256i __a)
2210{
2170static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
2171_mm256_cvtepi32_ps(__m256i __a) {
22112172 return (__m256)__builtin_convertvector((__v8si)__a, __v8sf);
22122173}
22132174
......@@ -2221,9 +2182,8 @@ _mm256_cvtepi32_ps(__m256i __a)
22212182/// \param __a
22222183/// A 256-bit vector of [4 x double].
22232184/// \returns A 128-bit vector of [4 x float] containing the converted values.
2224static __inline __m128 __DEFAULT_FN_ATTRS
2225_mm256_cvtpd_ps(__m256d __a)
2226{
2185static __inline __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
2186_mm256_cvtpd_ps(__m256d __a) {
22272187 return (__m128)__builtin_ia32_cvtpd2ps256((__v4df) __a);
22282188}
22292189
......@@ -2256,9 +2216,8 @@ _mm256_cvtps_epi32(__m256 __a)
22562216/// \param __a
22572217/// A 128-bit vector of [4 x float].
22582218/// \returns A 256-bit vector of [4 x double] containing the converted values.
2259static __inline __m256d __DEFAULT_FN_ATTRS
2260_mm256_cvtps_pd(__m128 __a)
2261{
2219static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
2220_mm256_cvtps_pd(__m128 __a) {
22622221 return (__m256d)__builtin_convertvector((__v4sf)__a, __v4df);
22632222}
22642223
......@@ -2333,10 +2292,9 @@ _mm256_cvttps_epi32(__m256 __a)
23332292/// \param __a
23342293/// A 256-bit vector of [4 x double].
23352294/// \returns A 64 bit double containing the first element of the input vector.
2336static __inline double __DEFAULT_FN_ATTRS
2337_mm256_cvtsd_f64(__m256d __a)
2338{
2339 return __a[0];
2295static __inline double __DEFAULT_FN_ATTRS_CONSTEXPR
2296_mm256_cvtsd_f64(__m256d __a) {
2297 return __a[0];
23402298}
23412299
23422300/// Returns the first element of the input vector of [8 x i32].
......@@ -2349,11 +2307,10 @@ _mm256_cvtsd_f64(__m256d __a)
23492307/// \param __a
23502308/// A 256-bit vector of [8 x i32].
23512309/// \returns A 32 bit integer containing the first element of the input vector.
2352static __inline int __DEFAULT_FN_ATTRS
2353_mm256_cvtsi256_si32(__m256i __a)
2354{
2355 __v8si __b = (__v8si)__a;
2356 return __b[0];
2310static __inline int __DEFAULT_FN_ATTRS_CONSTEXPR
2311_mm256_cvtsi256_si32(__m256i __a) {
2312 __v8si __b = (__v8si)__a;
2313 return __b[0];
23572314}
23582315
23592316/// Returns the first element of the input vector of [8 x float].
......@@ -2366,10 +2323,9 @@ _mm256_cvtsi256_si32(__m256i __a)
23662323/// \param __a
23672324/// A 256-bit vector of [8 x float].
23682325/// \returns A 32 bit float containing the first element of the input vector.
2369static __inline float __DEFAULT_FN_ATTRS
2370_mm256_cvtss_f32(__m256 __a)
2371{
2372 return __a[0];
2326static __inline float __DEFAULT_FN_ATTRS_CONSTEXPR
2327_mm256_cvtss_f32(__m256 __a) {
2328 return __a[0];
23732329}
23742330
23752331/* Vector replicate */
......@@ -2392,7 +2348,7 @@ _mm256_cvtss_f32(__m256 __a)
23922348/// return value.
23932349/// \returns A 256-bit vector of [8 x float] containing the moved and duplicated
23942350/// values.
2395static __inline __m256 __DEFAULT_FN_ATTRS
2351static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
23962352_mm256_movehdup_ps(__m256 __a)
23972353{
23982354 return __builtin_shufflevector((__v8sf)__a, (__v8sf)__a, 1, 1, 3, 3, 5, 5, 7, 7);
......@@ -2417,7 +2373,7 @@ _mm256_movehdup_ps(__m256 __a)
24172373/// return value.
24182374/// \returns A 256-bit vector of [8 x float] containing the moved and duplicated
24192375/// values.
2420static __inline __m256 __DEFAULT_FN_ATTRS
2376static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
24212377_mm256_moveldup_ps(__m256 __a)
24222378{
24232379 return __builtin_shufflevector((__v8sf)__a, (__v8sf)__a, 0, 0, 2, 2, 4, 4, 6, 6);
......@@ -2439,7 +2395,7 @@ _mm256_moveldup_ps(__m256 __a)
24392395/// the return value.
24402396/// \returns A 256-bit vector of [4 x double] containing the moved and
24412397/// duplicated values.
2442static __inline __m256d __DEFAULT_FN_ATTRS
2398static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
24432399_mm256_movedup_pd(__m256d __a)
24442400{
24452401 return __builtin_shufflevector((__v4df)__a, (__v4df)__a, 0, 0, 2, 2);
......@@ -2462,9 +2418,8 @@ _mm256_movedup_pd(__m256d __a)
24622418/// Bits [127:64] are written to bits [127:64] of the return value. \n
24632419/// Bits [255:192] are written to bits [255:192] of the return value. \n
24642420/// \returns A 256-bit vector of [4 x double] containing the interleaved values.
2465static __inline __m256d __DEFAULT_FN_ATTRS
2466_mm256_unpackhi_pd(__m256d __a, __m256d __b)
2467{
2421static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
2422_mm256_unpackhi_pd(__m256d __a, __m256d __b) {
24682423 return __builtin_shufflevector((__v4df)__a, (__v4df)__b, 1, 5, 1+2, 5+2);
24692424}
24702425
......@@ -2484,9 +2439,8 @@ _mm256_unpackhi_pd(__m256d __a, __m256d __b)
24842439/// Bits [63:0] are written to bits [127:64] of the return value. \n
24852440/// Bits [191:128] are written to bits [255:192] of the return value. \n
24862441/// \returns A 256-bit vector of [4 x double] containing the interleaved values.
2487static __inline __m256d __DEFAULT_FN_ATTRS
2488_mm256_unpacklo_pd(__m256d __a, __m256d __b)
2489{
2442static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
2443_mm256_unpacklo_pd(__m256d __a, __m256d __b) {
24902444 return __builtin_shufflevector((__v4df)__a, (__v4df)__b, 0, 4, 0+2, 4+2);
24912445}
24922446
......@@ -2511,9 +2465,8 @@ _mm256_unpacklo_pd(__m256d __a, __m256d __b)
25112465/// Bits [223:192] are written to bits [191:160] of the return value. \n
25122466/// Bits [255:224] are written to bits [255:224] of the return value.
25132467/// \returns A 256-bit vector of [8 x float] containing the interleaved values.
2514static __inline __m256 __DEFAULT_FN_ATTRS
2515_mm256_unpackhi_ps(__m256 __a, __m256 __b)
2516{
2468static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
2469_mm256_unpackhi_ps(__m256 __a, __m256 __b) {
25172470 return __builtin_shufflevector((__v8sf)__a, (__v8sf)__b, 2, 10, 2+1, 10+1, 6, 14, 6+1, 14+1);
25182471}
25192472
......@@ -2538,9 +2491,8 @@ _mm256_unpackhi_ps(__m256 __a, __m256 __b)
25382491/// Bits [159:128] are written to bits [191:160] of the return value. \n
25392492/// Bits [191:160] are written to bits [255:224] of the return value.
25402493/// \returns A 256-bit vector of [8 x float] containing the interleaved values.
2541static __inline __m256 __DEFAULT_FN_ATTRS
2542_mm256_unpacklo_ps(__m256 __a, __m256 __b)
2543{
2494static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
2495_mm256_unpacklo_ps(__m256 __a, __m256 __b) {
25442496 return __builtin_shufflevector((__v8sf)__a, (__v8sf)__b, 0, 8, 0+1, 8+1, 4, 12, 4+1, 12+1);
25452497}
25462498
......@@ -2568,9 +2520,8 @@ _mm256_unpacklo_ps(__m256 __a, __m256 __b)
25682520/// \param __b
25692521/// A 128-bit vector of [2 x double].
25702522/// \returns the ZF flag in the EFLAGS register.
2571static __inline int __DEFAULT_FN_ATTRS128
2572_mm_testz_pd(__m128d __a, __m128d __b)
2573{
2523static __inline int __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_testz_pd(__m128d __a,
2524 __m128d __b) {
25742525 return __builtin_ia32_vtestzpd((__v2df)__a, (__v2df)__b);
25752526}
25762527
......@@ -2597,9 +2548,8 @@ _mm_testz_pd(__m128d __a, __m128d __b)
25972548/// \param __b
25982549/// A 128-bit vector of [2 x double].
25992550/// \returns the CF flag in the EFLAGS register.
2600static __inline int __DEFAULT_FN_ATTRS128
2601_mm_testc_pd(__m128d __a, __m128d __b)
2602{
2551static __inline int __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_testc_pd(__m128d __a,
2552 __m128d __b) {
26032553 return __builtin_ia32_vtestcpd((__v2df)__a, (__v2df)__b);
26042554}
26052555
......@@ -2627,9 +2577,8 @@ _mm_testc_pd(__m128d __a, __m128d __b)
26272577/// \param __b
26282578/// A 128-bit vector of [2 x double].
26292579/// \returns 1 if both the ZF and CF flags are set to 0, otherwise returns 0.
2630static __inline int __DEFAULT_FN_ATTRS128
2631_mm_testnzc_pd(__m128d __a, __m128d __b)
2632{
2580static __inline int __DEFAULT_FN_ATTRS128_CONSTEXPR
2581_mm_testnzc_pd(__m128d __a, __m128d __b) {
26332582 return __builtin_ia32_vtestnzcpd((__v2df)__a, (__v2df)__b);
26342583}
26352584
......@@ -2656,9 +2605,8 @@ _mm_testnzc_pd(__m128d __a, __m128d __b)
26562605/// \param __b
26572606/// A 128-bit vector of [4 x float].
26582607/// \returns the ZF flag.
2659static __inline int __DEFAULT_FN_ATTRS128
2660_mm_testz_ps(__m128 __a, __m128 __b)
2661{
2608static __inline int __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_testz_ps(__m128 __a,
2609 __m128 __b) {
26622610 return __builtin_ia32_vtestzps((__v4sf)__a, (__v4sf)__b);
26632611}
26642612
......@@ -2685,9 +2633,8 @@ _mm_testz_ps(__m128 __a, __m128 __b)
26852633/// \param __b
26862634/// A 128-bit vector of [4 x float].
26872635/// \returns the CF flag.
2688static __inline int __DEFAULT_FN_ATTRS128
2689_mm_testc_ps(__m128 __a, __m128 __b)
2690{
2636static __inline int __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_testc_ps(__m128 __a,
2637 __m128 __b) {
26912638 return __builtin_ia32_vtestcps((__v4sf)__a, (__v4sf)__b);
26922639}
26932640
......@@ -2715,9 +2662,8 @@ _mm_testc_ps(__m128 __a, __m128 __b)
27152662/// \param __b
27162663/// A 128-bit vector of [4 x float].
27172664/// \returns 1 if both the ZF and CF flags are set to 0, otherwise returns 0.
2718static __inline int __DEFAULT_FN_ATTRS128
2719_mm_testnzc_ps(__m128 __a, __m128 __b)
2720{
2665static __inline int __DEFAULT_FN_ATTRS128_CONSTEXPR _mm_testnzc_ps(__m128 __a,
2666 __m128 __b) {
27212667 return __builtin_ia32_vtestnzcps((__v4sf)__a, (__v4sf)__b);
27222668}
27232669
......@@ -2744,9 +2690,8 @@ _mm_testnzc_ps(__m128 __a, __m128 __b)
27442690/// \param __b
27452691/// A 256-bit vector of [4 x double].
27462692/// \returns the ZF flag.
2747static __inline int __DEFAULT_FN_ATTRS
2748_mm256_testz_pd(__m256d __a, __m256d __b)
2749{
2693static __inline int __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_testz_pd(__m256d __a,
2694 __m256d __b) {
27502695 return __builtin_ia32_vtestzpd256((__v4df)__a, (__v4df)__b);
27512696}
27522697
......@@ -2773,9 +2718,8 @@ _mm256_testz_pd(__m256d __a, __m256d __b)
27732718/// \param __b
27742719/// A 256-bit vector of [4 x double].
27752720/// \returns the CF flag.
2776static __inline int __DEFAULT_FN_ATTRS
2777_mm256_testc_pd(__m256d __a, __m256d __b)
2778{
2721static __inline int __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_testc_pd(__m256d __a,
2722 __m256d __b) {
27792723 return __builtin_ia32_vtestcpd256((__v4df)__a, (__v4df)__b);
27802724}
27812725
......@@ -2803,9 +2747,8 @@ _mm256_testc_pd(__m256d __a, __m256d __b)
28032747/// \param __b
28042748/// A 256-bit vector of [4 x double].
28052749/// \returns 1 if both the ZF and CF flags are set to 0, otherwise returns 0.
2806static __inline int __DEFAULT_FN_ATTRS
2807_mm256_testnzc_pd(__m256d __a, __m256d __b)
2808{
2750static __inline int __DEFAULT_FN_ATTRS_CONSTEXPR
2751_mm256_testnzc_pd(__m256d __a, __m256d __b) {
28092752 return __builtin_ia32_vtestnzcpd256((__v4df)__a, (__v4df)__b);
28102753}
28112754
......@@ -2832,9 +2775,8 @@ _mm256_testnzc_pd(__m256d __a, __m256d __b)
28322775/// \param __b
28332776/// A 256-bit vector of [8 x float].
28342777/// \returns the ZF flag.
2835static __inline int __DEFAULT_FN_ATTRS
2836_mm256_testz_ps(__m256 __a, __m256 __b)
2837{
2778static __inline int __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_testz_ps(__m256 __a,
2779 __m256 __b) {
28382780 return __builtin_ia32_vtestzps256((__v8sf)__a, (__v8sf)__b);
28392781}
28402782
......@@ -2861,9 +2803,8 @@ _mm256_testz_ps(__m256 __a, __m256 __b)
28612803/// \param __b
28622804/// A 256-bit vector of [8 x float].
28632805/// \returns the CF flag.
2864static __inline int __DEFAULT_FN_ATTRS
2865_mm256_testc_ps(__m256 __a, __m256 __b)
2866{
2806static __inline int __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_testc_ps(__m256 __a,
2807 __m256 __b) {
28672808 return __builtin_ia32_vtestcps256((__v8sf)__a, (__v8sf)__b);
28682809}
28692810
......@@ -2891,9 +2832,8 @@ _mm256_testc_ps(__m256 __a, __m256 __b)
28912832/// \param __b
28922833/// A 256-bit vector of [8 x float].
28932834/// \returns 1 if both the ZF and CF flags are set to 0, otherwise returns 0.
2894static __inline int __DEFAULT_FN_ATTRS
2895_mm256_testnzc_ps(__m256 __a, __m256 __b)
2896{
2835static __inline int __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_testnzc_ps(__m256 __a,
2836 __m256 __b) {
28972837 return __builtin_ia32_vtestnzcps256((__v8sf)__a, (__v8sf)__b);
28982838}
28992839
......@@ -2917,9 +2857,8 @@ _mm256_testnzc_ps(__m256 __a, __m256 __b)
29172857/// \param __b
29182858/// A 256-bit integer vector.
29192859/// \returns the ZF flag.
2920static __inline int __DEFAULT_FN_ATTRS
2921_mm256_testz_si256(__m256i __a, __m256i __b)
2922{
2860static __inline int __DEFAULT_FN_ATTRS_CONSTEXPR
2861_mm256_testz_si256(__m256i __a, __m256i __b) {
29232862 return __builtin_ia32_ptestz256((__v4di)__a, (__v4di)__b);
29242863}
29252864
......@@ -2943,9 +2882,8 @@ _mm256_testz_si256(__m256i __a, __m256i __b)
29432882/// \param __b
29442883/// A 256-bit integer vector.
29452884/// \returns the CF flag.
2946static __inline int __DEFAULT_FN_ATTRS
2947_mm256_testc_si256(__m256i __a, __m256i __b)
2948{
2885static __inline int __DEFAULT_FN_ATTRS_CONSTEXPR
2886_mm256_testc_si256(__m256i __a, __m256i __b) {
29492887 return __builtin_ia32_ptestc256((__v4di)__a, (__v4di)__b);
29502888}
29512889
......@@ -2970,9 +2908,8 @@ _mm256_testc_si256(__m256i __a, __m256i __b)
29702908/// \param __b
29712909/// A 256-bit integer vector.
29722910/// \returns 1 if both the ZF and CF flags are set to 0, otherwise returns 0.
2973static __inline int __DEFAULT_FN_ATTRS
2974_mm256_testnzc_si256(__m256i __a, __m256i __b)
2975{
2911static __inline int __DEFAULT_FN_ATTRS_CONSTEXPR
2912_mm256_testnzc_si256(__m256i __a, __m256i __b) {
29762913 return __builtin_ia32_ptestnzc256((__v4di)__a, (__v4di)__b);
29772914}
29782915
......@@ -2989,9 +2926,8 @@ _mm256_testnzc_si256(__m256i __a, __m256i __b)
29892926/// A 256-bit vector of [4 x double] containing the double-precision
29902927/// floating point values with sign bits to be extracted.
29912928/// \returns The sign bits from the operand, written to bits [3:0].
2992static __inline int __DEFAULT_FN_ATTRS
2993_mm256_movemask_pd(__m256d __a)
2994{
2929static __inline int __DEFAULT_FN_ATTRS_CONSTEXPR
2930_mm256_movemask_pd(__m256d __a) {
29952931 return __builtin_ia32_movmskpd256((__v4df)__a);
29962932}
29972933
......@@ -3007,9 +2943,8 @@ _mm256_movemask_pd(__m256d __a)
30072943/// A 256-bit vector of [8 x float] containing the single-precision floating
30082944/// point values with sign bits to be extracted.
30092945/// \returns The sign bits from the operand, written to bits [7:0].
3010static __inline int __DEFAULT_FN_ATTRS
3011_mm256_movemask_ps(__m256 __a)
3012{
2946static __inline int __DEFAULT_FN_ATTRS_CONSTEXPR
2947_mm256_movemask_ps(__m256 __a) {
30132948 return __builtin_ia32_movmskps256((__v8sf)__a);
30142949}
30152950
......@@ -3666,9 +3601,7 @@ _mm256_undefined_pd(void)
36663601/// This intrinsic has no corresponding instruction.
36673602///
36683603/// \returns A 256-bit vector of [8 x float] containing undefined values.
3669static __inline__ __m256 __DEFAULT_FN_ATTRS
3670_mm256_undefined_ps(void)
3671{
3604static __inline__ __m256 __DEFAULT_FN_ATTRS _mm256_undefined_ps(void) {
36723605 return (__m256)__builtin_ia32_undef256();
36733606}
36743607
......@@ -3777,7 +3710,7 @@ _mm256_set_ps(float __a, float __b, float __c, float __d,
37773710/// \param __i7
37783711/// A 32-bit integral value used to initialize bits [31:0] of the result.
37793712/// \returns An initialized 256-bit integer vector.
3780static __inline __m256i __DEFAULT_FN_ATTRS
3713static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
37813714_mm256_set_epi32(int __i0, int __i1, int __i2, int __i3,
37823715 int __i4, int __i5, int __i6, int __i7)
37833716{
......@@ -3825,7 +3758,7 @@ _mm256_set_epi32(int __i0, int __i1, int __i2, int __i3,
38253758/// \param __w00
38263759/// A 16-bit integral value used to initialize bits [15:0] of the result.
38273760/// \returns An initialized 256-bit integer vector.
3828static __inline __m256i __DEFAULT_FN_ATTRS
3761static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
38293762_mm256_set_epi16(short __w15, short __w14, short __w13, short __w12,
38303763 short __w11, short __w10, short __w09, short __w08,
38313764 short __w07, short __w06, short __w05, short __w04,
......@@ -3908,7 +3841,7 @@ _mm256_set_epi16(short __w15, short __w14, short __w13, short __w12,
39083841/// \param __b00
39093842/// An 8-bit integral value used to initialize bits [7:0] of the result.
39103843/// \returns An initialized 256-bit integer vector.
3911static __inline __m256i __DEFAULT_FN_ATTRS
3844static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
39123845_mm256_set_epi8(char __b31, char __b30, char __b29, char __b28,
39133846 char __b27, char __b26, char __b25, char __b24,
39143847 char __b23, char __b22, char __b21, char __b20,
......@@ -3943,7 +3876,7 @@ _mm256_set_epi8(char __b31, char __b30, char __b29, char __b28,
39433876/// \param __d
39443877/// A 64-bit integral value used to initialize bits [63:0] of the result.
39453878/// \returns An initialized 256-bit integer vector.
3946static __inline __m256i __DEFAULT_FN_ATTRS
3879static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
39473880_mm256_set_epi64x(long long __a, long long __b, long long __c, long long __d)
39483881{
39493882 return __extension__ (__m256i)(__v4di){ __d, __c, __b, __a };
......@@ -4044,7 +3977,7 @@ _mm256_setr_ps(float __a, float __b, float __c, float __d,
40443977/// \param __i7
40453978/// A 32-bit integral value used to initialize bits [255:224] of the result.
40463979/// \returns An initialized 256-bit integer vector.
4047static __inline __m256i __DEFAULT_FN_ATTRS
3980static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
40483981_mm256_setr_epi32(int __i0, int __i1, int __i2, int __i3,
40493982 int __i4, int __i5, int __i6, int __i7)
40503983{
......@@ -4092,7 +4025,7 @@ _mm256_setr_epi32(int __i0, int __i1, int __i2, int __i3,
40924025/// \param __w00
40934026/// A 16-bit integral value used to initialize bits [255:240] of the result.
40944027/// \returns An initialized 256-bit integer vector.
4095static __inline __m256i __DEFAULT_FN_ATTRS
4028static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
40964029_mm256_setr_epi16(short __w15, short __w14, short __w13, short __w12,
40974030 short __w11, short __w10, short __w09, short __w08,
40984031 short __w07, short __w06, short __w05, short __w04,
......@@ -4177,7 +4110,7 @@ _mm256_setr_epi16(short __w15, short __w14, short __w13, short __w12,
41774110/// \param __b00
41784111/// An 8-bit integral value used to initialize bits [255:248] of the result.
41794112/// \returns An initialized 256-bit integer vector.
4180static __inline __m256i __DEFAULT_FN_ATTRS
4113static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
41814114_mm256_setr_epi8(char __b31, char __b30, char __b29, char __b28,
41824115 char __b27, char __b26, char __b25, char __b24,
41834116 char __b23, char __b22, char __b21, char __b20,
......@@ -4210,7 +4143,7 @@ _mm256_setr_epi8(char __b31, char __b30, char __b29, char __b28,
42104143/// \param __d
42114144/// A 64-bit integral value used to initialize bits [255:192] of the result.
42124145/// \returns An initialized 256-bit integer vector.
4213static __inline __m256i __DEFAULT_FN_ATTRS
4146static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
42144147_mm256_setr_epi64x(long long __a, long long __b, long long __c, long long __d)
42154148{
42164149 return _mm256_set_epi64x(__d, __c, __b, __a);
......@@ -4267,7 +4200,7 @@ _mm256_set1_ps(float __w)
42674200/// A 32-bit integral value used to initialize each vector element of the
42684201/// result.
42694202/// \returns An initialized 256-bit integer vector of [8 x i32].
4270static __inline __m256i __DEFAULT_FN_ATTRS
4203static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
42714204_mm256_set1_epi32(int __i)
42724205{
42734206 return _mm256_set_epi32(__i, __i, __i, __i, __i, __i, __i, __i);
......@@ -4285,7 +4218,7 @@ _mm256_set1_epi32(int __i)
42854218/// A 16-bit integral value used to initialize each vector element of the
42864219/// result.
42874220/// \returns An initialized 256-bit integer vector of [16 x i16].
4288static __inline __m256i __DEFAULT_FN_ATTRS
4221static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
42894222_mm256_set1_epi16(short __w)
42904223{
42914224 return _mm256_set_epi16(__w, __w, __w, __w, __w, __w, __w, __w,
......@@ -4303,7 +4236,7 @@ _mm256_set1_epi16(short __w)
43034236/// An 8-bit integral value used to initialize each vector element of the
43044237/// result.
43054238/// \returns An initialized 256-bit integer vector of [32 x i8].
4306static __inline __m256i __DEFAULT_FN_ATTRS
4239static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
43074240_mm256_set1_epi8(char __b)
43084241{
43094242 return _mm256_set_epi8(__b, __b, __b, __b, __b, __b, __b, __b,
......@@ -4324,7 +4257,7 @@ _mm256_set1_epi8(char __b)
43244257/// A 64-bit integral value used to initialize each vector element of the
43254258/// result.
43264259/// \returns An initialized 256-bit integer vector of [4 x i64].
4327static __inline __m256i __DEFAULT_FN_ATTRS
4260static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
43284261_mm256_set1_epi64x(long long __q)
43294262{
43304263 return _mm256_set_epi64x(__q, __q, __q, __q);
......@@ -4379,7 +4312,7 @@ _mm256_setzero_si256(void) {
43794312/// A 256-bit floating-point vector of [4 x double].
43804313/// \returns A 256-bit floating-point vector of [8 x float] containing the same
43814314/// bitwise pattern as the parameter.
4382static __inline __m256 __DEFAULT_FN_ATTRS
4315static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
43834316_mm256_castpd_ps(__m256d __a)
43844317{
43854318 return (__m256)__a;
......@@ -4396,7 +4329,7 @@ _mm256_castpd_ps(__m256d __a)
43964329/// A 256-bit floating-point vector of [4 x double].
43974330/// \returns A 256-bit integer vector containing the same bitwise pattern as the
43984331/// parameter.
4399static __inline __m256i __DEFAULT_FN_ATTRS
4332static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
44004333_mm256_castpd_si256(__m256d __a)
44014334{
44024335 return (__m256i)__a;
......@@ -4413,7 +4346,7 @@ _mm256_castpd_si256(__m256d __a)
44134346/// A 256-bit floating-point vector of [8 x float].
44144347/// \returns A 256-bit floating-point vector of [4 x double] containing the same
44154348/// bitwise pattern as the parameter.
4416static __inline __m256d __DEFAULT_FN_ATTRS
4349static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
44174350_mm256_castps_pd(__m256 __a)
44184351{
44194352 return (__m256d)__a;
......@@ -4430,7 +4363,7 @@ _mm256_castps_pd(__m256 __a)
44304363/// A 256-bit floating-point vector of [8 x float].
44314364/// \returns A 256-bit integer vector containing the same bitwise pattern as the
44324365/// parameter.
4433static __inline __m256i __DEFAULT_FN_ATTRS
4366static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
44344367_mm256_castps_si256(__m256 __a)
44354368{
44364369 return (__m256i)__a;
......@@ -4447,7 +4380,7 @@ _mm256_castps_si256(__m256 __a)
44474380/// A 256-bit integer vector.
44484381/// \returns A 256-bit floating-point vector of [8 x float] containing the same
44494382/// bitwise pattern as the parameter.
4450static __inline __m256 __DEFAULT_FN_ATTRS
4383static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
44514384_mm256_castsi256_ps(__m256i __a)
44524385{
44534386 return (__m256)__a;
......@@ -4464,7 +4397,7 @@ _mm256_castsi256_ps(__m256i __a)
44644397/// A 256-bit integer vector.
44654398/// \returns A 256-bit floating-point vector of [4 x double] containing the same
44664399/// bitwise pattern as the parameter.
4467static __inline __m256d __DEFAULT_FN_ATTRS
4400static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
44684401_mm256_castsi256_pd(__m256i __a)
44694402{
44704403 return (__m256d)__a;
......@@ -4481,7 +4414,7 @@ _mm256_castsi256_pd(__m256i __a)
44814414/// A 256-bit floating-point vector of [4 x double].
44824415/// \returns A 128-bit floating-point vector of [2 x double] containing the
44834416/// lower 128 bits of the parameter.
4484static __inline __m128d __DEFAULT_FN_ATTRS
4417static __inline __m128d __DEFAULT_FN_ATTRS_CONSTEXPR
44854418_mm256_castpd256_pd128(__m256d __a)
44864419{
44874420 return __builtin_shufflevector((__v4df)__a, (__v4df)__a, 0, 1);
......@@ -4498,7 +4431,7 @@ _mm256_castpd256_pd128(__m256d __a)
44984431/// A 256-bit floating-point vector of [8 x float].
44994432/// \returns A 128-bit floating-point vector of [4 x float] containing the
45004433/// lower 128 bits of the parameter.
4501static __inline __m128 __DEFAULT_FN_ATTRS
4434static __inline __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
45024435_mm256_castps256_ps128(__m256 __a)
45034436{
45044437 return __builtin_shufflevector((__v8sf)__a, (__v8sf)__a, 0, 1, 2, 3);
......@@ -4514,7 +4447,7 @@ _mm256_castps256_ps128(__m256 __a)
45144447/// A 256-bit integer vector.
45154448/// \returns A 128-bit integer vector containing the lower 128 bits of the
45164449/// parameter.
4517static __inline __m128i __DEFAULT_FN_ATTRS
4450static __inline __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
45184451_mm256_castsi256_si128(__m256i __a)
45194452{
45204453 return __builtin_shufflevector((__v4di)__a, (__v4di)__a, 0, 1);
......@@ -4598,9 +4531,8 @@ _mm256_castsi128_si256(__m128i __a)
45984531/// A 128-bit vector of [2 x double].
45994532/// \returns A 256-bit floating-point vector of [4 x double]. The lower 128 bits
46004533/// contain the value of the parameter. The upper 128 bits are set to zero.
4601static __inline __m256d __DEFAULT_FN_ATTRS
4602_mm256_zextpd128_pd256(__m128d __a)
4603{
4534static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
4535_mm256_zextpd128_pd256(__m128d __a) {
46044536 return __builtin_shufflevector((__v2df)__a, (__v2df)_mm_setzero_pd(), 0, 1, 2, 3);
46054537}
46064538
......@@ -4616,9 +4548,8 @@ _mm256_zextpd128_pd256(__m128d __a)
46164548/// A 128-bit vector of [4 x float].
46174549/// \returns A 256-bit floating-point vector of [8 x float]. The lower 128 bits
46184550/// contain the value of the parameter. The upper 128 bits are set to zero.
4619static __inline __m256 __DEFAULT_FN_ATTRS
4620_mm256_zextps128_ps256(__m128 __a)
4621{
4551static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
4552_mm256_zextps128_ps256(__m128 __a) {
46224553 return __builtin_shufflevector((__v4sf)__a, (__v4sf)_mm_setzero_ps(), 0, 1, 2, 3, 4, 5, 6, 7);
46234554}
46244555
......@@ -4634,9 +4565,8 @@ _mm256_zextps128_ps256(__m128 __a)
46344565/// A 128-bit integer vector.
46354566/// \returns A 256-bit integer vector. The lower 128 bits contain the value of
46364567/// the parameter. The upper 128 bits are set to zero.
4637static __inline __m256i __DEFAULT_FN_ATTRS
4638_mm256_zextsi128_si256(__m128i __a)
4639{
4568static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
4569_mm256_zextsi128_si256(__m128i __a) {
46404570 return __builtin_shufflevector((__v2di)__a, (__v2di)_mm_setzero_si128(), 0, 1, 2, 3);
46414571}
46424572
......@@ -4851,9 +4781,8 @@ _mm256_zextsi128_si256(__m128i __a)
48514781/// 128 bits of the result.
48524782/// \returns A 256-bit floating-point vector of [8 x float] containing the
48534783/// concatenated result.
4854static __inline __m256 __DEFAULT_FN_ATTRS
4855_mm256_set_m128 (__m128 __hi, __m128 __lo)
4856{
4784static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
4785_mm256_set_m128(__m128 __hi, __m128 __lo) {
48574786 return (__m256) __builtin_shufflevector((__v4sf)__lo, (__v4sf)__hi, 0, 1, 2, 3, 4, 5, 6, 7);
48584787}
48594788
......@@ -4872,9 +4801,8 @@ _mm256_set_m128 (__m128 __hi, __m128 __lo)
48724801/// 128 bits of the result.
48734802/// \returns A 256-bit floating-point vector of [4 x double] containing the
48744803/// concatenated result.
4875static __inline __m256d __DEFAULT_FN_ATTRS
4876_mm256_set_m128d (__m128d __hi, __m128d __lo)
4877{
4804static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
4805_mm256_set_m128d(__m128d __hi, __m128d __lo) {
48784806 return (__m256d) __builtin_shufflevector((__v2df)__lo, (__v2df)__hi, 0, 1, 2, 3);
48794807}
48804808
......@@ -4892,9 +4820,8 @@ _mm256_set_m128d (__m128d __hi, __m128d __lo)
48924820/// A 128-bit integer vector to be copied to the lower 128 bits of the
48934821/// result.
48944822/// \returns A 256-bit integer vector containing the concatenated result.
4895static __inline __m256i __DEFAULT_FN_ATTRS
4896_mm256_set_m128i (__m128i __hi, __m128i __lo)
4897{
4823static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
4824_mm256_set_m128i(__m128i __hi, __m128i __lo) {
48984825 return (__m256i) __builtin_shufflevector((__v2di)__lo, (__v2di)__hi, 0, 1, 2, 3);
48994826}
49004827
......@@ -4915,9 +4842,8 @@ _mm256_set_m128i (__m128i __hi, __m128i __lo)
49154842/// 128 bits of the result.
49164843/// \returns A 256-bit floating-point vector of [8 x float] containing the
49174844/// concatenated result.
4918static __inline __m256 __DEFAULT_FN_ATTRS
4919_mm256_setr_m128 (__m128 __lo, __m128 __hi)
4920{
4845static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
4846_mm256_setr_m128(__m128 __lo, __m128 __hi) {
49214847 return _mm256_set_m128(__hi, __lo);
49224848}
49234849
......@@ -4938,9 +4864,8 @@ _mm256_setr_m128 (__m128 __lo, __m128 __hi)
49384864/// 128 bits of the result.
49394865/// \returns A 256-bit floating-point vector of [4 x double] containing the
49404866/// concatenated result.
4941static __inline __m256d __DEFAULT_FN_ATTRS
4942_mm256_setr_m128d (__m128d __lo, __m128d __hi)
4943{
4867static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
4868_mm256_setr_m128d(__m128d __lo, __m128d __hi) {
49444869 return (__m256d)_mm256_set_m128d(__hi, __lo);
49454870}
49464871
......@@ -4959,9 +4884,8 @@ _mm256_setr_m128d (__m128d __lo, __m128d __hi)
49594884/// A 128-bit integer vector to be copied to the upper 128 bits of the
49604885/// result.
49614886/// \returns A 256-bit integer vector containing the concatenated result.
4962static __inline __m256i __DEFAULT_FN_ATTRS
4963_mm256_setr_m128i (__m128i __lo, __m128i __hi)
4964{
4887static __inline __m256i __DEFAULT_FN_ATTRS_CONSTEXPR
4888_mm256_setr_m128i(__m128i __lo, __m128i __hi) {
49654889 return (__m256i)_mm256_set_m128i(__hi, __lo);
49664890}
49674891
lib/include/avxvnniint16intrin.h+118-99
......@@ -16,9 +16,10 @@
1616#define __AVXVNNIINT16INTRIN_H
1717
1818/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
19/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
20/// signed 16-bit results. Sum these 2 results with the corresponding
21/// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
19/// corresponding unsigned 16-bit integers in \a __B, producing 2
20/// intermediate signed 16-bit results. Sum these 2 results with the
21/// corresponding 32-bit integer in \a __W, and store the packed 32-bit
22/// results in \a dst.
2223///
2324/// \headerfile <immintrin.h>
2425///
......@@ -40,19 +41,21 @@
4041/// \code{.operation}
4142/// FOR j := 0 to 3
4243/// tmp1.dword := SignExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
43/// tmp2.dword := SignExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
44/// tmp2.dword :=
45/// SignExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
4446/// dst.dword[j] := __W.dword[j] + tmp1 + tmp2
4547/// ENDFOR
4648/// dst[MAX:128] := 0
4749/// \endcode
4850#define _mm_dpwsud_epi32(__W, __A, __B) \
49 ((__m128i)__builtin_ia32_vpdpwsud128((__v4si)(__W), (__v4si)(__A), \
50 (__v4si)(__B)))
51 ((__m128i)__builtin_ia32_vpdpwsud128((__v4si)(__W), (__v8hi)(__A), \
52 (__v8hu)(__B)))
5153
5254/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
53/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
54/// signed 16-bit results. Sum these 2 results with the corresponding
55/// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
55/// corresponding unsigned 16-bit integers in \a __B, producing 2
56/// intermediate signed 16-bit results. Sum these 2 results with the
57/// corresponding 32-bit integer in \a __W, and store the packed 32-bit
58/// results in \a dst.
5659///
5760/// \headerfile <immintrin.h>
5861///
......@@ -74,20 +77,21 @@
7477/// \code{.operation}
7578/// FOR j := 0 to 7
7679/// tmp1.dword := SignExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
77/// tmp2.dword := SignExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
78/// dst.dword[j] := __W.dword[j] + tmp1 + tmp2
80/// tmp2.dword :=
81/// SignExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
82/// dst.dword[j] := __W.dword[j] + tmp1 + tmp2
7983/// ENDFOR
8084/// dst[MAX:256] := 0
8185/// \endcode
8286#define _mm256_dpwsud_epi32(__W, __A, __B) \
83 ((__m256i)__builtin_ia32_vpdpwsud256((__v8si)(__W), (__v8si)(__A), \
84 (__v8si)(__B)))
87 ((__m256i)__builtin_ia32_vpdpwsud256((__v8si)(__W), (__v16hi)(__A), \
88 (__v16hu)(__B)))
8589
8690/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
87/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
88/// signed 16-bit results. Sum these 2 results with the corresponding
89/// 32-bit integer in \a __W with signed saturation, and store the packed
90/// 32-bit results in \a dst.
91/// corresponding unsigned 16-bit integers in \a __B, producing 2
92/// intermediate signed 16-bit results. Sum these 2 results with the
93/// corresponding 32-bit integer in \a __W with signed saturation, and store
94/// the packed 32-bit results in \a dst.
9195///
9296/// \headerfile <immintrin.h>
9397///
......@@ -109,20 +113,22 @@
109113/// \code{.operation}
110114/// FOR j := 0 to 3
111115/// tmp1.dword := SignExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
112/// tmp2.dword := SignExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
116/// tmp2.dword :=
117/// SignExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
113118/// dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2)
114119/// ENDFOR
115120/// dst[MAX:128] := 0
116121/// \endcode
122/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
117123#define _mm_dpwsuds_epi32(__W, __A, __B) \
118 ((__m128i)__builtin_ia32_vpdpwsuds128((__v4si)(__W), (__v4si)(__A), \
119 (__v4si)(__B)))
124 ((__m128i)__builtin_ia32_vpdpwsuds128((__v4si)(__W), (__v8hi)(__A), \
125 (__v8hu)(__B)))
120126
121127/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
122/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
123/// signed 16-bit results. Sum these 2 results with the corresponding
124/// 32-bit integer in \a __W with signed saturation, and store the packed
125/// 32-bit results in \a dst.
128/// corresponding unsigned 16-bit integers in \a __B, producing 2
129/// intermediate signed 16-bit results. Sum these 2 results with the
130/// corresponding 32-bit integer in \a __W with signed saturation, and store
131/// the packed 32-bit results in \a dst.
126132///
127133/// \headerfile <immintrin.h>
128134///
......@@ -144,19 +150,21 @@
144150/// \code{.operation}
145151/// FOR j := 0 to 7
146152/// tmp1.dword := SignExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
147/// tmp2.dword := SignExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
153/// tmp2.dword :=
154/// SignExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
148155/// dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2)
149156/// ENDFOR
150157/// dst[MAX:256] := 0
151158/// \endcode
152159#define _mm256_dpwsuds_epi32(__W, __A, __B) \
153 ((__m256i)__builtin_ia32_vpdpwsuds256((__v8si)(__W), (__v8si)(__A), \
154 (__v8si)(__B)))
160 ((__m256i)__builtin_ia32_vpdpwsuds256((__v8si)(__W), (__v16hi)(__A), \
161 (__v16hu)(__B)))
155162
156/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
157/// corresponding signed 16-bit integers in \a __B, producing 2 intermediate
158/// signed 16-bit results. Sum these 2 results with the corresponding
159/// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
163/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A
164/// with corresponding signed 16-bit integers in \a __B, producing 2
165/// intermediate signed 16-bit results. Sum these 2 results with the
166/// corresponding 32-bit integer in \a __W, and store the packed 32-bit
167/// results in \a dst.
160168///
161169/// \headerfile <immintrin.h>
162170///
......@@ -178,19 +186,21 @@
178186/// \code{.operation}
179187/// FOR j := 0 to 3
180188/// tmp1.dword := ZeroExtend32(__A.word[2*j]) * SignExtend32(__B.word[2*j])
181/// tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
189/// tmp2.dword :=
190/// ZeroExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
182191/// dst.dword[j] := __W.dword[j] + tmp1 + tmp2
183192/// ENDFOR
184193/// dst[MAX:128] := 0
185194/// \endcode
186195#define _mm_dpwusd_epi32(__W, __A, __B) \
187 ((__m128i)__builtin_ia32_vpdpwusd128((__v4si)(__W), (__v4si)(__A), \
188 (__v4si)(__B)))
196 ((__m128i)__builtin_ia32_vpdpwusd128((__v4si)(__W), (__v8hu)(__A), \
197 (__v8hi)(__B)))
189198
190/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
191/// corresponding signed 16-bit integers in \a __B, producing 2 intermediate
192/// signed 16-bit results. Sum these 2 results with the corresponding
193/// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
199/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A
200/// with corresponding signed 16-bit integers in \a __B, producing 2
201/// intermediate signed 16-bit results. Sum these 2 results with the
202/// corresponding 32-bit integer in \a __W, and store the packed 32-bit
203/// results in \a dst.
194204///
195205/// \headerfile <immintrin.h>
196206///
......@@ -212,20 +222,21 @@
212222/// \code{.operation}
213223/// FOR j := 0 to 7
214224/// tmp1.dword := ZeroExtend32(__A.word[2*j]) * SignExtend32(__B.word[2*j])
215/// tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
225/// tmp2.dword :=
226/// ZeroExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
216227/// dst.dword[j] := __W.dword[j] + tmp1 + tmp2
217228/// ENDFOR
218229/// dst[MAX:256] := 0
219230/// \endcode
220231#define _mm256_dpwusd_epi32(__W, __A, __B) \
221 ((__m256i)__builtin_ia32_vpdpwusd256((__v8si)(__W), (__v8si)(__A), \
222 (__v8si)(__B)))
232 ((__m256i)__builtin_ia32_vpdpwusd256((__v8si)(__W), (__v16hu)(__A), \
233 (__v16hi)(__B)))
223234
224/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
225/// corresponding signed 16-bit integers in \a __B, producing 2 intermediate
226/// signed 16-bit results. Sum these 2 results with the corresponding
227/// 32-bit integer in \a __W with signed saturation, and store the packed
228/// 32-bit results in \a dst.
235/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A
236/// with corresponding signed 16-bit integers in \a __B, producing 2
237/// intermediate signed 16-bit results. Sum these 2 results with the
238/// corresponding 32-bit integer in \a __W with signed saturation, and
239/// store the packed 32-bit results in \a dst.
229240///
230241/// \headerfile <immintrin.h>
231242///
......@@ -233,7 +244,7 @@
233244/// __m128i _mm_dpwusds_epi32(__m128i __W, __m128i __A, __m128i __B)
234245/// \endcode
235246///
236/// This intrinsic corresponds to the \c VPDPWSUDS instruction.
247/// This intrinsic corresponds to the \c VPDPWUSDS instruction.
237248///
238249/// \param __W
239250/// A 128-bit vector of [4 x int].
......@@ -247,20 +258,21 @@
247258/// \code{.operation}
248259/// FOR j := 0 to 3
249260/// tmp1.dword := ZeroExtend32(__A.word[2*j]) * SignExtend32(__B.word[2*j])
250/// tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
261/// tmp2.dword :=
262/// ZeroExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
251263/// dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2)
252264/// ENDFOR
253265/// dst[MAX:128] := 0
254266/// \endcode
255267#define _mm_dpwusds_epi32(__W, __A, __B) \
256 ((__m128i)__builtin_ia32_vpdpwusds128((__v4si)(__W), (__v4si)(__A), \
257 (__v4si)(__B)))
268 ((__m128i)__builtin_ia32_vpdpwusds128((__v4si)(__W), (__v8hu)(__A), \
269 (__v8hi)(__B)))
258270
259/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
260/// corresponding signed 16-bit integers in \a __B, producing 2 intermediate
261/// signed 16-bit results. Sum these 2 results with the corresponding
262/// 32-bit integer in \a __W with signed saturation, and store the packed
263/// 32-bit results in \a dst.
271/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A
272/// with corresponding signed 16-bit integers in \a __B, producing 2
273/// intermediate signed 16-bit results. Sum these 2 results with the
274/// corresponding 32-bit integer in \a __W with signed saturation, and
275/// store the packed 32-bit results in \a dst.
264276///
265277/// \headerfile <immintrin.h>
266278///
......@@ -268,7 +280,7 @@
268280/// __m256i _mm256_dpwsuds_epi32(__m256i __W, __m256i __A, __m256i __B)
269281/// \endcode
270282///
271/// This intrinsic corresponds to the \c VPDPWSUDS instruction.
283/// This intrinsic corresponds to the \c VPDPWUSDS instruction.
272284///
273285/// \param __W
274286/// A 256-bit vector of [8 x int].
......@@ -282,19 +294,21 @@
282294/// \code{.operation}
283295/// FOR j := 0 to 7
284296/// tmp1.dword := ZeroExtend32(__A.word[2*j]) * SignExtend32(__B.word[2*j])
285/// tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
297/// tmp2.dword :=
298/// ZeroExtend32(__A.word[2*j+1]) * SignExtend32(__B.word[2*j+1])
286299/// dst.dword[j] := SIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2)
287300/// ENDFOR
288301/// dst[MAX:256] := 0
289302/// \endcode
290303#define _mm256_dpwusds_epi32(__W, __A, __B) \
291 ((__m256i)__builtin_ia32_vpdpwusds256((__v8si)(__W), (__v8si)(__A), \
292 (__v8si)(__B)))
304 ((__m256i)__builtin_ia32_vpdpwusds256((__v8si)(__W), (__v16hu)(__A), \
305 (__v16hi)(__B)))
293306
294/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
295/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
296/// signed 16-bit results. Sum these 2 results with the corresponding
297/// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
307/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A
308/// with corresponding unsigned 16-bit integers in \a __B, producing 2
309/// intermediate signed 16-bit results. Sum these 2 results with the
310/// corresponding 32-bit integer in \a __W, and store the packed 32-bit
311/// results in \a dst.
298312///
299313/// \headerfile <immintrin.h>
300314///
......@@ -305,30 +319,32 @@
305319/// This intrinsic corresponds to the \c VPDPWUUD instruction.
306320///
307321/// \param __W
308/// A 128-bit vector of [4 x unsigned int].
322/// A 128-bit vector of [4 x int].
309323/// \param __A
310324/// A 128-bit vector of [8 x unsigned short].
311325/// \param __B
312326/// A 128-bit vector of [8 x unsigned short].
313327/// \returns
314/// A 128-bit vector of [4 x unsigned int].
328/// A 128-bit vector of [4 x int].
315329///
316330/// \code{.operation}
317331/// FOR j := 0 to 3
318332/// tmp1.dword := ZeroExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
319/// tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
333/// tmp2.dword :=
334/// ZeroExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
320335/// dst.dword[j] := __W.dword[j] + tmp1 + tmp2
321336/// ENDFOR
322337/// dst[MAX:128] := 0
323338/// \endcode
324339#define _mm_dpwuud_epi32(__W, __A, __B) \
325 ((__m128i)__builtin_ia32_vpdpwuud128((__v4si)(__W), (__v4si)(__A), \
326 (__v4si)(__B)))
340 ((__m128i)__builtin_ia32_vpdpwuud128((__v4si)(__W), (__v8hu)(__A), \
341 (__v8hu)(__B)))
327342
328/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
329/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
330/// signed 16-bit results. Sum these 2 results with the corresponding
331/// 32-bit integer in \a __W, and store the packed 32-bit results in \a dst.
343/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A
344/// with corresponding unsigned 16-bit integers in \a __B, producing 2
345/// intermediate signed 16-bit results. Sum these 2 results with the
346/// corresponding 32-bit integer in \a __W, and store the packed 32-bit
347/// results in \a dst.
332348///
333349/// \headerfile <immintrin.h>
334350///
......@@ -339,31 +355,32 @@
339355/// This intrinsic corresponds to the \c VPDPWUUD instruction.
340356///
341357/// \param __W
342/// A 256-bit vector of [8 x unsigned int].
358/// A 256-bit vector of [8 x int].
343359/// \param __A
344360/// A 256-bit vector of [16 x unsigned short].
345361/// \param __B
346362/// A 256-bit vector of [16 x unsigned short].
347363/// \returns
348/// A 256-bit vector of [8 x unsigned int].
364/// A 256-bit vector of [8 x int].
349365///
350366/// \code{.operation}
351367/// FOR j := 0 to 7
352368/// tmp1.dword := ZeroExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
353/// tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
369/// tmp2.dword :=
370/// ZeroExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
354371/// dst.dword[j] := __W.dword[j] + tmp1 + tmp2
355372/// ENDFOR
356373/// dst[MAX:256] := 0
357374/// \endcode
358375#define _mm256_dpwuud_epi32(__W, __A, __B) \
359 ((__m256i)__builtin_ia32_vpdpwuud256((__v8si)(__W), (__v8si)(__A), \
360 (__v8si)(__B)))
376 ((__m256i)__builtin_ia32_vpdpwuud256((__v8si)(__W), (__v16hu)(__A), \
377 (__v16hu)(__B)))
361378
362/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
363/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
364/// signed 16-bit results. Sum these 2 results with the corresponding
365/// 32-bit integer in \a __W with signed saturation, and store the packed
366/// 32-bit results in \a dst.
379/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A
380/// with corresponding unsigned 16-bit integers in \a __B, producing 2
381/// intermediate signed 16-bit results. Sum these 2 results with the
382/// corresponding 32-bit integer in \a __W with signed saturation, and store
383/// the packed 32-bit results in \a dst.
367384///
368385/// \headerfile <immintrin.h>
369386///
......@@ -371,34 +388,35 @@
371388/// __m128i _mm_dpwsuds_epi32(__m128i __W, __m128i __A, __m128i __B)
372389/// \endcode
373390///
374/// This intrinsic corresponds to the \c VPDPWSUDS instruction.
391/// This intrinsic corresponds to the \c VPDPWUUDS instruction.
375392///
376393/// \param __W
377/// A 128-bit vector of [4 x unsigned int].
394/// A 128-bit vector of [4 x int].
378395/// \param __A
379396/// A 128-bit vector of [8 x unsigned short].
380397/// \param __B
381398/// A 128-bit vector of [8 x unsigned short].
382399/// \returns
383/// A 128-bit vector of [4 x unsigned int].
400/// A 128-bit vector of [4 x int].
384401///
385402/// \code{.operation}
386403/// FOR j := 0 to 3
387404/// tmp1.dword := ZeroExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
388/// tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
405/// tmp2.dword :=
406/// ZeroExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
389407/// dst.dword[j] := UNSIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2)
390408/// ENDFOR
391409/// dst[MAX:128] := 0
392410/// \endcode
393411#define _mm_dpwuuds_epi32(__W, __A, __B) \
394 ((__m128i)__builtin_ia32_vpdpwuuds128((__v4si)(__W), (__v4si)(__A), \
395 (__v4si)(__B)))
412 ((__m128i)__builtin_ia32_vpdpwuuds128((__v4si)(__W), (__v8hu)(__A), \
413 (__v8hu)(__B)))
396414
397/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A with
398/// corresponding unsigned 16-bit integers in \a __B, producing 2 intermediate
399/// signed 16-bit results. Sum these 2 results with the corresponding
400/// 32-bit integer in \a __W with signed saturation, and store the packed
401/// 32-bit results in \a dst.
415/// Multiply groups of 2 adjacent pairs of unsigned 16-bit integers in \a __A
416/// with corresponding unsigned 16-bit integers in \a __B, producing 2
417/// intermediate signed 16-bit results. Sum these 2 results with the
418/// corresponding 32-bit integer in \a __W with signed saturation, and store
419/// the packed 32-bit results in \a dst.
402420///
403421/// \headerfile <immintrin.h>
404422///
......@@ -406,27 +424,28 @@
406424/// __m256i _mm256_dpwuuds_epi32(__m256i __W, __m256i __A, __m256i __B)
407425/// \endcode
408426///
409/// This intrinsic corresponds to the \c VPDPWSUDS instruction.
427/// This intrinsic corresponds to the \c VPDPWUUDS instruction.
410428///
411429/// \param __W
412/// A 256-bit vector of [8 x unsigned int].
430/// A 256-bit vector of [8 x int].
413431/// \param __A
414432/// A 256-bit vector of [16 x unsigned short].
415433/// \param __B
416434/// A 256-bit vector of [16 x unsigned short].
417435/// \returns
418/// A 256-bit vector of [8 x unsigned int].
436/// A 256-bit vector of [8 x int].
419437///
420438/// \code{.operation}
421439/// FOR j := 0 to 7
422440/// tmp1.dword := ZeroExtend32(__A.word[2*j]) * ZeroExtend32(__B.word[2*j])
423/// tmp2.dword := ZeroExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
441/// tmp2.dword :=
442/// ZeroExtend32(__A.word[2*j+1]) * ZeroExtend32(__B.word[2*j+1])
424443/// dst.dword[j] := UNSIGNED_DWORD_SATURATE(__W.dword[j] + tmp1 + tmp2)
425444/// ENDFOR
426445/// dst[MAX:256] := 0
427446/// \endcode
428447#define _mm256_dpwuuds_epi32(__W, __A, __B) \
429 ((__m256i)__builtin_ia32_vpdpwuuds256((__v8si)(__W), (__v8si)(__A), \
430 (__v8si)(__B)))
448 ((__m256i)__builtin_ia32_vpdpwuuds256((__v8si)(__W), (__v16hu)(__A), \
449 (__v16hu)(__B)))
431450
432451#endif // __AVXVNNIINT16INTRIN_H
lib/include/avxvnniint8intrin.h+56-32
......@@ -14,6 +14,7 @@
1414#ifndef __AVXVNNIINT8INTRIN_H
1515#define __AVXVNNIINT8INTRIN_H
1616
17// clang-format off
1718/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
1819/// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
1920/// signed 16-bit results. Sum these 4 results with the corresponding
......@@ -44,10 +45,12 @@
4445/// ENDFOR
4546/// dst[MAX:128] := 0
4647/// \endcode
48// clang-format on
4749#define _mm_dpbssd_epi32(__W, __A, __B) \
48 ((__m128i)__builtin_ia32_vpdpbssd128((__v4si)(__W), (__v4si)(__A), \
49 (__v4si)(__B)))
50 ((__m128i)__builtin_ia32_vpdpbssd128((__v4si)(__W), (__v16qi)(__A), \
51 (__v16qi)(__B)))
5052
53// clang-format off
5154/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
5255/// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
5356/// signed 16-bit results. Sum these 4 results with the corresponding
......@@ -78,10 +81,12 @@
7881/// ENDFOR
7982/// dst[MAX:256] := 0
8083/// \endcode
84// clang-format on
8185#define _mm256_dpbssd_epi32(__W, __A, __B) \
82 ((__m256i)__builtin_ia32_vpdpbssd256((__v8si)(__W), (__v8si)(__A), \
83 (__v8si)(__B)))
86 ((__m256i)__builtin_ia32_vpdpbssd256((__v8si)(__W), (__v32qi)(__A), \
87 (__v32qi)(__B)))
8488
89// clang-format off
8590/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
8691/// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
8792/// signed 16-bit results. Sum these 4 results with the corresponding
......@@ -94,7 +99,7 @@
9499/// _mm_dpbssds_epi32( __m128i __W, __m128i __A, __m128i __B);
95100/// \endcode
96101///
97/// This intrinsic corresponds to the \c VPDPBSSD instruction.
102/// This intrinsic corresponds to the \c VPDPBSSDS instruction.
98103///
99104/// \param __A
100105/// A 128-bit vector of [16 x char].
......@@ -113,10 +118,12 @@
113118/// ENDFOR
114119/// dst[MAX:128] := 0
115120/// \endcode
121// clang-format on
116122#define _mm_dpbssds_epi32(__W, __A, __B) \
117 ((__m128i)__builtin_ia32_vpdpbssds128((__v4si)(__W), (__v4si)(__A), \
118 (__v4si)(__B)))
123 ((__m128i)__builtin_ia32_vpdpbssds128((__v4si)(__W), (__v16qi)(__A), \
124 (__v16qi)(__B)))
119125
126// clang-format off
120127/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
121128/// corresponding signed 8-bit integers in \a __B, producing 4 intermediate
122129/// signed 16-bit results. Sum these 4 results with the corresponding
......@@ -129,7 +136,7 @@
129136/// _mm256_dpbssds_epi32(__m256i __W, __m256i __A, __m256i __B);
130137/// \endcode
131138///
132/// This intrinsic corresponds to the \c VPDPBSSD instruction.
139/// This intrinsic corresponds to the \c VPDPBSSDS instruction.
133140///
134141/// \param __A
135142/// A 256-bit vector of [32 x char].
......@@ -148,10 +155,12 @@
148155/// ENDFOR
149156/// dst[MAX:256] := 0
150157/// \endcode
158// clang-format on
151159#define _mm256_dpbssds_epi32(__W, __A, __B) \
152 ((__m256i)__builtin_ia32_vpdpbssds256((__v8si)(__W), (__v8si)(__A), \
153 (__v8si)(__B)))
160 ((__m256i)__builtin_ia32_vpdpbssds256((__v8si)(__W), (__v32qi)(__A), \
161 (__v32qi)(__B)))
154162
163// clang-format off
155164/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
156165/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
157166/// signed 16-bit results. Sum these 4 results with the corresponding
......@@ -163,7 +172,7 @@
163172/// _mm_dpbsud_epi32(__m128i __W, __m128i __A, __m128i __B);
164173/// \endcode
165174///
166/// This intrinsic corresponds to the \c VPDPBSSD instruction.
175/// This intrinsic corresponds to the \c VPDPBSUD instruction.
167176///
168177/// \param __A
169178/// A 128-bit vector of [16 x char].
......@@ -182,10 +191,12 @@
182191/// ENDFOR
183192/// dst[MAX:128] := 0
184193/// \endcode
194// clang-format on
185195#define _mm_dpbsud_epi32(__W, __A, __B) \
186 ((__m128i)__builtin_ia32_vpdpbsud128((__v4si)(__W), (__v4si)(__A), \
187 (__v4si)(__B)))
196 ((__m128i)__builtin_ia32_vpdpbsud128((__v4si)(__W), (__v16qi)(__A), \
197 (__v16qu)(__B)))
188198
199// clang-format off
189200/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
190201/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
191202/// signed 16-bit results. Sum these 4 results with the corresponding
......@@ -197,7 +208,7 @@
197208/// _mm256_dpbsud_epi32(__m256i __W, __m256i __A, __m256i __B);
198209/// \endcode
199210///
200/// This intrinsic corresponds to the \c VPDPBSSD instruction.
211/// This intrinsic corresponds to the \c VPDPBSUD instruction.
201212///
202213/// \param __A
203214/// A 256-bit vector of [32 x char].
......@@ -216,10 +227,12 @@
216227/// ENDFOR
217228/// dst[MAX:256] := 0
218229/// \endcode
230// clang-format on
219231#define _mm256_dpbsud_epi32(__W, __A, __B) \
220 ((__m256i)__builtin_ia32_vpdpbsud256((__v8si)(__W), (__v8si)(__A), \
221 (__v8si)(__B)))
232 ((__m256i)__builtin_ia32_vpdpbsud256((__v8si)(__W), (__v32qi)(__A), \
233 (__v32qu)(__B)))
222234
235// clang-format off
223236/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
224237/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
225238/// signed 16-bit results. Sum these 4 results with the corresponding
......@@ -232,7 +245,7 @@
232245/// _mm_dpbsuds_epi32( __m128i __W, __m128i __A, __m128i __B);
233246/// \endcode
234247///
235/// This intrinsic corresponds to the \c VPDPBSSD instruction.
248/// This intrinsic corresponds to the \c VPDPBSUDS instruction.
236249///
237250/// \param __A
238251/// A 128-bit vector of [16 x char].
......@@ -251,10 +264,12 @@
251264/// ENDFOR
252265/// dst[MAX:128] := 0
253266/// \endcode
267// clang-format on
254268#define _mm_dpbsuds_epi32(__W, __A, __B) \
255 ((__m128i)__builtin_ia32_vpdpbsuds128((__v4si)(__W), (__v4si)(__A), \
256 (__v4si)(__B)))
269 ((__m128i)__builtin_ia32_vpdpbsuds128((__v4si)(__W), (__v16qi)(__A), \
270 (__v16qu)(__B)))
257271
272// clang-format off
258273/// Multiply groups of 4 adjacent pairs of signed 8-bit integers in \a __A with
259274/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
260275/// signed 16-bit results. Sum these 4 results with the corresponding
......@@ -267,7 +282,7 @@
267282/// _mm256_dpbsuds_epi32(__m256i __W, __m256i __A, __m256i __B);
268283/// \endcode
269284///
270/// This intrinsic corresponds to the \c VPDPBSSD instruction.
285/// This intrinsic corresponds to the \c VPDPBSUDS instruction.
271286///
272287/// \param __A
273288/// A 256-bit vector of [32 x char].
......@@ -286,10 +301,12 @@
286301/// ENDFOR
287302/// dst[MAX:256] := 0
288303/// \endcode
304// clang-format on
289305#define _mm256_dpbsuds_epi32(__W, __A, __B) \
290 ((__m256i)__builtin_ia32_vpdpbsuds256((__v8si)(__W), (__v8si)(__A), \
291 (__v8si)(__B)))
306 ((__m256i)__builtin_ia32_vpdpbsuds256((__v8si)(__W), (__v32qi)(__A), \
307 (__v32qu)(__B)))
292308
309// clang-format off
293310/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
294311/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
295312/// signed 16-bit results. Sum these 4 results with the corresponding
......@@ -301,7 +318,7 @@
301318/// _mm_dpbuud_epi32(__m128i __W, __m128i __A, __m128i __B);
302319/// \endcode
303320///
304/// This intrinsic corresponds to the \c VPDPBSSD instruction.
321/// This intrinsic corresponds to the \c VPDPBUUD instruction.
305322///
306323/// \param __A
307324/// A 128-bit vector of [16 x unsigned char].
......@@ -320,10 +337,12 @@
320337/// ENDFOR
321338/// dst[MAX:128] := 0
322339/// \endcode
340// clang-format on
323341#define _mm_dpbuud_epi32(__W, __A, __B) \
324 ((__m128i)__builtin_ia32_vpdpbuud128((__v4si)(__W), (__v4si)(__A), \
325 (__v4si)(__B)))
342 ((__m128i)__builtin_ia32_vpdpbuud128((__v4si)(__W), (__v16qu)(__A), \
343 (__v16qu)(__B)))
326344
345// clang-format off
327346/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
328347/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
329348/// signed 16-bit results. Sum these 4 results with the corresponding
......@@ -335,7 +354,7 @@
335354/// _mm256_dpbuud_epi32(__m256i __W, __m256i __A, __m256i __B);
336355/// \endcode
337356///
338/// This intrinsic corresponds to the \c VPDPBSSD instruction.
357/// This intrinsic corresponds to the \c VPDPBUUD instruction.
339358///
340359/// \param __A
341360/// A 256-bit vector of [32 x unsigned char].
......@@ -354,10 +373,12 @@
354373/// ENDFOR
355374/// dst[MAX:256] := 0
356375/// \endcode
376// clang-format on
357377#define _mm256_dpbuud_epi32(__W, __A, __B) \
358 ((__m256i)__builtin_ia32_vpdpbuud256((__v8si)(__W), (__v8si)(__A), \
359 (__v8si)(__B)))
378 ((__m256i)__builtin_ia32_vpdpbuud256((__v8si)(__W), (__v32qu)(__A), \
379 (__v32qu)(__B)))
360380
381// clang-format off
361382/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
362383/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
363384/// signed 16-bit results. Sum these 4 results with the corresponding
......@@ -389,10 +410,12 @@
389410/// ENDFOR
390411/// dst[MAX:128] := 0
391412/// \endcode
413// clang-format on
392414#define _mm_dpbuuds_epi32(__W, __A, __B) \
393 ((__m128i)__builtin_ia32_vpdpbuuds128((__v4si)(__W), (__v4si)(__A), \
394 (__v4si)(__B)))
415 ((__m128i)__builtin_ia32_vpdpbuuds128((__v4si)(__W), (__v16qu)(__A), \
416 (__v16qu)(__B)))
395417
418// clang-format off
396419/// corresponding unsigned 8-bit integers in \a __B, producing 4 intermediate
397420/// signed 16-bit results. Sum these 4 results with the corresponding
398421/// 32-bit integer in \a __W with signed saturation, and store the packed
......@@ -423,8 +446,9 @@
423446/// ENDFOR
424447/// dst[MAX:256] := 0
425448/// \endcode
449// clang-format on
426450#define _mm256_dpbuuds_epi32(__W, __A, __B) \
427 ((__m256i)__builtin_ia32_vpdpbuuds256((__v8si)(__W), (__v8si)(__A), \
428 (__v8si)(__B)))
451 ((__m256i)__builtin_ia32_vpdpbuuds256((__v8si)(__W), (__v32qu)(__A), \
452 (__v32qu)(__B)))
429453
430454#endif // __AVXVNNIINT8INTRIN_H
lib/include/avxvnniintrin.h+16-8
......@@ -63,7 +63,8 @@
6363static __inline__ __m256i __DEFAULT_FN_ATTRS256
6464_mm256_dpbusd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
6565{
66 return (__m256i)__builtin_ia32_vpdpbusd256((__v8si)__S, (__v8si)__A, (__v8si)__B);
66 return (__m256i)__builtin_ia32_vpdpbusd256((__v8si)__S, (__v32qu)__A,
67 (__v32qi)__B);
6768}
6869
6970/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
......@@ -86,7 +87,8 @@ _mm256_dpbusd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
8687static __inline__ __m256i __DEFAULT_FN_ATTRS256
8788_mm256_dpbusds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
8889{
89 return (__m256i)__builtin_ia32_vpdpbusds256((__v8si)__S, (__v8si)__A, (__v8si)__B);
90 return (__m256i)__builtin_ia32_vpdpbusds256((__v8si)__S, (__v32qu)__A,
91 (__v32qi)__B);
9092}
9193
9294/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
......@@ -107,7 +109,8 @@ _mm256_dpbusds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
107109static __inline__ __m256i __DEFAULT_FN_ATTRS256
108110_mm256_dpwssd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
109111{
110 return (__m256i)__builtin_ia32_vpdpwssd256((__v8si)__S, (__v8si)__A, (__v8si)__B);
112 return (__m256i)__builtin_ia32_vpdpwssd256((__v8si)__S, (__v16hi)__A,
113 (__v16hi)__B);
111114}
112115
113116/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
......@@ -128,7 +131,8 @@ _mm256_dpwssd_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
128131static __inline__ __m256i __DEFAULT_FN_ATTRS256
129132_mm256_dpwssds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
130133{
131 return (__m256i)__builtin_ia32_vpdpwssds256((__v8si)__S, (__v8si)__A, (__v8si)__B);
134 return (__m256i)__builtin_ia32_vpdpwssds256((__v8si)__S, (__v16hi)__A,
135 (__v16hi)__B);
132136}
133137
134138/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
......@@ -151,7 +155,8 @@ _mm256_dpwssds_avx_epi32(__m256i __S, __m256i __A, __m256i __B)
151155static __inline__ __m128i __DEFAULT_FN_ATTRS128
152156_mm_dpbusd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
153157{
154 return (__m128i)__builtin_ia32_vpdpbusd128((__v4si)__S, (__v4si)__A, (__v4si)__B);
158 return (__m128i)__builtin_ia32_vpdpbusd128((__v4si)__S, (__v16qu)__A,
159 (__v16qi)__B);
155160}
156161
157162/// Multiply groups of 4 adjacent pairs of unsigned 8-bit integers in \a __A with
......@@ -174,7 +179,8 @@ _mm_dpbusd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
174179static __inline__ __m128i __DEFAULT_FN_ATTRS128
175180_mm_dpbusds_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
176181{
177 return (__m128i)__builtin_ia32_vpdpbusds128((__v4si)__S, (__v4si)__A, (__v4si)__B);
182 return (__m128i)__builtin_ia32_vpdpbusds128((__v4si)__S, (__v16qu)__A,
183 (__v16qi)__B);
178184}
179185
180186/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
......@@ -195,7 +201,8 @@ _mm_dpbusds_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
195201static __inline__ __m128i __DEFAULT_FN_ATTRS128
196202_mm_dpwssd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
197203{
198 return (__m128i)__builtin_ia32_vpdpwssd128((__v4si)__S, (__v4si)__A, (__v4si)__B);
204 return (__m128i)__builtin_ia32_vpdpwssd128((__v4si)__S, (__v8hi)__A,
205 (__v8hi)__B);
199206}
200207
201208/// Multiply groups of 2 adjacent pairs of signed 16-bit integers in \a __A with
......@@ -216,7 +223,8 @@ _mm_dpwssd_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
216223static __inline__ __m128i __DEFAULT_FN_ATTRS128
217224_mm_dpwssds_avx_epi32(__m128i __S, __m128i __A, __m128i __B)
218225{
219 return (__m128i)__builtin_ia32_vpdpwssds128((__v4si)__S, (__v4si)__A, (__v4si)__B);
226 return (__m128i)__builtin_ia32_vpdpwssds128((__v4si)__S, (__v8hi)__A,
227 (__v8hi)__B);
220228}
221229
222230#undef __DEFAULT_FN_ATTRS128
lib/include/cpuid.h+101-4
......@@ -253,10 +253,6 @@
253253#define bit_RDPRU 0x00000010
254254#define bit_WBNOINVD 0x00000200
255255
256/* Features in %ebx for leaf 0x24 */
257#define bit_AVX10_256 0x00020000
258#define bit_AVX10_512 0x00040000
259
260256#ifdef __i386__
261257#define __cpuid(__leaf, __eax, __ebx, __ecx, __edx) \
262258 __asm("cpuid" : "=a"(__eax), "=b" (__ebx), "=c"(__ecx), "=d"(__edx) \
......@@ -282,6 +278,24 @@
282278 : "0"(__leaf), "2"(__count))
283279#endif
284280
281/// Queries the processor to determine the highest supported \c CPUID leaf.
282/// This intrinsic is only available on x86 and x64.
283///
284/// \headerfile <cpuid.h>
285///
286/// This intrinsic corresponds to the <c> CPUID </c> instruction.
287///
288/// \param __leaf
289/// \a __leaf can be either 0x0 or 0x8000000. If \a __leaf == 0x0, the
290/// highest supported value for basic \c CPUID information is returned.
291/// If \a __leaf == 0x8000000, the highest supported value for extended
292/// \c CPUID information is returned.
293/// \param __sig
294/// If the \a __sig pointer is non-null, the first four bytes of the
295/// signature (as found in the \c EBX register) are returned in the
296/// location pointed to by \a __sig.
297/// \returns Returns 0 if \c CPUID is supported; otherwise returns the value
298/// that \c CPUID returns in the \c EAX register.
285299static __inline unsigned int __get_cpuid_max (unsigned int __leaf,
286300 unsigned int *__sig)
287301{
......@@ -315,6 +329,32 @@ static __inline unsigned int __get_cpuid_max (unsigned int __leaf,
315329 return __eax;
316330}
317331
332/// For the requested \c CPUID leaf, queries the processor for information
333/// about the CPU type and CPU features (such as processor vendor, supported
334/// instruction sets, CPU capabilities, cache sizes, CPU model and family, and
335/// other hardware details). This intrinsic is only available on x86 and x64.
336///
337/// \headerfile <cpuid.h>
338///
339/// This intrinsic corresponds to the <c> CPUID </c> instruction.
340///
341/// \param __leaf
342/// An unsigned integer that identifies the level (also called "leaf") at
343/// which the \c CPUID instruction will be executed.
344/// \param __eax
345/// A pointer to an integer that corresponds to the \c EAX register where
346/// \c CPUID stores output results.
347/// \param __ebx
348/// A pointer to an integer that corresponds to the \c EBX register where
349/// \c CPUID stores output results.
350/// \param __ecx
351/// A pointer to an integer that corresponds to the \c ECX register where
352/// \c CPUID stores output results.
353/// \param __edx
354/// A pointer to an integer that corresponds to the \c EDX register where
355/// \c CPUID stores output results.
356/// \returns Returns 1 if the requested \c CPUID leaf is supported; otherwise
357/// returns 0.
318358static __inline int __get_cpuid (unsigned int __leaf, unsigned int *__eax,
319359 unsigned int *__ebx, unsigned int *__ecx,
320360 unsigned int *__edx)
......@@ -328,6 +368,36 @@ static __inline int __get_cpuid (unsigned int __leaf, unsigned int *__eax,
328368 return 1;
329369}
330370
371/// For the requested \c CPUID leaf and subleaf, queries the processor for
372/// information about the CPU type and CPU features (such as processor vendor,
373/// supported instruction sets, CPU capabilities, cache sizes, CPU model and
374/// family, and other hardware details). This intrinsic is only available on
375/// x86 and x64.
376///
377/// \headerfile <cpuid.h>
378///
379/// This intrinsic corresponds to the <c> CPUID </c> instruction.
380///
381/// \param __leaf
382/// An unsigned integer that identifies the level (also called "leaf") at
383/// which the \c CPUID instruction will be executed.
384/// \param __subleaf
385/// An unsigned integer that identifies the sublevel (also called
386/// "subleaf") at which the \c CPUID instruction will be executed.
387/// \param __eax
388/// A pointer to an integer that corresponds to the \c EAX register where
389/// \c CPUID stores output results.
390/// \param __ebx
391/// A pointer to an integer that corresponds to the \c EBX register where
392/// \c CPUID stores output results.
393/// \param __ecx
394/// A pointer to an integer that corresponds to the \c ECX register where
395/// \c CPUID stores output results.
396/// \param __edx
397/// A pointer to an integer that corresponds to the \c EDX register where
398/// \c CPUID stores output results.
399/// \returns Returns 1 if the requested \c CPUID leaf is supported; otherwise
400/// returns 0.
331401static __inline int __get_cpuid_count (unsigned int __leaf,
332402 unsigned int __subleaf,
333403 unsigned int *__eax, unsigned int *__ebx,
......@@ -345,10 +415,37 @@ static __inline int __get_cpuid_count (unsigned int __leaf,
345415// In some configurations, __cpuidex is defined as a builtin (primarily
346416// -fms-extensions) which will conflict with the __cpuidex definition below.
347417#if !(__has_builtin(__cpuidex))
418// In some cases, offloading will set the host as the aux triple and define the
419// builtin. Given __has_builtin does not detect builtins on aux triples, we need
420// to explicitly check for some offloading cases.
421#if !defined(__NVPTX__) && !defined(__AMDGPU__) && !defined(__SPIRV__)
422/// Executes the \c CPUID instruction with the specified leaf and subleaf
423/// values, and returns the results from the CPU's registers. This intrinsic
424/// is only available on x86 and x64.
425///
426/// \headerfile <cpuid.h>
427///
428/// This intrinsic corresponds to the <c> CPUID </c> instruction.
429///
430/// \param __cpu_info
431/// An output array of four integers:
432/// <ul>
433/// <li>\a __cpuInfo[0] receives the value of the \c EAX register.</li>
434/// <li>\a __cpuInfo[1] receives the value of the \c EBX register.</li>
435/// <li>\a __cpuInfo[2] receives the value of the \c ECX register.</li>
436/// <li>\a __cpuInfo[3] receives the value of the \c EDX register.</li>
437/// </ul>
438/// \param __leaf
439/// An unsigned integer that identifies the level (also called the "leaf")
440/// at which the \c CPUID instruction will be executed.
441/// \param __subleaf
442/// An unsigned integer that identifies the sublevel (also called the
443/// "subleaf") at which the \c CPUID instruction will be executed.
348444static __inline void __cpuidex(int __cpu_info[4], int __leaf, int __subleaf) {
349445 __cpuid_count(__leaf, __subleaf, __cpu_info[0], __cpu_info[1], __cpu_info[2],
350446 __cpu_info[3]);
351447}
352448#endif
449#endif
353450
354451#endif /* __CPUID_H */
lib/include/emmintrin.h+168-168
......@@ -17,7 +17,6 @@
1717#include <xmmintrin.h>
1818
1919typedef double __m128d __attribute__((__vector_size__(16), __aligned__(16)));
20typedef long long __m128i __attribute__((__vector_size__(16), __aligned__(16)));
2120
2221typedef double __m128d_u __attribute__((__vector_size__(16), __aligned__(1)));
2322typedef long long __m128i_u
......@@ -25,14 +24,9 @@ typedef long long __m128i_u
2524
2625/* Type defines. */
2726typedef double __v2df __attribute__((__vector_size__(16)));
28typedef long long __v2di __attribute__((__vector_size__(16)));
29typedef short __v8hi __attribute__((__vector_size__(16)));
30typedef char __v16qi __attribute__((__vector_size__(16)));
3127
3228/* Unsigned types */
3329typedef unsigned long long __v2du __attribute__((__vector_size__(16)));
34typedef unsigned short __v8hu __attribute__((__vector_size__(16)));
35typedef unsigned char __v16qu __attribute__((__vector_size__(16)));
3630
3731/* We need an explicitly signed variant for char. Note that this shouldn't
3832 * appear in the interface though. */
......@@ -49,15 +43,9 @@ typedef __bf16 __m128bh __attribute__((__vector_size__(16), __aligned__(16)));
4943#endif
5044
5145/* Define the default attributes for the functions in this file. */
52#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
53#define __DEFAULT_FN_ATTRS \
54 __attribute__((__always_inline__, __nodebug__, \
55 __target__("sse2,no-evex512"), __min_vector_width__(128)))
56#else
5746#define __DEFAULT_FN_ATTRS \
5847 __attribute__((__always_inline__, __nodebug__, __target__("sse2"), \
5948 __min_vector_width__(128)))
60#endif
6149
6250#if defined(__cplusplus) && (__cplusplus >= 201103L)
6351#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
......@@ -67,6 +55,9 @@ typedef __bf16 __m128bh __attribute__((__vector_size__(16), __aligned__(16)));
6755
6856#define __trunc64(x) \
6957 (__m64) __builtin_shufflevector((__v2di)(x), __extension__(__v2di){}, 0)
58#define __zext128(x) \
59 (__m128i) __builtin_shufflevector((__v2si)(x), __extension__(__v2si){}, 0, \
60 1, 2, 3)
7061#define __anyext128(x) \
7162 (__m128i) __builtin_shufflevector((__v2si)(x), __extension__(__v2si){}, 0, \
7263 1, -1, -1)
......@@ -250,8 +241,7 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS_CONSTEXPR _mm_div_pd(__m128d __a,
250241/// bits are copied from the upper 64 bits of operand \a __a.
251242static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_sqrt_sd(__m128d __a,
252243 __m128d __b) {
253 __m128d __c = __builtin_ia32_sqrtsd((__v2df)__b);
254 return __extension__(__m128d){__c[0], __a[1]};
244 return __extension__(__m128d){__builtin_elementwise_sqrt(__b[0]), __a[1]};
255245}
256246
257247/// Calculates the square root of the each of two values stored in a
......@@ -266,7 +256,7 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_sqrt_sd(__m128d __a,
266256/// \returns A 128-bit vector of [2 x double] containing the square roots of the
267257/// values in the operand.
268258static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_sqrt_pd(__m128d __a) {
269 return __builtin_ia32_sqrtpd((__v2df)__a);
259 return __builtin_elementwise_sqrt(__a);
270260}
271261
272262/// Compares lower 64-bit double-precision values of both operands, and
......@@ -310,8 +300,8 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_min_sd(__m128d __a,
310300/// A 128-bit vector of [2 x double] containing one of the operands.
311301/// \returns A 128-bit vector of [2 x double] containing the minimum values
312302/// between both operands.
313static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_min_pd(__m128d __a,
314 __m128d __b) {
303static __inline__ __m128d __DEFAULT_FN_ATTRS_CONSTEXPR _mm_min_pd(__m128d __a,
304 __m128d __b) {
315305 return __builtin_ia32_minpd((__v2df)__a, (__v2df)__b);
316306}
317307
......@@ -356,8 +346,8 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_max_sd(__m128d __a,
356346/// A 128-bit vector of [2 x double] containing one of the operands.
357347/// \returns A 128-bit vector of [2 x double] containing the maximum values
358348/// between both operands.
359static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_max_pd(__m128d __a,
360 __m128d __b) {
349static __inline__ __m128d __DEFAULT_FN_ATTRS_CONSTEXPR _mm_max_pd(__m128d __a,
350 __m128d __b) {
361351 return __builtin_ia32_maxpd((__v2df)__a, (__v2df)__b);
362352}
363353
......@@ -1288,7 +1278,8 @@ static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomineq_sd(__m128d __a,
12881278/// A 128-bit vector of [2 x double].
12891279/// \returns A 128-bit vector of [4 x float] whose lower 64 bits contain the
12901280/// converted values. The upper 64 bits are set to zero.
1291static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cvtpd_ps(__m128d __a) {
1281static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
1282_mm_cvtpd_ps(__m128d __a) {
12921283 return __builtin_ia32_cvtpd2ps((__v2df)__a);
12931284}
12941285
......@@ -1393,8 +1384,8 @@ static __inline__ int __DEFAULT_FN_ATTRS _mm_cvtsd_si32(__m128d __a) {
13931384/// \returns A 128-bit vector of [4 x float]. The lower 32 bits contain the
13941385/// converted value from the second parameter. The upper 96 bits are copied
13951386/// from the upper 96 bits of the first parameter.
1396static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cvtsd_ss(__m128 __a,
1397 __m128d __b) {
1387static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
1388_mm_cvtsd_ss(__m128 __a, __m128d __b) {
13981389 return (__m128)__builtin_ia32_cvtsd2ss((__v4sf)__a, (__v2df)__b);
13991390}
14001391
......@@ -2068,8 +2059,8 @@ static __inline__ void __DEFAULT_FN_ATTRS _mm_storel_pd(double *__dp,
20682059/// A 128-bit vector of [16 x i8].
20692060/// \returns A 128-bit vector of [16 x i8] containing the sums of both
20702061/// parameters.
2071static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_add_epi8(__m128i __a,
2072 __m128i __b) {
2062static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2063_mm_add_epi8(__m128i __a, __m128i __b) {
20732064 return (__m128i)((__v16qu)__a + (__v16qu)__b);
20742065}
20752066
......@@ -2089,8 +2080,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_add_epi8(__m128i __a,
20892080/// A 128-bit vector of [8 x i16].
20902081/// \returns A 128-bit vector of [8 x i16] containing the sums of both
20912082/// parameters.
2092static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_add_epi16(__m128i __a,
2093 __m128i __b) {
2083static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2084_mm_add_epi16(__m128i __a, __m128i __b) {
20942085 return (__m128i)((__v8hu)__a + (__v8hu)__b);
20952086}
20962087
......@@ -2127,8 +2118,9 @@ _mm_add_epi32(__m128i __a, __m128i __b) {
21272118/// \param __b
21282119/// A 64-bit integer.
21292120/// \returns A 64-bit integer containing the sum of both parameters.
2130static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_add_si64(__m64 __a, __m64 __b) {
2131 return (__m64)(((unsigned long long)__a) + ((unsigned long long)__b));
2121static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_add_si64(__m64 __a,
2122 __m64 __b) {
2123 return (__m64)(((__v1du)__a)[0] + ((__v1du)__b)[0]);
21322124}
21332125
21342126/// Adds the corresponding elements of two 128-bit vectors of [2 x i64],
......@@ -2169,8 +2161,8 @@ _mm_add_epi64(__m128i __a, __m128i __b) {
21692161/// A 128-bit signed [16 x i8] vector.
21702162/// \returns A 128-bit signed [16 x i8] vector containing the saturated sums of
21712163/// both parameters.
2172static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epi8(__m128i __a,
2173 __m128i __b) {
2164static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2165_mm_adds_epi8(__m128i __a, __m128i __b) {
21742166 return (__m128i)__builtin_elementwise_add_sat((__v16qs)__a, (__v16qs)__b);
21752167}
21762168
......@@ -2191,8 +2183,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epi8(__m128i __a,
21912183/// A 128-bit signed [8 x i16] vector.
21922184/// \returns A 128-bit signed [8 x i16] vector containing the saturated sums of
21932185/// both parameters.
2194static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epi16(__m128i __a,
2195 __m128i __b) {
2186static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2187_mm_adds_epi16(__m128i __a, __m128i __b) {
21962188 return (__m128i)__builtin_elementwise_add_sat((__v8hi)__a, (__v8hi)__b);
21972189}
21982190
......@@ -2213,8 +2205,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epi16(__m128i __a,
22132205/// A 128-bit unsigned [16 x i8] vector.
22142206/// \returns A 128-bit unsigned [16 x i8] vector containing the saturated sums
22152207/// of both parameters.
2216static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epu8(__m128i __a,
2217 __m128i __b) {
2208static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2209_mm_adds_epu8(__m128i __a, __m128i __b) {
22182210 return (__m128i)__builtin_elementwise_add_sat((__v16qu)__a, (__v16qu)__b);
22192211}
22202212
......@@ -2235,8 +2227,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epu8(__m128i __a,
22352227/// A 128-bit unsigned [8 x i16] vector.
22362228/// \returns A 128-bit unsigned [8 x i16] vector containing the saturated sums
22372229/// of both parameters.
2238static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epu16(__m128i __a,
2239 __m128i __b) {
2230static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2231_mm_adds_epu16(__m128i __a, __m128i __b) {
22402232 return (__m128i)__builtin_elementwise_add_sat((__v8hu)__a, (__v8hu)__b);
22412233}
22422234
......@@ -2254,9 +2246,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_adds_epu16(__m128i __a,
22542246/// A 128-bit unsigned [16 x i8] vector.
22552247/// \returns A 128-bit unsigned [16 x i8] vector containing the rounded
22562248/// averages of both parameters.
2257static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_avg_epu8(__m128i __a,
2258 __m128i __b) {
2259 return (__m128i)__builtin_ia32_pavgb128((__v16qi)__a, (__v16qi)__b);
2249static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2250_mm_avg_epu8(__m128i __a, __m128i __b) {
2251 return (__m128i)__builtin_ia32_pavgb128((__v16qu)__a, (__v16qu)__b);
22602252}
22612253
22622254/// Computes the rounded averages of corresponding elements of two
......@@ -2273,9 +2265,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_avg_epu8(__m128i __a,
22732265/// A 128-bit unsigned [8 x i16] vector.
22742266/// \returns A 128-bit unsigned [8 x i16] vector containing the rounded
22752267/// averages of both parameters.
2276static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_avg_epu16(__m128i __a,
2277 __m128i __b) {
2278 return (__m128i)__builtin_ia32_pavgw128((__v8hi)__a, (__v8hi)__b);
2268static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2269_mm_avg_epu16(__m128i __a, __m128i __b) {
2270 return (__m128i)__builtin_ia32_pavgw128((__v8hu)__a, (__v8hu)__b);
22792271}
22802272
22812273/// Multiplies the corresponding elements of two 128-bit signed [8 x i16]
......@@ -2298,8 +2290,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_avg_epu16(__m128i __a,
22982290/// A 128-bit signed [8 x i16] vector.
22992291/// \returns A 128-bit signed [4 x i32] vector containing the sums of products
23002292/// of both parameters.
2301static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_madd_epi16(__m128i __a,
2302 __m128i __b) {
2293static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2294_mm_madd_epi16(__m128i __a, __m128i __b) {
23032295 return (__m128i)__builtin_ia32_pmaddwd128((__v8hi)__a, (__v8hi)__b);
23042296}
23052297
......@@ -2317,8 +2309,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_madd_epi16(__m128i __a,
23172309/// A 128-bit signed [8 x i16] vector.
23182310/// \returns A 128-bit signed [8 x i16] vector containing the greater value of
23192311/// each comparison.
2320static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epi16(__m128i __a,
2321 __m128i __b) {
2312static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2313_mm_max_epi16(__m128i __a, __m128i __b) {
23222314 return (__m128i)__builtin_elementwise_max((__v8hi)__a, (__v8hi)__b);
23232315}
23242316
......@@ -2336,8 +2328,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epi16(__m128i __a,
23362328/// A 128-bit unsigned [16 x i8] vector.
23372329/// \returns A 128-bit unsigned [16 x i8] vector containing the greater value of
23382330/// each comparison.
2339static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epu8(__m128i __a,
2340 __m128i __b) {
2331static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2332_mm_max_epu8(__m128i __a, __m128i __b) {
23412333 return (__m128i)__builtin_elementwise_max((__v16qu)__a, (__v16qu)__b);
23422334}
23432335
......@@ -2355,8 +2347,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epu8(__m128i __a,
23552347/// A 128-bit signed [8 x i16] vector.
23562348/// \returns A 128-bit signed [8 x i16] vector containing the smaller value of
23572349/// each comparison.
2358static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epi16(__m128i __a,
2359 __m128i __b) {
2350static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2351_mm_min_epi16(__m128i __a, __m128i __b) {
23602352 return (__m128i)__builtin_elementwise_min((__v8hi)__a, (__v8hi)__b);
23612353}
23622354
......@@ -2374,8 +2366,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epi16(__m128i __a,
23742366/// A 128-bit unsigned [16 x i8] vector.
23752367/// \returns A 128-bit unsigned [16 x i8] vector containing the smaller value of
23762368/// each comparison.
2377static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epu8(__m128i __a,
2378 __m128i __b) {
2369static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2370_mm_min_epu8(__m128i __a, __m128i __b) {
23792371 return (__m128i)__builtin_elementwise_min((__v16qu)__a, (__v16qu)__b);
23802372}
23812373
......@@ -2393,8 +2385,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epu8(__m128i __a,
23932385/// A 128-bit signed [8 x i16] vector.
23942386/// \returns A 128-bit signed [8 x i16] vector containing the upper 16 bits of
23952387/// each of the eight 32-bit products.
2396static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mulhi_epi16(__m128i __a,
2397 __m128i __b) {
2388static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2389_mm_mulhi_epi16(__m128i __a, __m128i __b) {
23982390 return (__m128i)__builtin_ia32_pmulhw128((__v8hi)__a, (__v8hi)__b);
23992391}
24002392
......@@ -2412,9 +2404,9 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mulhi_epi16(__m128i __a,
24122404/// A 128-bit unsigned [8 x i16] vector.
24132405/// \returns A 128-bit unsigned [8 x i16] vector containing the upper 16 bits
24142406/// of each of the eight 32-bit products.
2415static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mulhi_epu16(__m128i __a,
2416 __m128i __b) {
2417 return (__m128i)__builtin_ia32_pmulhuw128((__v8hi)__a, (__v8hi)__b);
2407static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2408_mm_mulhi_epu16(__m128i __a, __m128i __b) {
2409 return (__m128i)__builtin_ia32_pmulhuw128((__v8hu)__a, (__v8hu)__b);
24182410}
24192411
24202412/// Multiplies the corresponding elements of two signed [8 x i16]
......@@ -2431,8 +2423,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mulhi_epu16(__m128i __a,
24312423/// A 128-bit signed [8 x i16] vector.
24322424/// \returns A 128-bit signed [8 x i16] vector containing the lower 16 bits of
24332425/// each of the eight 32-bit products.
2434static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mullo_epi16(__m128i __a,
2435 __m128i __b) {
2426static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2427_mm_mullo_epi16(__m128i __a, __m128i __b) {
24362428 return (__m128i)((__v8hu)__a * (__v8hu)__b);
24372429}
24382430
......@@ -2449,9 +2441,10 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mullo_epi16(__m128i __a,
24492441/// \param __b
24502442/// A 64-bit integer containing one of the source operands.
24512443/// \returns A 64-bit integer vector containing the product of both operands.
2452static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_mul_su32(__m64 __a, __m64 __b) {
2453 return __trunc64(__builtin_ia32_pmuludq128((__v4si)__anyext128(__a),
2454 (__v4si)__anyext128(__b)));
2444static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_mul_su32(__m64 __a,
2445 __m64 __b) {
2446 return __trunc64(__builtin_ia32_pmuludq128((__v4si)__zext128(__a),
2447 (__v4si)__zext128(__b)));
24552448}
24562449
24572450/// Multiplies 32-bit unsigned integer values contained in the lower
......@@ -2467,8 +2460,8 @@ static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_mul_su32(__m64 __a, __m64 __b) {
24672460/// \param __b
24682461/// A [2 x i64] vector containing one of the source operands.
24692462/// \returns A [2 x i64] vector containing the product of both operands.
2470static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mul_epu32(__m128i __a,
2471 __m128i __b) {
2463static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2464_mm_mul_epu32(__m128i __a, __m128i __b) {
24722465 return __builtin_ia32_pmuludq128((__v4si)__a, (__v4si)__b);
24732466}
24742467
......@@ -2505,8 +2498,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sad_epu8(__m128i __a,
25052498/// A 128-bit integer vector containing the subtrahends.
25062499/// \returns A 128-bit integer vector containing the differences of the values
25072500/// in the operands.
2508static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sub_epi8(__m128i __a,
2509 __m128i __b) {
2501static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2502_mm_sub_epi8(__m128i __a, __m128i __b) {
25102503 return (__m128i)((__v16qu)__a - (__v16qu)__b);
25112504}
25122505
......@@ -2522,8 +2515,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sub_epi8(__m128i __a,
25222515/// A 128-bit integer vector containing the subtrahends.
25232516/// \returns A 128-bit integer vector containing the differences of the values
25242517/// in the operands.
2525static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sub_epi16(__m128i __a,
2526 __m128i __b) {
2518static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2519_mm_sub_epi16(__m128i __a, __m128i __b) {
25272520 return (__m128i)((__v8hu)__a - (__v8hu)__b);
25282521}
25292522
......@@ -2557,8 +2550,9 @@ _mm_sub_epi32(__m128i __a, __m128i __b) {
25572550/// A 64-bit integer vector containing the subtrahend.
25582551/// \returns A 64-bit integer vector containing the difference of the values in
25592552/// the operands.
2560static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sub_si64(__m64 __a, __m64 __b) {
2561 return (__m64)((unsigned long long)__a - (unsigned long long)__b);
2553static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_sub_si64(__m64 __a,
2554 __m64 __b) {
2555 return (__m64)(((__v1du)__a)[0] - ((__v1du)__b)[0]);
25622556}
25632557
25642558/// Subtracts the corresponding elements of two [2 x i64] vectors.
......@@ -2595,8 +2589,8 @@ _mm_sub_epi64(__m128i __a, __m128i __b) {
25952589/// A 128-bit integer vector containing the subtrahends.
25962590/// \returns A 128-bit integer vector containing the differences of the values
25972591/// in the operands.
2598static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epi8(__m128i __a,
2599 __m128i __b) {
2592static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2593_mm_subs_epi8(__m128i __a, __m128i __b) {
26002594 return (__m128i)__builtin_elementwise_sub_sat((__v16qs)__a, (__v16qs)__b);
26012595}
26022596
......@@ -2617,8 +2611,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epi8(__m128i __a,
26172611/// A 128-bit integer vector containing the subtrahends.
26182612/// \returns A 128-bit integer vector containing the differences of the values
26192613/// in the operands.
2620static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epi16(__m128i __a,
2621 __m128i __b) {
2614static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2615_mm_subs_epi16(__m128i __a, __m128i __b) {
26222616 return (__m128i)__builtin_elementwise_sub_sat((__v8hi)__a, (__v8hi)__b);
26232617}
26242618
......@@ -2638,8 +2632,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epi16(__m128i __a,
26382632/// A 128-bit integer vector containing the subtrahends.
26392633/// \returns A 128-bit integer vector containing the unsigned integer
26402634/// differences of the values in the operands.
2641static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epu8(__m128i __a,
2642 __m128i __b) {
2635static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2636_mm_subs_epu8(__m128i __a, __m128i __b) {
26432637 return (__m128i)__builtin_elementwise_sub_sat((__v16qu)__a, (__v16qu)__b);
26442638}
26452639
......@@ -2659,8 +2653,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epu8(__m128i __a,
26592653/// A 128-bit integer vector containing the subtrahends.
26602654/// \returns A 128-bit integer vector containing the unsigned integer
26612655/// differences of the values in the operands.
2662static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epu16(__m128i __a,
2663 __m128i __b) {
2656static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2657_mm_subs_epu16(__m128i __a, __m128i __b) {
26642658 return (__m128i)__builtin_elementwise_sub_sat((__v8hu)__a, (__v8hu)__b);
26652659}
26662660
......@@ -2676,8 +2670,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_subs_epu16(__m128i __a,
26762670/// A 128-bit integer vector containing one of the source operands.
26772671/// \returns A 128-bit integer vector containing the bitwise AND of the values
26782672/// in both operands.
2679static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_and_si128(__m128i __a,
2680 __m128i __b) {
2673static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2674_mm_and_si128(__m128i __a, __m128i __b) {
26812675 return (__m128i)((__v2du)__a & (__v2du)__b);
26822676}
26832677
......@@ -2695,8 +2689,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_and_si128(__m128i __a,
26952689/// A 128-bit vector containing the right source operand.
26962690/// \returns A 128-bit integer vector containing the bitwise AND of the one's
26972691/// complement of the first operand and the values in the second operand.
2698static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_andnot_si128(__m128i __a,
2699 __m128i __b) {
2692static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2693_mm_andnot_si128(__m128i __a, __m128i __b) {
27002694 return (__m128i)(~(__v2du)__a & (__v2du)__b);
27012695}
27022696/// Performs a bitwise OR of two 128-bit integer vectors.
......@@ -2711,8 +2705,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_andnot_si128(__m128i __a,
27112705/// A 128-bit integer vector containing one of the source operands.
27122706/// \returns A 128-bit integer vector containing the bitwise OR of the values
27132707/// in both operands.
2714static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_or_si128(__m128i __a,
2715 __m128i __b) {
2708static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2709_mm_or_si128(__m128i __a, __m128i __b) {
27162710 return (__m128i)((__v2du)__a | (__v2du)__b);
27172711}
27182712
......@@ -2728,8 +2722,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_or_si128(__m128i __a,
27282722/// A 128-bit integer vector containing one of the source operands.
27292723/// \returns A 128-bit integer vector containing the bitwise exclusive OR of the
27302724/// values in both operands.
2731static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_xor_si128(__m128i __a,
2732 __m128i __b) {
2725static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2726_mm_xor_si128(__m128i __a, __m128i __b) {
27332727 return (__m128i)((__v2du)__a ^ (__v2du)__b);
27342728}
27352729
......@@ -2751,11 +2745,11 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_xor_si128(__m128i __a,
27512745/// \a a.
27522746/// \returns A 128-bit integer vector containing the left-shifted value.
27532747#define _mm_slli_si128(a, imm) \
2754 ((__m128i)__builtin_ia32_pslldqi128_byteshift((__v2di)(__m128i)(a), \
2748 ((__m128i)__builtin_ia32_pslldqi128_byteshift((__v16qi)(__m128i)(a), \
27552749 (int)(imm)))
27562750
27572751#define _mm_bslli_si128(a, imm) \
2758 ((__m128i)__builtin_ia32_pslldqi128_byteshift((__v2di)(__m128i)(a), \
2752 ((__m128i)__builtin_ia32_pslldqi128_byteshift((__v16qi)(__m128i)(a), \
27592753 (int)(imm)))
27602754
27612755/// Left-shifts each 16-bit value in the 128-bit integer vector operand
......@@ -2771,8 +2765,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_xor_si128(__m128i __a,
27712765/// An integer value specifying the number of bits to left-shift each value
27722766/// in operand \a __a.
27732767/// \returns A 128-bit integer vector containing the left-shifted values.
2774static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_slli_epi16(__m128i __a,
2775 int __count) {
2768static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2769_mm_slli_epi16(__m128i __a, int __count) {
27762770 return (__m128i)__builtin_ia32_psllwi128((__v8hi)__a, __count);
27772771}
27782772
......@@ -2789,8 +2783,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_slli_epi16(__m128i __a,
27892783/// A 128-bit integer vector in which bits [63:0] specify the number of bits
27902784/// to left-shift each value in operand \a __a.
27912785/// \returns A 128-bit integer vector containing the left-shifted values.
2792static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sll_epi16(__m128i __a,
2793 __m128i __count) {
2786static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2787_mm_sll_epi16(__m128i __a, __m128i __count) {
27942788 return (__m128i)__builtin_ia32_psllw128((__v8hi)__a, (__v8hi)__count);
27952789}
27962790
......@@ -2807,8 +2801,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sll_epi16(__m128i __a,
28072801/// An integer value specifying the number of bits to left-shift each value
28082802/// in operand \a __a.
28092803/// \returns A 128-bit integer vector containing the left-shifted values.
2810static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_slli_epi32(__m128i __a,
2811 int __count) {
2804static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2805_mm_slli_epi32(__m128i __a, int __count) {
28122806 return (__m128i)__builtin_ia32_pslldi128((__v4si)__a, __count);
28132807}
28142808
......@@ -2825,8 +2819,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_slli_epi32(__m128i __a,
28252819/// A 128-bit integer vector in which bits [63:0] specify the number of bits
28262820/// to left-shift each value in operand \a __a.
28272821/// \returns A 128-bit integer vector containing the left-shifted values.
2828static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sll_epi32(__m128i __a,
2829 __m128i __count) {
2822static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2823_mm_sll_epi32(__m128i __a, __m128i __count) {
28302824 return (__m128i)__builtin_ia32_pslld128((__v4si)__a, (__v4si)__count);
28312825}
28322826
......@@ -2843,8 +2837,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sll_epi32(__m128i __a,
28432837/// An integer value specifying the number of bits to left-shift each value
28442838/// in operand \a __a.
28452839/// \returns A 128-bit integer vector containing the left-shifted values.
2846static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_slli_epi64(__m128i __a,
2847 int __count) {
2840static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2841_mm_slli_epi64(__m128i __a, int __count) {
28482842 return __builtin_ia32_psllqi128((__v2di)__a, __count);
28492843}
28502844
......@@ -2861,8 +2855,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_slli_epi64(__m128i __a,
28612855/// A 128-bit integer vector in which bits [63:0] specify the number of bits
28622856/// to left-shift each value in operand \a __a.
28632857/// \returns A 128-bit integer vector containing the left-shifted values.
2864static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sll_epi64(__m128i __a,
2865 __m128i __count) {
2858static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2859_mm_sll_epi64(__m128i __a, __m128i __count) {
28662860 return __builtin_ia32_psllq128((__v2di)__a, (__v2di)__count);
28672861}
28682862
......@@ -2880,8 +2874,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sll_epi64(__m128i __a,
28802874/// An integer value specifying the number of bits to right-shift each value
28812875/// in operand \a __a.
28822876/// \returns A 128-bit integer vector containing the right-shifted values.
2883static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srai_epi16(__m128i __a,
2884 int __count) {
2877static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2878_mm_srai_epi16(__m128i __a, int __count) {
28852879 return (__m128i)__builtin_ia32_psrawi128((__v8hi)__a, __count);
28862880}
28872881
......@@ -2899,8 +2893,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srai_epi16(__m128i __a,
28992893/// A 128-bit integer vector in which bits [63:0] specify the number of bits
29002894/// to right-shift each value in operand \a __a.
29012895/// \returns A 128-bit integer vector containing the right-shifted values.
2902static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sra_epi16(__m128i __a,
2903 __m128i __count) {
2896static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2897_mm_sra_epi16(__m128i __a, __m128i __count) {
29042898 return (__m128i)__builtin_ia32_psraw128((__v8hi)__a, (__v8hi)__count);
29052899}
29062900
......@@ -2918,8 +2912,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sra_epi16(__m128i __a,
29182912/// An integer value specifying the number of bits to right-shift each value
29192913/// in operand \a __a.
29202914/// \returns A 128-bit integer vector containing the right-shifted values.
2921static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srai_epi32(__m128i __a,
2922 int __count) {
2915static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2916_mm_srai_epi32(__m128i __a, int __count) {
29232917 return (__m128i)__builtin_ia32_psradi128((__v4si)__a, __count);
29242918}
29252919
......@@ -2937,8 +2931,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srai_epi32(__m128i __a,
29372931/// A 128-bit integer vector in which bits [63:0] specify the number of bits
29382932/// to right-shift each value in operand \a __a.
29392933/// \returns A 128-bit integer vector containing the right-shifted values.
2940static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sra_epi32(__m128i __a,
2941 __m128i __count) {
2934static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2935_mm_sra_epi32(__m128i __a, __m128i __count) {
29422936 return (__m128i)__builtin_ia32_psrad128((__v4si)__a, (__v4si)__count);
29432937}
29442938
......@@ -2960,11 +2954,11 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sra_epi32(__m128i __a,
29602954/// \a a.
29612955/// \returns A 128-bit integer vector containing the right-shifted value.
29622956#define _mm_srli_si128(a, imm) \
2963 ((__m128i)__builtin_ia32_psrldqi128_byteshift((__v2di)(__m128i)(a), \
2957 ((__m128i)__builtin_ia32_psrldqi128_byteshift((__v16qi)(__m128i)(a), \
29642958 (int)(imm)))
29652959
29662960#define _mm_bsrli_si128(a, imm) \
2967 ((__m128i)__builtin_ia32_psrldqi128_byteshift((__v2di)(__m128i)(a), \
2961 ((__m128i)__builtin_ia32_psrldqi128_byteshift((__v16qi)(__m128i)(a), \
29682962 (int)(imm)))
29692963
29702964/// Right-shifts each of 16-bit values in the 128-bit integer vector
......@@ -2980,8 +2974,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_sra_epi32(__m128i __a,
29802974/// An integer value specifying the number of bits to right-shift each value
29812975/// in operand \a __a.
29822976/// \returns A 128-bit integer vector containing the right-shifted values.
2983static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srli_epi16(__m128i __a,
2984 int __count) {
2977static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2978_mm_srli_epi16(__m128i __a, int __count) {
29852979 return (__m128i)__builtin_ia32_psrlwi128((__v8hi)__a, __count);
29862980}
29872981
......@@ -2998,8 +2992,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srli_epi16(__m128i __a,
29982992/// A 128-bit integer vector in which bits [63:0] specify the number of bits
29992993/// to right-shift each value in operand \a __a.
30002994/// \returns A 128-bit integer vector containing the right-shifted values.
3001static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srl_epi16(__m128i __a,
3002 __m128i __count) {
2995static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2996_mm_srl_epi16(__m128i __a, __m128i __count) {
30032997 return (__m128i)__builtin_ia32_psrlw128((__v8hi)__a, (__v8hi)__count);
30042998}
30052999
......@@ -3016,8 +3010,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srl_epi16(__m128i __a,
30163010/// An integer value specifying the number of bits to right-shift each value
30173011/// in operand \a __a.
30183012/// \returns A 128-bit integer vector containing the right-shifted values.
3019static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srli_epi32(__m128i __a,
3020 int __count) {
3013static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3014_mm_srli_epi32(__m128i __a, int __count) {
30213015 return (__m128i)__builtin_ia32_psrldi128((__v4si)__a, __count);
30223016}
30233017
......@@ -3034,8 +3028,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srli_epi32(__m128i __a,
30343028/// A 128-bit integer vector in which bits [63:0] specify the number of bits
30353029/// to right-shift each value in operand \a __a.
30363030/// \returns A 128-bit integer vector containing the right-shifted values.
3037static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srl_epi32(__m128i __a,
3038 __m128i __count) {
3031static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3032_mm_srl_epi32(__m128i __a, __m128i __count) {
30393033 return (__m128i)__builtin_ia32_psrld128((__v4si)__a, (__v4si)__count);
30403034}
30413035
......@@ -3052,8 +3046,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srl_epi32(__m128i __a,
30523046/// An integer value specifying the number of bits to right-shift each value
30533047/// in operand \a __a.
30543048/// \returns A 128-bit integer vector containing the right-shifted values.
3055static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srli_epi64(__m128i __a,
3056 int __count) {
3049static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3050_mm_srli_epi64(__m128i __a, int __count) {
30573051 return __builtin_ia32_psrlqi128((__v2di)__a, __count);
30583052}
30593053
......@@ -3070,8 +3064,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srli_epi64(__m128i __a,
30703064/// A 128-bit integer vector in which bits [63:0] specify the number of bits
30713065/// to right-shift each value in operand \a __a.
30723066/// \returns A 128-bit integer vector containing the right-shifted values.
3073static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srl_epi64(__m128i __a,
3074 __m128i __count) {
3067static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3068_mm_srl_epi64(__m128i __a, __m128i __count) {
30753069 return __builtin_ia32_psrlq128((__v2di)__a, (__v2di)__count);
30763070}
30773071
......@@ -3089,8 +3083,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_srl_epi64(__m128i __a,
30893083/// \param __b
30903084/// A 128-bit integer vector.
30913085/// \returns A 128-bit integer vector containing the comparison results.
3092static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi8(__m128i __a,
3093 __m128i __b) {
3086static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3087_mm_cmpeq_epi8(__m128i __a, __m128i __b) {
30943088 return (__m128i)((__v16qi)__a == (__v16qi)__b);
30953089}
30963090
......@@ -3108,8 +3102,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi8(__m128i __a,
31083102/// \param __b
31093103/// A 128-bit integer vector.
31103104/// \returns A 128-bit integer vector containing the comparison results.
3111static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi16(__m128i __a,
3112 __m128i __b) {
3105static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3106_mm_cmpeq_epi16(__m128i __a, __m128i __b) {
31133107 return (__m128i)((__v8hi)__a == (__v8hi)__b);
31143108}
31153109
......@@ -3127,8 +3121,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi16(__m128i __a,
31273121/// \param __b
31283122/// A 128-bit integer vector.
31293123/// \returns A 128-bit integer vector containing the comparison results.
3130static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi32(__m128i __a,
3131 __m128i __b) {
3124static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3125_mm_cmpeq_epi32(__m128i __a, __m128i __b) {
31323126 return (__m128i)((__v4si)__a == (__v4si)__b);
31333127}
31343128
......@@ -3147,8 +3141,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi32(__m128i __a,
31473141/// \param __b
31483142/// A 128-bit integer vector.
31493143/// \returns A 128-bit integer vector containing the comparison results.
3150static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpgt_epi8(__m128i __a,
3151 __m128i __b) {
3144static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3145_mm_cmpgt_epi8(__m128i __a, __m128i __b) {
31523146 /* This function always performs a signed comparison, but __v16qi is a char
31533147 which may be signed or unsigned, so use __v16qs. */
31543148 return (__m128i)((__v16qs)__a > (__v16qs)__b);
......@@ -3169,8 +3163,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpgt_epi8(__m128i __a,
31693163/// \param __b
31703164/// A 128-bit integer vector.
31713165/// \returns A 128-bit integer vector containing the comparison results.
3172static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpgt_epi16(__m128i __a,
3173 __m128i __b) {
3166static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3167_mm_cmpgt_epi16(__m128i __a, __m128i __b) {
31743168 return (__m128i)((__v8hi)__a > (__v8hi)__b);
31753169}
31763170
......@@ -3189,8 +3183,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpgt_epi16(__m128i __a,
31893183/// \param __b
31903184/// A 128-bit integer vector.
31913185/// \returns A 128-bit integer vector containing the comparison results.
3192static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpgt_epi32(__m128i __a,
3193 __m128i __b) {
3186static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3187_mm_cmpgt_epi32(__m128i __a, __m128i __b) {
31943188 return (__m128i)((__v4si)__a > (__v4si)__b);
31953189}
31963190
......@@ -3209,8 +3203,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpgt_epi32(__m128i __a,
32093203/// \param __b
32103204/// A 128-bit integer vector.
32113205/// \returns A 128-bit integer vector containing the comparison results.
3212static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmplt_epi8(__m128i __a,
3213 __m128i __b) {
3206static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3207_mm_cmplt_epi8(__m128i __a, __m128i __b) {
32143208 return _mm_cmpgt_epi8(__b, __a);
32153209}
32163210
......@@ -3229,8 +3223,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmplt_epi8(__m128i __a,
32293223/// \param __b
32303224/// A 128-bit integer vector.
32313225/// \returns A 128-bit integer vector containing the comparison results.
3232static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmplt_epi16(__m128i __a,
3233 __m128i __b) {
3226static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3227_mm_cmplt_epi16(__m128i __a, __m128i __b) {
32343228 return _mm_cmpgt_epi16(__b, __a);
32353229}
32363230
......@@ -3249,8 +3243,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmplt_epi16(__m128i __a,
32493243/// \param __b
32503244/// A 128-bit integer vector.
32513245/// \returns A 128-bit integer vector containing the comparison results.
3252static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmplt_epi32(__m128i __a,
3253 __m128i __b) {
3246static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3247_mm_cmplt_epi32(__m128i __a, __m128i __b) {
32543248 return _mm_cmpgt_epi32(__b, __a);
32553249}
32563250
......@@ -3379,7 +3373,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvttps_epi32(__m128 __a) {
33793373/// \param __a
33803374/// A 32-bit signed integer operand.
33813375/// \returns A 128-bit vector of [4 x i32].
3382static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtsi32_si128(int __a) {
3376static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3377_mm_cvtsi32_si128(int __a) {
33833378 return __extension__(__m128i)(__v4si){__a, 0, 0, 0};
33843379}
33853380
......@@ -3394,7 +3389,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtsi32_si128(int __a) {
33943389/// \param __a
33953390/// A 64-bit signed integer operand containing the value to be converted.
33963391/// \returns A 128-bit vector of [2 x i64] containing the converted value.
3397static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtsi64_si128(long long __a) {
3392static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
3393_mm_cvtsi64_si128(long long __a) {
33983394 return __extension__(__m128i)(__v2di){__a, 0};
33993395}
34003396
......@@ -3409,7 +3405,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtsi64_si128(long long __a) {
34093405/// A vector of [4 x i32]. The least significant 32 bits are moved to the
34103406/// destination.
34113407/// \returns A 32-bit signed integer containing the moved value.
3412static __inline__ int __DEFAULT_FN_ATTRS _mm_cvtsi128_si32(__m128i __a) {
3408static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
3409_mm_cvtsi128_si32(__m128i __a) {
34133410 __v4si __b = (__v4si)__a;
34143411 return __b[0];
34153412}
......@@ -3425,7 +3422,8 @@ static __inline__ int __DEFAULT_FN_ATTRS _mm_cvtsi128_si32(__m128i __a) {
34253422/// A vector of [2 x i64]. The least significant 64 bits are moved to the
34263423/// destination.
34273424/// \returns A 64-bit signed integer containing the moved value.
3428static __inline__ long long __DEFAULT_FN_ATTRS _mm_cvtsi128_si64(__m128i __a) {
3425static __inline__ long long __DEFAULT_FN_ATTRS_CONSTEXPR
3426_mm_cvtsi128_si64(__m128i __a) {
34293427 return __a[0];
34303428}
34313429
......@@ -4161,8 +4159,8 @@ void _mm_mfence(void);
41614159/// A 128-bit integer vector of [8 x i16]. The converted [8 x i8] values are
41624160/// written to the higher 64 bits of the result.
41634161/// \returns A 128-bit vector of [16 x i8] containing the converted values.
4164static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packs_epi16(__m128i __a,
4165 __m128i __b) {
4162static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
4163_mm_packs_epi16(__m128i __a, __m128i __b) {
41664164 return (__m128i)__builtin_ia32_packsswb128((__v8hi)__a, (__v8hi)__b);
41674165}
41684166
......@@ -4184,8 +4182,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packs_epi16(__m128i __a,
41844182/// A 128-bit integer vector of [4 x i32]. The converted [4 x i16] values
41854183/// are written to the higher 64 bits of the result.
41864184/// \returns A 128-bit vector of [8 x i16] containing the converted values.
4187static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packs_epi32(__m128i __a,
4188 __m128i __b) {
4185static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
4186_mm_packs_epi32(__m128i __a, __m128i __b) {
41894187 return (__m128i)__builtin_ia32_packssdw128((__v4si)__a, (__v4si)__b);
41904188}
41914189
......@@ -4207,8 +4205,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packs_epi32(__m128i __a,
42074205/// A 128-bit integer vector of [8 x i16]. The converted [8 x i8] values are
42084206/// written to the higher 64 bits of the result.
42094207/// \returns A 128-bit vector of [16 x i8] containing the converted values.
4210static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packus_epi16(__m128i __a,
4211 __m128i __b) {
4208static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
4209_mm_packus_epi16(__m128i __a, __m128i __b) {
42124210 return (__m128i)__builtin_ia32_packuswb128((__v8hi)__a, (__v8hi)__b);
42134211}
42144212
......@@ -4282,7 +4280,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packus_epi16(__m128i __a,
42824280/// A 128-bit integer vector containing the values with bits to be extracted.
42834281/// \returns The most significant bits from each 8-bit element in \a __a,
42844282/// written to bits [15:0]. The other bits are assigned zeros.
4285static __inline__ int __DEFAULT_FN_ATTRS _mm_movemask_epi8(__m128i __a) {
4283static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
4284_mm_movemask_epi8(__m128i __a) {
42864285 return __builtin_ia32_pmovmskb128((__v16qi)__a);
42874286}
42884287
......@@ -4415,8 +4414,8 @@ static __inline__ int __DEFAULT_FN_ATTRS _mm_movemask_epi8(__m128i __a) {
44154414/// Bits [119:112] are written to bits [111:104] of the result. \n
44164415/// Bits [127:120] are written to bits [127:120] of the result.
44174416/// \returns A 128-bit vector of [16 x i8] containing the interleaved values.
4418static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpackhi_epi8(__m128i __a,
4419 __m128i __b) {
4417static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
4418_mm_unpackhi_epi8(__m128i __a, __m128i __b) {
44204419 return (__m128i)__builtin_shufflevector(
44214420 (__v16qi)__a, (__v16qi)__b, 8, 16 + 8, 9, 16 + 9, 10, 16 + 10, 11,
44224421 16 + 11, 12, 16 + 12, 13, 16 + 13, 14, 16 + 14, 15, 16 + 15);
......@@ -4443,8 +4442,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpackhi_epi8(__m128i __a,
44434442/// Bits [111:96] are written to bits [95:80] of the result. \n
44444443/// Bits [127:112] are written to bits [127:112] of the result.
44454444/// \returns A 128-bit vector of [8 x i16] containing the interleaved values.
4446static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpackhi_epi16(__m128i __a,
4447 __m128i __b) {
4445static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
4446_mm_unpackhi_epi16(__m128i __a, __m128i __b) {
44484447 return (__m128i)__builtin_shufflevector((__v8hi)__a, (__v8hi)__b, 4, 8 + 4, 5,
44494448 8 + 5, 6, 8 + 6, 7, 8 + 7);
44504449}
......@@ -4466,8 +4465,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpackhi_epi16(__m128i __a,
44664465/// Bits [95:64] are written to bits [64:32] of the destination. \n
44674466/// Bits [127:96] are written to bits [127:96] of the destination.
44684467/// \returns A 128-bit vector of [4 x i32] containing the interleaved values.
4469static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpackhi_epi32(__m128i __a,
4470 __m128i __b) {
4468static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
4469_mm_unpackhi_epi32(__m128i __a, __m128i __b) {
44714470 return (__m128i)__builtin_shufflevector((__v4si)__a, (__v4si)__b, 2, 4 + 2, 3,
44724471 4 + 3);
44734472}
......@@ -4487,8 +4486,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpackhi_epi32(__m128i __a,
44874486/// A 128-bit vector of [2 x i64]. \n
44884487/// Bits [127:64] are written to bits [127:64] of the destination.
44894488/// \returns A 128-bit vector of [2 x i64] containing the interleaved values.
4490static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpackhi_epi64(__m128i __a,
4491 __m128i __b) {
4489static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
4490_mm_unpackhi_epi64(__m128i __a, __m128i __b) {
44924491 return (__m128i)__builtin_shufflevector((__v2di)__a, (__v2di)__b, 1, 2 + 1);
44934492}
44944493
......@@ -4521,8 +4520,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpackhi_epi64(__m128i __a,
45214520/// Bits [55:48] are written to bits [111:104] of the result. \n
45224521/// Bits [63:56] are written to bits [127:120] of the result.
45234522/// \returns A 128-bit vector of [16 x i8] containing the interleaved values.
4524static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpacklo_epi8(__m128i __a,
4525 __m128i __b) {
4523static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
4524_mm_unpacklo_epi8(__m128i __a, __m128i __b) {
45264525 return (__m128i)__builtin_shufflevector(
45274526 (__v16qi)__a, (__v16qi)__b, 0, 16 + 0, 1, 16 + 1, 2, 16 + 2, 3, 16 + 3, 4,
45284527 16 + 4, 5, 16 + 5, 6, 16 + 6, 7, 16 + 7);
......@@ -4550,8 +4549,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpacklo_epi8(__m128i __a,
45504549/// Bits [47:32] are written to bits [95:80] of the result. \n
45514550/// Bits [63:48] are written to bits [127:112] of the result.
45524551/// \returns A 128-bit vector of [8 x i16] containing the interleaved values.
4553static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpacklo_epi16(__m128i __a,
4554 __m128i __b) {
4552static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
4553_mm_unpacklo_epi16(__m128i __a, __m128i __b) {
45554554 return (__m128i)__builtin_shufflevector((__v8hi)__a, (__v8hi)__b, 0, 8 + 0, 1,
45564555 8 + 1, 2, 8 + 2, 3, 8 + 3);
45574556}
......@@ -4573,8 +4572,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpacklo_epi16(__m128i __a,
45734572/// Bits [31:0] are written to bits [64:32] of the destination. \n
45744573/// Bits [63:32] are written to bits [127:96] of the destination.
45754574/// \returns A 128-bit vector of [4 x i32] containing the interleaved values.
4576static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpacklo_epi32(__m128i __a,
4577 __m128i __b) {
4575static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
4576_mm_unpacklo_epi32(__m128i __a, __m128i __b) {
45784577 return (__m128i)__builtin_shufflevector((__v4si)__a, (__v4si)__b, 0, 4 + 0, 1,
45794578 4 + 1);
45804579}
......@@ -4594,8 +4593,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpacklo_epi32(__m128i __a,
45944593/// A 128-bit vector of [2 x i64]. \n
45954594/// Bits [63:0] are written to bits [127:64] of the destination. \n
45964595/// \returns A 128-bit vector of [2 x i64] containing the interleaved values.
4597static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_unpacklo_epi64(__m128i __a,
4598 __m128i __b) {
4596static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
4597_mm_unpacklo_epi64(__m128i __a, __m128i __b) {
45994598 return (__m128i)__builtin_shufflevector((__v2di)__a, (__v2di)__b, 0, 2 + 0);
46004599}
46014600
......@@ -4701,7 +4700,8 @@ _mm_unpacklo_pd(__m128d __a, __m128d __b) {
47014700/// be extracted.
47024701/// \returns The sign bits from each of the double-precision elements in \a __a,
47034702/// written to bits [1:0]. The remaining bits are assigned values of zero.
4704static __inline__ int __DEFAULT_FN_ATTRS _mm_movemask_pd(__m128d __a) {
4703static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
4704_mm_movemask_pd(__m128d __a) {
47054705 return __builtin_ia32_movmskpd((__v2df)__a);
47064706}
47074707
lib/include/f16cintrin.h+23-9
......@@ -15,10 +15,21 @@
1515#define __F16CINTRIN_H
1616
1717/* Define the default attributes for the functions in this file. */
18#define __DEFAULT_FN_ATTRS128 \
19 __attribute__((__always_inline__, __nodebug__, __target__("f16c"), __min_vector_width__(128)))
20#define __DEFAULT_FN_ATTRS256 \
21 __attribute__((__always_inline__, __nodebug__, __target__("f16c"), __min_vector_width__(256)))
18#if defined(__cplusplus) && (__cplusplus >= 201103L)
19#define __DEFAULT_FN_ATTRS128 \
20 __attribute__((__always_inline__, __nodebug__, __target__("f16c"), \
21 __min_vector_width__(128))) constexpr
22#define __DEFAULT_FN_ATTRS256 \
23 __attribute__((__always_inline__, __nodebug__, __target__("f16c"), \
24 __min_vector_width__(256))) constexpr
25#else
26#define __DEFAULT_FN_ATTRS128 \
27 __attribute__((__always_inline__, __nodebug__, __target__("f16c"), \
28 __min_vector_width__(128)))
29#define __DEFAULT_FN_ATTRS256 \
30 __attribute__((__always_inline__, __nodebug__, __target__("f16c"), \
31 __min_vector_width__(256)))
32#endif
2233
2334/* NOTE: Intel documents the 128-bit versions of these as being in emmintrin.h,
2435 * but that's because icc can emulate these without f16c using a library call.
......@@ -38,9 +49,7 @@
3849static __inline float __DEFAULT_FN_ATTRS128
3950_cvtsh_ss(unsigned short __a)
4051{
41 __v8hi __v = {(short)__a, 0, 0, 0, 0, 0, 0, 0};
42 __v4sf __r = __builtin_ia32_vcvtph2ps(__v);
43 return __r[0];
52 return (float)__builtin_bit_cast(__fp16, __a);
4453}
4554
4655/// Converts a 32-bit single-precision float value to a 16-bit
......@@ -109,7 +118,10 @@ _cvtsh_ss(unsigned short __a)
109118static __inline __m128 __DEFAULT_FN_ATTRS128
110119_mm_cvtph_ps(__m128i __a)
111120{
112 return (__m128)__builtin_ia32_vcvtph2ps((__v8hi)__a);
121 typedef __fp16 __v4fp16 __attribute__((__vector_size__(8)));
122
123 __v4hi __v = __builtin_shufflevector((__v8hi)__a, (__v8hi)__a, 0, 1, 2, 3);
124 return (__m128) __builtin_convertvector((__v4fp16)__v, __v4sf);
113125}
114126
115127/// Converts a 256-bit vector of [8 x float] into a 128-bit vector
......@@ -153,7 +165,9 @@ _mm_cvtph_ps(__m128i __a)
153165static __inline __m256 __DEFAULT_FN_ATTRS256
154166_mm256_cvtph_ps(__m128i __a)
155167{
156 return (__m256)__builtin_ia32_vcvtph2ps256((__v8hi)__a);
168 typedef __fp16 __v8fp16 __attribute__((__vector_size__(16), __aligned__(16)));
169
170 return (__m256) __builtin_convertvector((__v8fp16)__a, __v8sf);
157171}
158172
159173#undef __DEFAULT_FN_ATTRS128
lib/include/float.h+16-155
......@@ -7,13 +7,21 @@
77 *===-----------------------------------------------------------------------===
88 */
99
10#ifndef __CLANG_FLOAT_H
11#define __CLANG_FLOAT_H
12
1310#if defined(__MVS__) && __has_include_next(<float.h>)
11#include <__float_header_macro.h>
1412#include_next <float.h>
1513#else
1614
15#if !defined(__need_infinity_nan)
16#define __need_float_float
17#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
18 !defined(__STRICT_ANSI__)
19#define __need_infinity_nan
20#endif
21#include <__float_header_macro.h>
22#endif
23
24#ifdef __need_float_float
1725/* If we're on MinGW, fall back to the system's float.h, which might have
1826 * additional definitions provided for Windows.
1927 * For more details see http://msdn.microsoft.com/en-us/library/y0ybw9fy.aspx
......@@ -26,162 +34,15 @@
2634
2735# include_next <float.h>
2836
29/* Undefine anything that we'll be redefining below. */
30# undef FLT_EVAL_METHOD
31# undef FLT_ROUNDS
32# undef FLT_RADIX
33# undef FLT_MANT_DIG
34# undef DBL_MANT_DIG
35# undef LDBL_MANT_DIG
36#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
37 !defined(__STRICT_ANSI__) || \
38 (defined(__cplusplus) && __cplusplus >= 201103L) || \
39 (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
40# undef DECIMAL_DIG
41# endif
42# undef FLT_DIG
43# undef DBL_DIG
44# undef LDBL_DIG
45# undef FLT_MIN_EXP
46# undef DBL_MIN_EXP
47# undef LDBL_MIN_EXP
48# undef FLT_MIN_10_EXP
49# undef DBL_MIN_10_EXP
50# undef LDBL_MIN_10_EXP
51# undef FLT_MAX_EXP
52# undef DBL_MAX_EXP
53# undef LDBL_MAX_EXP
54# undef FLT_MAX_10_EXP
55# undef DBL_MAX_10_EXP
56# undef LDBL_MAX_10_EXP
57# undef FLT_MAX
58# undef DBL_MAX
59# undef LDBL_MAX
60# undef FLT_EPSILON
61# undef DBL_EPSILON
62# undef LDBL_EPSILON
63# undef FLT_MIN
64# undef DBL_MIN
65# undef LDBL_MIN
66#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
67 !defined(__STRICT_ANSI__) || \
68 (defined(__cplusplus) && __cplusplus >= 201703L) || \
69 (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
70# undef FLT_TRUE_MIN
71# undef DBL_TRUE_MIN
72# undef LDBL_TRUE_MIN
73# undef FLT_DECIMAL_DIG
74# undef DBL_DECIMAL_DIG
75# undef LDBL_DECIMAL_DIG
76# undef FLT_HAS_SUBNORM
77# undef DBL_HAS_SUBNORM
78# undef LDBL_HAS_SUBNORM
79# endif
80#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
81 !defined(__STRICT_ANSI__)
82# undef FLT_NORM_MAX
83# undef DBL_NORM_MAX
84# undef LDBL_NORM_MAX
85#endif
86#endif
87
88#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
89 !defined(__STRICT_ANSI__)
90# undef INFINITY
91# undef NAN
92#endif
93
94/* Characteristics of floating point types, C99 5.2.4.2.2 */
95
96#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
97 (defined(__cplusplus) && __cplusplus >= 201103L)
98#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
9937#endif
100#define FLT_ROUNDS (__builtin_flt_rounds())
101#define FLT_RADIX __FLT_RADIX__
102
103#define FLT_MANT_DIG __FLT_MANT_DIG__
104#define DBL_MANT_DIG __DBL_MANT_DIG__
105#define LDBL_MANT_DIG __LDBL_MANT_DIG__
10638
107#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || \
108 !defined(__STRICT_ANSI__) || \
109 (defined(__cplusplus) && __cplusplus >= 201103L) || \
110 (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
111# define DECIMAL_DIG __DECIMAL_DIG__
39#include <__float_float.h>
40#undef __need_float_float
11241#endif
11342
114#define FLT_DIG __FLT_DIG__
115#define DBL_DIG __DBL_DIG__
116#define LDBL_DIG __LDBL_DIG__
117
118#define FLT_MIN_EXP __FLT_MIN_EXP__
119#define DBL_MIN_EXP __DBL_MIN_EXP__
120#define LDBL_MIN_EXP __LDBL_MIN_EXP__
121
122#define FLT_MIN_10_EXP __FLT_MIN_10_EXP__
123#define DBL_MIN_10_EXP __DBL_MIN_10_EXP__
124#define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__
125
126#define FLT_MAX_EXP __FLT_MAX_EXP__
127#define DBL_MAX_EXP __DBL_MAX_EXP__
128#define LDBL_MAX_EXP __LDBL_MAX_EXP__
129
130#define FLT_MAX_10_EXP __FLT_MAX_10_EXP__
131#define DBL_MAX_10_EXP __DBL_MAX_10_EXP__
132#define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__
133
134#define FLT_MAX __FLT_MAX__
135#define DBL_MAX __DBL_MAX__
136#define LDBL_MAX __LDBL_MAX__
137
138#define FLT_EPSILON __FLT_EPSILON__
139#define DBL_EPSILON __DBL_EPSILON__
140#define LDBL_EPSILON __LDBL_EPSILON__
141
142#define FLT_MIN __FLT_MIN__
143#define DBL_MIN __DBL_MIN__
144#define LDBL_MIN __LDBL_MIN__
145
146#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) || \
147 !defined(__STRICT_ANSI__) || \
148 (defined(__cplusplus) && __cplusplus >= 201703L) || \
149 (__STDC_HOSTED__ && defined(_AIX) && defined(_ALL_SOURCE))
150# define FLT_TRUE_MIN __FLT_DENORM_MIN__
151# define DBL_TRUE_MIN __DBL_DENORM_MIN__
152# define LDBL_TRUE_MIN __LDBL_DENORM_MIN__
153# define FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__
154# define DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__
155# define LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__
156# define FLT_HAS_SUBNORM __FLT_HAS_DENORM__
157# define DBL_HAS_SUBNORM __DBL_HAS_DENORM__
158# define LDBL_HAS_SUBNORM __LDBL_HAS_DENORM__
43#ifdef __need_infinity_nan
44#include <__float_infinity_nan.h>
45#undef __need_infinity_nan
15946#endif
16047
161#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || \
162 !defined(__STRICT_ANSI__)
163 /* C23 5.2.5.3.3p29-30 */
164# define INFINITY (__builtin_inff())
165# define NAN (__builtin_nanf(""))
166 /* C23 5.2.5.3.3p32 */
167# define FLT_NORM_MAX __FLT_NORM_MAX__
168# define DBL_NORM_MAX __DBL_NORM_MAX__
169# define LDBL_NORM_MAX __LDBL_NORM_MAX__
170#endif
171
172#ifdef __STDC_WANT_IEC_60559_TYPES_EXT__
173# define FLT16_MANT_DIG __FLT16_MANT_DIG__
174# define FLT16_DECIMAL_DIG __FLT16_DECIMAL_DIG__
175# define FLT16_DIG __FLT16_DIG__
176# define FLT16_MIN_EXP __FLT16_MIN_EXP__
177# define FLT16_MIN_10_EXP __FLT16_MIN_10_EXP__
178# define FLT16_MAX_EXP __FLT16_MAX_EXP__
179# define FLT16_MAX_10_EXP __FLT16_MAX_10_EXP__
180# define FLT16_MAX __FLT16_MAX__
181# define FLT16_EPSILON __FLT16_EPSILON__
182# define FLT16_MIN __FLT16_MIN__
183# define FLT16_TRUE_MIN __FLT16_TRUE_MIN__
184#endif /* __STDC_WANT_IEC_60559_TYPES_EXT__ */
185
18648#endif /* __MVS__ */
187#endif /* __CLANG_FLOAT_H */
lib/include/fma4intrin.h+98-96
......@@ -20,100 +20,100 @@
2020#define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("fma4"), __min_vector_width__(128)))
2121#define __DEFAULT_FN_ATTRS256 __attribute__((__always_inline__, __nodebug__, __target__("fma4"), __min_vector_width__(256)))
2222
23static __inline__ __m128 __DEFAULT_FN_ATTRS128
24_mm_macc_ps(__m128 __A, __m128 __B, __m128 __C)
25{
26 return (__m128)__builtin_ia32_vfmaddps((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
23#if defined(__cplusplus) && (__cplusplus >= 201103L)
24#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
25#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
26#else
27#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
28#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
29#endif
30
31static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
32_mm_macc_ps(__m128 __A, __m128 __B, __m128 __C) {
33 return (__m128)__builtin_elementwise_fma((__v4sf)__A, (__v4sf)__B,
34 (__v4sf)__C);
2735}
2836
29static __inline__ __m128d __DEFAULT_FN_ATTRS128
30_mm_macc_pd(__m128d __A, __m128d __B, __m128d __C)
31{
32 return (__m128d)__builtin_ia32_vfmaddpd((__v2df)__A, (__v2df)__B, (__v2df)__C);
37static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
38_mm_macc_pd(__m128d __A, __m128d __B, __m128d __C) {
39 return (__m128d)__builtin_elementwise_fma((__v2df)__A, (__v2df)__B,
40 (__v2df)__C);
3341}
3442
35static __inline__ __m128 __DEFAULT_FN_ATTRS128
36_mm_macc_ss(__m128 __A, __m128 __B, __m128 __C)
37{
38 return (__m128)__builtin_ia32_vfmaddss((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
43static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
44_mm_macc_ss(__m128 __A, __m128 __B, __m128 __C) {
45 return _mm_set_ss(__builtin_elementwise_fma(__A[0], __B[0], __C[0]));
3946}
4047
41static __inline__ __m128d __DEFAULT_FN_ATTRS128
42_mm_macc_sd(__m128d __A, __m128d __B, __m128d __C)
43{
44 return (__m128d)__builtin_ia32_vfmaddsd((__v2df)__A, (__v2df)__B, (__v2df)__C);
48static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
49_mm_macc_sd(__m128d __A, __m128d __B, __m128d __C) {
50 return _mm_set_sd(__builtin_elementwise_fma(__A[0], __B[0], __C[0]));
4551}
4652
47static __inline__ __m128 __DEFAULT_FN_ATTRS128
48_mm_msub_ps(__m128 __A, __m128 __B, __m128 __C)
49{
50 return (__m128)__builtin_ia32_vfmaddps((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
53static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
54_mm_msub_ps(__m128 __A, __m128 __B, __m128 __C) {
55 return (__m128)__builtin_elementwise_fma((__v4sf)__A, (__v4sf)__B,
56 -(__v4sf)__C);
5157}
5258
53static __inline__ __m128d __DEFAULT_FN_ATTRS128
54_mm_msub_pd(__m128d __A, __m128d __B, __m128d __C)
55{
56 return (__m128d)__builtin_ia32_vfmaddpd((__v2df)__A, (__v2df)__B, -(__v2df)__C);
59static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
60_mm_msub_pd(__m128d __A, __m128d __B, __m128d __C) {
61 return (__m128d)__builtin_elementwise_fma((__v2df)__A, (__v2df)__B,
62 -(__v2df)__C);
5763}
5864
59static __inline__ __m128 __DEFAULT_FN_ATTRS128
60_mm_msub_ss(__m128 __A, __m128 __B, __m128 __C)
61{
62 return (__m128)__builtin_ia32_vfmaddss((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
65static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
66_mm_msub_ss(__m128 __A, __m128 __B, __m128 __C) {
67 return _mm_set_ss(__builtin_elementwise_fma(__A[0], __B[0], -__C[0]));
6368}
6469
65static __inline__ __m128d __DEFAULT_FN_ATTRS128
66_mm_msub_sd(__m128d __A, __m128d __B, __m128d __C)
67{
68 return (__m128d)__builtin_ia32_vfmaddsd((__v2df)__A, (__v2df)__B, -(__v2df)__C);
70static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
71_mm_msub_sd(__m128d __A, __m128d __B, __m128d __C) {
72 return _mm_set_sd(__builtin_elementwise_fma(__A[0], __B[0], -__C[0]));
6973}
7074
71static __inline__ __m128 __DEFAULT_FN_ATTRS128
72_mm_nmacc_ps(__m128 __A, __m128 __B, __m128 __C)
73{
74 return (__m128)__builtin_ia32_vfmaddps(-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
75static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
76_mm_nmacc_ps(__m128 __A, __m128 __B, __m128 __C) {
77 return (__m128)__builtin_elementwise_fma(-(__v4sf)__A, (__v4sf)__B,
78 (__v4sf)__C);
7579}
7680
77static __inline__ __m128d __DEFAULT_FN_ATTRS128
78_mm_nmacc_pd(__m128d __A, __m128d __B, __m128d __C)
79{
80 return (__m128d)__builtin_ia32_vfmaddpd(-(__v2df)__A, (__v2df)__B, (__v2df)__C);
81static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
82_mm_nmacc_pd(__m128d __A, __m128d __B, __m128d __C) {
83 return (__m128d)__builtin_elementwise_fma(-(__v2df)__A, (__v2df)__B,
84 (__v2df)__C);
8185}
8286
83static __inline__ __m128 __DEFAULT_FN_ATTRS128
84_mm_nmacc_ss(__m128 __A, __m128 __B, __m128 __C)
85{
86 return (__m128)__builtin_ia32_vfmaddss(-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
87static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
88_mm_nmacc_ss(__m128 __A, __m128 __B, __m128 __C) {
89 return _mm_set_ss(__builtin_elementwise_fma(-__A[0], __B[0], __C[0]));
8790}
8891
89static __inline__ __m128d __DEFAULT_FN_ATTRS128
90_mm_nmacc_sd(__m128d __A, __m128d __B, __m128d __C)
91{
92 return (__m128d)__builtin_ia32_vfmaddsd(-(__v2df)__A, (__v2df)__B, (__v2df)__C);
92static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
93_mm_nmacc_sd(__m128d __A, __m128d __B, __m128d __C) {
94 return _mm_set_sd(__builtin_elementwise_fma(-__A[0], __B[0], __C[0]));
9395}
9496
95static __inline__ __m128 __DEFAULT_FN_ATTRS128
96_mm_nmsub_ps(__m128 __A, __m128 __B, __m128 __C)
97{
98 return (__m128)__builtin_ia32_vfmaddps(-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
97static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
98_mm_nmsub_ps(__m128 __A, __m128 __B, __m128 __C) {
99 return (__m128)__builtin_elementwise_fma(-(__v4sf)__A, (__v4sf)__B,
100 -(__v4sf)__C);
99101}
100102
101static __inline__ __m128d __DEFAULT_FN_ATTRS128
102_mm_nmsub_pd(__m128d __A, __m128d __B, __m128d __C)
103{
104 return (__m128d)__builtin_ia32_vfmaddpd(-(__v2df)__A, (__v2df)__B, -(__v2df)__C);
103static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
104_mm_nmsub_pd(__m128d __A, __m128d __B, __m128d __C) {
105 return (__m128d)__builtin_elementwise_fma(-(__v2df)__A, (__v2df)__B,
106 -(__v2df)__C);
105107}
106108
107static __inline__ __m128 __DEFAULT_FN_ATTRS128
108_mm_nmsub_ss(__m128 __A, __m128 __B, __m128 __C)
109{
110 return (__m128)__builtin_ia32_vfmaddss(-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
109static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
110_mm_nmsub_ss(__m128 __A, __m128 __B, __m128 __C) {
111 return _mm_set_ss(__builtin_elementwise_fma(-__A[0], __B[0], -__C[0]));
111112}
112113
113static __inline__ __m128d __DEFAULT_FN_ATTRS128
114_mm_nmsub_sd(__m128d __A, __m128d __B, __m128d __C)
115{
116 return (__m128d)__builtin_ia32_vfmaddsd(-(__v2df)__A, (__v2df)__B, -(__v2df)__C);
114static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
115_mm_nmsub_sd(__m128d __A, __m128d __B, __m128d __C) {
116 return _mm_set_sd(__builtin_elementwise_fma(-__A[0], __B[0], -__C[0]));
117117}
118118
119119static __inline__ __m128 __DEFAULT_FN_ATTRS128
......@@ -140,52 +140,52 @@ _mm_msubadd_pd(__m128d __A, __m128d __B, __m128d __C)
140140 return (__m128d)__builtin_ia32_vfmaddsubpd((__v2df)__A, (__v2df)__B, -(__v2df)__C);
141141}
142142
143static __inline__ __m256 __DEFAULT_FN_ATTRS256
144_mm256_macc_ps(__m256 __A, __m256 __B, __m256 __C)
145{
146 return (__m256)__builtin_ia32_vfmaddps256((__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
143static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
144_mm256_macc_ps(__m256 __A, __m256 __B, __m256 __C) {
145 return (__m256)__builtin_elementwise_fma((__v8sf)__A, (__v8sf)__B,
146 (__v8sf)__C);
147147}
148148
149static __inline__ __m256d __DEFAULT_FN_ATTRS256
150_mm256_macc_pd(__m256d __A, __m256d __B, __m256d __C)
151{
152 return (__m256d)__builtin_ia32_vfmaddpd256((__v4df)__A, (__v4df)__B, (__v4df)__C);
149static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
150_mm256_macc_pd(__m256d __A, __m256d __B, __m256d __C) {
151 return (__m256d)__builtin_elementwise_fma((__v4df)__A, (__v4df)__B,
152 (__v4df)__C);
153153}
154154
155static __inline__ __m256 __DEFAULT_FN_ATTRS256
156_mm256_msub_ps(__m256 __A, __m256 __B, __m256 __C)
157{
158 return (__m256)__builtin_ia32_vfmaddps256((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
155static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
156_mm256_msub_ps(__m256 __A, __m256 __B, __m256 __C) {
157 return (__m256)__builtin_elementwise_fma((__v8sf)__A, (__v8sf)__B,
158 -(__v8sf)__C);
159159}
160160
161static __inline__ __m256d __DEFAULT_FN_ATTRS256
162_mm256_msub_pd(__m256d __A, __m256d __B, __m256d __C)
163{
164 return (__m256d)__builtin_ia32_vfmaddpd256((__v4df)__A, (__v4df)__B, -(__v4df)__C);
161static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
162_mm256_msub_pd(__m256d __A, __m256d __B, __m256d __C) {
163 return (__m256d)__builtin_elementwise_fma((__v4df)__A, (__v4df)__B,
164 -(__v4df)__C);
165165}
166166
167static __inline__ __m256 __DEFAULT_FN_ATTRS256
168_mm256_nmacc_ps(__m256 __A, __m256 __B, __m256 __C)
169{
170 return (__m256)__builtin_ia32_vfmaddps256(-(__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
167static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
168_mm256_nmacc_ps(__m256 __A, __m256 __B, __m256 __C) {
169 return (__m256)__builtin_elementwise_fma(-(__v8sf)__A, (__v8sf)__B,
170 (__v8sf)__C);
171171}
172172
173static __inline__ __m256d __DEFAULT_FN_ATTRS256
174_mm256_nmacc_pd(__m256d __A, __m256d __B, __m256d __C)
175{
176 return (__m256d)__builtin_ia32_vfmaddpd256(-(__v4df)__A, (__v4df)__B, (__v4df)__C);
173static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
174_mm256_nmacc_pd(__m256d __A, __m256d __B, __m256d __C) {
175 return (__m256d)__builtin_elementwise_fma(-(__v4df)__A, (__v4df)__B,
176 (__v4df)__C);
177177}
178178
179static __inline__ __m256 __DEFAULT_FN_ATTRS256
180_mm256_nmsub_ps(__m256 __A, __m256 __B, __m256 __C)
181{
182 return (__m256)__builtin_ia32_vfmaddps256(-(__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
179static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
180_mm256_nmsub_ps(__m256 __A, __m256 __B, __m256 __C) {
181 return (__m256)__builtin_elementwise_fma(-(__v8sf)__A, (__v8sf)__B,
182 -(__v8sf)__C);
183183}
184184
185static __inline__ __m256d __DEFAULT_FN_ATTRS256
186_mm256_nmsub_pd(__m256d __A, __m256d __B, __m256d __C)
187{
188 return (__m256d)__builtin_ia32_vfmaddpd256(-(__v4df)__A, (__v4df)__B, -(__v4df)__C);
185static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
186_mm256_nmsub_pd(__m256d __A, __m256d __B, __m256d __C) {
187 return (__m256d)__builtin_elementwise_fma(-(__v4df)__A, (__v4df)__B,
188 -(__v4df)__C);
189189}
190190
191191static __inline__ __m256 __DEFAULT_FN_ATTRS256
......@@ -214,5 +214,7 @@ _mm256_msubadd_pd(__m256d __A, __m256d __B, __m256d __C)
214214
215215#undef __DEFAULT_FN_ATTRS128
216216#undef __DEFAULT_FN_ATTRS256
217#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
218#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
217219
218220#endif /* __FMA4INTRIN_H */
lib/include/fmaintrin.h+96-66
......@@ -15,8 +15,20 @@
1515#define __FMAINTRIN_H
1616
1717/* Define the default attributes for the functions in this file. */
18#define __DEFAULT_FN_ATTRS128 __attribute__((__always_inline__, __nodebug__, __target__("fma"), __min_vector_width__(128)))
19#define __DEFAULT_FN_ATTRS256 __attribute__((__always_inline__, __nodebug__, __target__("fma"), __min_vector_width__(256)))
18#define __DEFAULT_FN_ATTRS128 \
19 __attribute__((__always_inline__, __nodebug__, __target__("fma"), \
20 __min_vector_width__(128)))
21#define __DEFAULT_FN_ATTRS256 \
22 __attribute__((__always_inline__, __nodebug__, __target__("fma"), \
23 __min_vector_width__(256)))
24
25#if defined(__cplusplus) && (__cplusplus >= 201103L)
26#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128 constexpr
27#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
28#else
29#define __DEFAULT_FN_ATTRS128_CONSTEXPR __DEFAULT_FN_ATTRS128
30#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
31#endif
2032
2133/// Computes a multiply-add of 128-bit vectors of [4 x float].
2234/// For each element, computes <c> (__A * __B) + __C </c>.
......@@ -32,10 +44,11 @@
3244/// \param __C
3345/// A 128-bit vector of [4 x float] containing the addend.
3446/// \returns A 128-bit vector of [4 x float] containing the result.
35static __inline__ __m128 __DEFAULT_FN_ATTRS128
47static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
3648_mm_fmadd_ps(__m128 __A, __m128 __B, __m128 __C)
3749{
38 return (__m128)__builtin_ia32_vfmaddps((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
50 return (__m128)__builtin_elementwise_fma((__v4sf)__A, (__v4sf)__B,
51 (__v4sf)__C);
3952}
4053
4154/// Computes a multiply-add of 128-bit vectors of [2 x double].
......@@ -52,10 +65,11 @@ _mm_fmadd_ps(__m128 __A, __m128 __B, __m128 __C)
5265/// \param __C
5366/// A 128-bit vector of [2 x double] containing the addend.
5467/// \returns A 128-bit [2 x double] vector containing the result.
55static __inline__ __m128d __DEFAULT_FN_ATTRS128
68static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
5669_mm_fmadd_pd(__m128d __A, __m128d __B, __m128d __C)
5770{
58 return (__m128d)__builtin_ia32_vfmaddpd((__v2df)__A, (__v2df)__B, (__v2df)__C);
71 return (__m128d)__builtin_elementwise_fma((__v2df)__A, (__v2df)__B,
72 (__v2df)__C);
5973}
6074
6175/// Computes a scalar multiply-add of the single-precision values in the
......@@ -81,10 +95,10 @@ _mm_fmadd_pd(__m128d __A, __m128d __B, __m128d __C)
8195/// 32 bits.
8296/// \returns A 128-bit vector of [4 x float] containing the result in the low
8397/// 32 bits and a copy of \a __A[127:32] in the upper 96 bits.
84static __inline__ __m128 __DEFAULT_FN_ATTRS128
85_mm_fmadd_ss(__m128 __A, __m128 __B, __m128 __C)
86{
87 return (__m128)__builtin_ia32_vfmaddss3((__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
98static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
99_mm_fmadd_ss(__m128 __A, __m128 __B, __m128 __C) {
100 __A[0] = __builtin_elementwise_fma(__A[0], __B[0], __C[0]);
101 return __A;
88102}
89103
90104/// Computes a scalar multiply-add of the double-precision values in the
......@@ -110,10 +124,10 @@ _mm_fmadd_ss(__m128 __A, __m128 __B, __m128 __C)
110124/// 64 bits.
111125/// \returns A 128-bit vector of [2 x double] containing the result in the low
112126/// 64 bits and a copy of \a __A[127:64] in the upper 64 bits.
113static __inline__ __m128d __DEFAULT_FN_ATTRS128
114_mm_fmadd_sd(__m128d __A, __m128d __B, __m128d __C)
115{
116 return (__m128d)__builtin_ia32_vfmaddsd3((__v2df)__A, (__v2df)__B, (__v2df)__C);
127static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
128_mm_fmadd_sd(__m128d __A, __m128d __B, __m128d __C) {
129 __A[0] = __builtin_elementwise_fma(__A[0], __B[0], __C[0]);
130 return __A;
117131}
118132
119133/// Computes a multiply-subtract of 128-bit vectors of [4 x float].
......@@ -130,10 +144,11 @@ _mm_fmadd_sd(__m128d __A, __m128d __B, __m128d __C)
130144/// \param __C
131145/// A 128-bit vector of [4 x float] containing the subtrahend.
132146/// \returns A 128-bit vector of [4 x float] containing the result.
133static __inline__ __m128 __DEFAULT_FN_ATTRS128
147static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
134148_mm_fmsub_ps(__m128 __A, __m128 __B, __m128 __C)
135149{
136 return (__m128)__builtin_ia32_vfmaddps((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
150 return (__m128)__builtin_elementwise_fma((__v4sf)__A, (__v4sf)__B,
151 -(__v4sf)__C);
137152}
138153
139154/// Computes a multiply-subtract of 128-bit vectors of [2 x double].
......@@ -150,10 +165,11 @@ _mm_fmsub_ps(__m128 __A, __m128 __B, __m128 __C)
150165/// \param __C
151166/// A 128-bit vector of [2 x double] containing the addend.
152167/// \returns A 128-bit vector of [2 x double] containing the result.
153static __inline__ __m128d __DEFAULT_FN_ATTRS128
168static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
154169_mm_fmsub_pd(__m128d __A, __m128d __B, __m128d __C)
155170{
156 return (__m128d)__builtin_ia32_vfmaddpd((__v2df)__A, (__v2df)__B, -(__v2df)__C);
171 return (__m128d)__builtin_elementwise_fma((__v2df)__A, (__v2df)__B,
172 -(__v2df)__C);
157173}
158174
159175/// Computes a scalar multiply-subtract of the single-precision values in
......@@ -179,10 +195,10 @@ _mm_fmsub_pd(__m128d __A, __m128d __B, __m128d __C)
179195/// 32 bits.
180196/// \returns A 128-bit vector of [4 x float] containing the result in the low
181197/// 32 bits, and a copy of \a __A[127:32] in the upper 96 bits.
182static __inline__ __m128 __DEFAULT_FN_ATTRS128
183_mm_fmsub_ss(__m128 __A, __m128 __B, __m128 __C)
184{
185 return (__m128)__builtin_ia32_vfmaddss3((__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
198static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
199_mm_fmsub_ss(__m128 __A, __m128 __B, __m128 __C) {
200 __A[0] = __builtin_elementwise_fma(__A[0], __B[0], -__C[0]);
201 return __A;
186202}
187203
188204/// Computes a scalar multiply-subtract of the double-precision values in
......@@ -208,10 +224,10 @@ _mm_fmsub_ss(__m128 __A, __m128 __B, __m128 __C)
208224/// 64 bits.
209225/// \returns A 128-bit vector of [2 x double] containing the result in the low
210226/// 64 bits, and a copy of \a __A[127:64] in the upper 64 bits.
211static __inline__ __m128d __DEFAULT_FN_ATTRS128
212_mm_fmsub_sd(__m128d __A, __m128d __B, __m128d __C)
213{
214 return (__m128d)__builtin_ia32_vfmaddsd3((__v2df)__A, (__v2df)__B, -(__v2df)__C);
227static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
228_mm_fmsub_sd(__m128d __A, __m128d __B, __m128d __C) {
229 __A[0] = __builtin_elementwise_fma(__A[0], __B[0], -__C[0]);
230 return __A;
215231}
216232
217233/// Computes a negated multiply-add of 128-bit vectors of [4 x float].
......@@ -228,10 +244,11 @@ _mm_fmsub_sd(__m128d __A, __m128d __B, __m128d __C)
228244/// \param __C
229245/// A 128-bit vector of [4 x float] containing the addend.
230246/// \returns A 128-bit [4 x float] vector containing the result.
231static __inline__ __m128 __DEFAULT_FN_ATTRS128
247static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
232248_mm_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C)
233249{
234 return (__m128)__builtin_ia32_vfmaddps(-(__v4sf)__A, (__v4sf)__B, (__v4sf)__C);
250 return (__m128)__builtin_elementwise_fma(-(__v4sf)__A, (__v4sf)__B,
251 (__v4sf)__C);
235252}
236253
237254/// Computes a negated multiply-add of 128-bit vectors of [2 x double].
......@@ -248,10 +265,11 @@ _mm_fnmadd_ps(__m128 __A, __m128 __B, __m128 __C)
248265/// \param __C
249266/// A 128-bit vector of [2 x double] containing the addend.
250267/// \returns A 128-bit vector of [2 x double] containing the result.
251static __inline__ __m128d __DEFAULT_FN_ATTRS128
268static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
252269_mm_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C)
253270{
254 return (__m128d)__builtin_ia32_vfmaddpd(-(__v2df)__A, (__v2df)__B, (__v2df)__C);
271 return (__m128d)__builtin_elementwise_fma(-(__v2df)__A, (__v2df)__B,
272 (__v2df)__C);
255273}
256274
257275/// Computes a scalar negated multiply-add of the single-precision values in
......@@ -277,10 +295,10 @@ _mm_fnmadd_pd(__m128d __A, __m128d __B, __m128d __C)
277295/// 32 bits.
278296/// \returns A 128-bit vector of [4 x float] containing the result in the low
279297/// 32 bits, and a copy of \a __A[127:32] in the upper 96 bits.
280static __inline__ __m128 __DEFAULT_FN_ATTRS128
281_mm_fnmadd_ss(__m128 __A, __m128 __B, __m128 __C)
282{
283 return (__m128)__builtin_ia32_vfmaddss3((__v4sf)__A, -(__v4sf)__B, (__v4sf)__C);
298static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
299_mm_fnmadd_ss(__m128 __A, __m128 __B, __m128 __C) {
300 __A[0] = __builtin_elementwise_fma(__A[0], -__B[0], __C[0]);
301 return __A;
284302}
285303
286304/// Computes a scalar negated multiply-add of the double-precision values
......@@ -306,10 +324,10 @@ _mm_fnmadd_ss(__m128 __A, __m128 __B, __m128 __C)
306324/// 64 bits.
307325/// \returns A 128-bit vector of [2 x double] containing the result in the low
308326/// 64 bits, and a copy of \a __A[127:64] in the upper 64 bits.
309static __inline__ __m128d __DEFAULT_FN_ATTRS128
310_mm_fnmadd_sd(__m128d __A, __m128d __B, __m128d __C)
311{
312 return (__m128d)__builtin_ia32_vfmaddsd3((__v2df)__A, -(__v2df)__B, (__v2df)__C);
327static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
328_mm_fnmadd_sd(__m128d __A, __m128d __B, __m128d __C) {
329 __A[0] = __builtin_elementwise_fma(__A[0], -__B[0], __C[0]);
330 return __A;
313331}
314332
315333/// Computes a negated multiply-subtract of 128-bit vectors of [4 x float].
......@@ -326,10 +344,11 @@ _mm_fnmadd_sd(__m128d __A, __m128d __B, __m128d __C)
326344/// \param __C
327345/// A 128-bit vector of [4 x float] containing the subtrahend.
328346/// \returns A 128-bit vector of [4 x float] containing the result.
329static __inline__ __m128 __DEFAULT_FN_ATTRS128
347static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
330348_mm_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C)
331349{
332 return (__m128)__builtin_ia32_vfmaddps(-(__v4sf)__A, (__v4sf)__B, -(__v4sf)__C);
350 return (__m128)__builtin_elementwise_fma(-(__v4sf)__A, (__v4sf)__B,
351 -(__v4sf)__C);
333352}
334353
335354/// Computes a negated multiply-subtract of 128-bit vectors of [2 x double].
......@@ -346,10 +365,11 @@ _mm_fnmsub_ps(__m128 __A, __m128 __B, __m128 __C)
346365/// \param __C
347366/// A 128-bit vector of [2 x double] containing the subtrahend.
348367/// \returns A 128-bit vector of [2 x double] containing the result.
349static __inline__ __m128d __DEFAULT_FN_ATTRS128
368static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
350369_mm_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C)
351370{
352 return (__m128d)__builtin_ia32_vfmaddpd(-(__v2df)__A, (__v2df)__B, -(__v2df)__C);
371 return (__m128d)__builtin_elementwise_fma(-(__v2df)__A, (__v2df)__B,
372 -(__v2df)__C);
353373}
354374
355375/// Computes a scalar negated multiply-subtract of the single-precision
......@@ -375,10 +395,10 @@ _mm_fnmsub_pd(__m128d __A, __m128d __B, __m128d __C)
375395/// 32 bits.
376396/// \returns A 128-bit vector of [4 x float] containing the result in the low
377397/// 32 bits, and a copy of \a __A[127:32] in the upper 96 bits.
378static __inline__ __m128 __DEFAULT_FN_ATTRS128
379_mm_fnmsub_ss(__m128 __A, __m128 __B, __m128 __C)
380{
381 return (__m128)__builtin_ia32_vfmaddss3((__v4sf)__A, -(__v4sf)__B, -(__v4sf)__C);
398static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
399_mm_fnmsub_ss(__m128 __A, __m128 __B, __m128 __C) {
400 __A[0] = __builtin_elementwise_fma(__A[0], -__B[0], -__C[0]);
401 return __A;
382402}
383403
384404/// Computes a scalar negated multiply-subtract of the double-precision
......@@ -404,10 +424,10 @@ _mm_fnmsub_ss(__m128 __A, __m128 __B, __m128 __C)
404424/// 64 bits.
405425/// \returns A 128-bit vector of [2 x double] containing the result in the low
406426/// 64 bits, and a copy of \a __A[127:64] in the upper 64 bits.
407static __inline__ __m128d __DEFAULT_FN_ATTRS128
408_mm_fnmsub_sd(__m128d __A, __m128d __B, __m128d __C)
409{
410 return (__m128d)__builtin_ia32_vfmaddsd3((__v2df)__A, -(__v2df)__B, -(__v2df)__C);
427static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
428_mm_fnmsub_sd(__m128d __A, __m128d __B, __m128d __C) {
429 __A[0] = __builtin_elementwise_fma(__A[0], -__B[0], -__C[0]);
430 return __A;
411431}
412432
413433/// Computes a multiply with alternating add/subtract of 128-bit vectors of
......@@ -528,10 +548,11 @@ _mm_fmsubadd_pd(__m128d __A, __m128d __B, __m128d __C)
528548/// \param __C
529549/// A 256-bit vector of [8 x float] containing the addend.
530550/// \returns A 256-bit vector of [8 x float] containing the result.
531static __inline__ __m256 __DEFAULT_FN_ATTRS256
551static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
532552_mm256_fmadd_ps(__m256 __A, __m256 __B, __m256 __C)
533553{
534 return (__m256)__builtin_ia32_vfmaddps256((__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
554 return (__m256)__builtin_elementwise_fma((__v8sf)__A, (__v8sf)__B,
555 (__v8sf)__C);
535556}
536557
537558/// Computes a multiply-add of 256-bit vectors of [4 x double].
......@@ -548,10 +569,11 @@ _mm256_fmadd_ps(__m256 __A, __m256 __B, __m256 __C)
548569/// \param __C
549570/// A 256-bit vector of [4 x double] containing the addend.
550571/// \returns A 256-bit vector of [4 x double] containing the result.
551static __inline__ __m256d __DEFAULT_FN_ATTRS256
572static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
552573_mm256_fmadd_pd(__m256d __A, __m256d __B, __m256d __C)
553574{
554 return (__m256d)__builtin_ia32_vfmaddpd256((__v4df)__A, (__v4df)__B, (__v4df)__C);
575 return (__m256d)__builtin_elementwise_fma((__v4df)__A, (__v4df)__B,
576 (__v4df)__C);
555577}
556578
557579/// Computes a multiply-subtract of 256-bit vectors of [8 x float].
......@@ -568,10 +590,11 @@ _mm256_fmadd_pd(__m256d __A, __m256d __B, __m256d __C)
568590/// \param __C
569591/// A 256-bit vector of [8 x float] containing the subtrahend.
570592/// \returns A 256-bit vector of [8 x float] containing the result.
571static __inline__ __m256 __DEFAULT_FN_ATTRS256
593static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
572594_mm256_fmsub_ps(__m256 __A, __m256 __B, __m256 __C)
573595{
574 return (__m256)__builtin_ia32_vfmaddps256((__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
596 return (__m256)__builtin_elementwise_fma((__v8sf)__A, (__v8sf)__B,
597 -(__v8sf)__C);
575598}
576599
577600/// Computes a multiply-subtract of 256-bit vectors of [4 x double].
......@@ -588,10 +611,11 @@ _mm256_fmsub_ps(__m256 __A, __m256 __B, __m256 __C)
588611/// \param __C
589612/// A 256-bit vector of [4 x double] containing the subtrahend.
590613/// \returns A 256-bit vector of [4 x double] containing the result.
591static __inline__ __m256d __DEFAULT_FN_ATTRS256
614static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
592615_mm256_fmsub_pd(__m256d __A, __m256d __B, __m256d __C)
593616{
594 return (__m256d)__builtin_ia32_vfmaddpd256((__v4df)__A, (__v4df)__B, -(__v4df)__C);
617 return (__m256d)__builtin_elementwise_fma((__v4df)__A, (__v4df)__B,
618 -(__v4df)__C);
595619}
596620
597621/// Computes a negated multiply-add of 256-bit vectors of [8 x float].
......@@ -608,10 +632,11 @@ _mm256_fmsub_pd(__m256d __A, __m256d __B, __m256d __C)
608632/// \param __C
609633/// A 256-bit vector of [8 x float] containing the addend.
610634/// \returns A 256-bit vector of [8 x float] containing the result.
611static __inline__ __m256 __DEFAULT_FN_ATTRS256
635static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
612636_mm256_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C)
613637{
614 return (__m256)__builtin_ia32_vfmaddps256(-(__v8sf)__A, (__v8sf)__B, (__v8sf)__C);
638 return (__m256)__builtin_elementwise_fma(-(__v8sf)__A, (__v8sf)__B,
639 (__v8sf)__C);
615640}
616641
617642/// Computes a negated multiply-add of 256-bit vectors of [4 x double].
......@@ -628,10 +653,11 @@ _mm256_fnmadd_ps(__m256 __A, __m256 __B, __m256 __C)
628653/// \param __C
629654/// A 256-bit vector of [4 x double] containing the addend.
630655/// \returns A 256-bit vector of [4 x double] containing the result.
631static __inline__ __m256d __DEFAULT_FN_ATTRS256
656static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
632657_mm256_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C)
633658{
634 return (__m256d)__builtin_ia32_vfmaddpd256(-(__v4df)__A, (__v4df)__B, (__v4df)__C);
659 return (__m256d)__builtin_elementwise_fma(-(__v4df)__A, (__v4df)__B,
660 (__v4df)__C);
635661}
636662
637663/// Computes a negated multiply-subtract of 256-bit vectors of [8 x float].
......@@ -648,10 +674,11 @@ _mm256_fnmadd_pd(__m256d __A, __m256d __B, __m256d __C)
648674/// \param __C
649675/// A 256-bit vector of [8 x float] containing the subtrahend.
650676/// \returns A 256-bit vector of [8 x float] containing the result.
651static __inline__ __m256 __DEFAULT_FN_ATTRS256
677static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
652678_mm256_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C)
653679{
654 return (__m256)__builtin_ia32_vfmaddps256(-(__v8sf)__A, (__v8sf)__B, -(__v8sf)__C);
680 return (__m256)__builtin_elementwise_fma(-(__v8sf)__A, (__v8sf)__B,
681 -(__v8sf)__C);
655682}
656683
657684/// Computes a negated multiply-subtract of 256-bit vectors of [4 x double].
......@@ -668,10 +695,11 @@ _mm256_fnmsub_ps(__m256 __A, __m256 __B, __m256 __C)
668695/// \param __C
669696/// A 256-bit vector of [4 x double] containing the subtrahend.
670697/// \returns A 256-bit vector of [4 x double] containing the result.
671static __inline__ __m256d __DEFAULT_FN_ATTRS256
698static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
672699_mm256_fnmsub_pd(__m256d __A, __m256d __B, __m256d __C)
673700{
674 return (__m256d)__builtin_ia32_vfmaddpd256(-(__v4df)__A, (__v4df)__B, -(__v4df)__C);
701 return (__m256d)__builtin_elementwise_fma(-(__v4df)__A, (__v4df)__B,
702 -(__v4df)__C);
675703}
676704
677705/// Computes a multiply with alternating add/subtract of 256-bit vectors of
......@@ -792,5 +820,7 @@ _mm256_fmsubadd_pd(__m256d __A, __m256d __B, __m256d __C)
792820
793821#undef __DEFAULT_FN_ATTRS128
794822#undef __DEFAULT_FN_ATTRS256
823#undef __DEFAULT_FN_ATTRS128_CONSTEXPR
824#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
795825
796826#endif /* __FMAINTRIN_H */
lib/include/gfniintrin.h+21-16
......@@ -14,29 +14,36 @@
1414#ifndef __GFNIINTRIN_H
1515#define __GFNIINTRIN_H
1616
17#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
1817/* Default attributes for simple form (no masking). */
18#if defined(__cplusplus) && (__cplusplus >= 201103L)
1919#define __DEFAULT_FN_ATTRS \
20 __attribute__((__always_inline__, __nodebug__, \
21 __target__("gfni,no-evex512"), __min_vector_width__(128)))
20 __attribute__((__always_inline__, __nodebug__, __target__("gfni"), \
21 __min_vector_width__(128))) constexpr
2222
2323/* Default attributes for YMM unmasked form. */
2424#define __DEFAULT_FN_ATTRS_Y \
25 __attribute__((__always_inline__, __nodebug__, \
26 __target__("avx,gfni,no-evex512"), \
27 __min_vector_width__(256)))
25 __attribute__((__always_inline__, __nodebug__, __target__("avx,gfni"), \
26 __min_vector_width__(256))) constexpr
2827
2928/* Default attributes for VLX masked forms. */
3029#define __DEFAULT_FN_ATTRS_VL128 \
3130 __attribute__((__always_inline__, __nodebug__, \
32 __target__("avx512bw,avx512vl,gfni,no-evex512"), \
33 __min_vector_width__(128)))
31 __target__("avx512bw,avx512vl,gfni"), \
32 __min_vector_width__(128))) constexpr
3433#define __DEFAULT_FN_ATTRS_VL256 \
3534 __attribute__((__always_inline__, __nodebug__, \
36 __target__("avx512bw,avx512vl,gfni,no-evex512"), \
37 __min_vector_width__(256)))
35 __target__("avx512bw,avx512vl,gfni"), \
36 __min_vector_width__(256))) constexpr
37
38/* Default attributes for ZMM unmasked forms. */
39#define __DEFAULT_FN_ATTRS_Z \
40 __attribute__((__always_inline__, __nodebug__, __target__("avx512f,gfni"), \
41 __min_vector_width__(512))) constexpr
42/* Default attributes for ZMM masked forms. */
43#define __DEFAULT_FN_ATTRS_Z_MASK \
44 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,gfni"), \
45 __min_vector_width__(512))) constexpr
3846#else
39/* Default attributes for simple form (no masking). */
4047#define __DEFAULT_FN_ATTRS \
4148 __attribute__((__always_inline__, __nodebug__, __target__("gfni"), \
4249 __min_vector_width__(128)))
......@@ -55,18 +62,16 @@
5562 __attribute__((__always_inline__, __nodebug__, \
5663 __target__("avx512bw,avx512vl,gfni"), \
5764 __min_vector_width__(256)))
58#endif
5965
6066/* Default attributes for ZMM unmasked forms. */
6167#define __DEFAULT_FN_ATTRS_Z \
62 __attribute__((__always_inline__, __nodebug__, \
63 __target__("avx512f,evex512,gfni"), \
68 __attribute__((__always_inline__, __nodebug__, __target__("avx512f,gfni"), \
6469 __min_vector_width__(512)))
6570/* Default attributes for ZMM masked forms. */
6671#define __DEFAULT_FN_ATTRS_Z_MASK \
67 __attribute__((__always_inline__, __nodebug__, \
68 __target__("avx512bw,evex512,gfni"), \
72 __attribute__((__always_inline__, __nodebug__, __target__("avx512bw,gfni"), \
6973 __min_vector_width__(512)))
74#endif
7075
7176#define _mm_gf2p8affineinv_epi64_epi8(A, B, I) \
7277 ((__m128i)__builtin_ia32_vgf2p8affineinvqb_v16qi((__v16qi)(__m128i)(A), \
lib/include/hexagon_types.h+23-20
......@@ -11,6 +11,11 @@
1111
1212#include <hexagon_protos.h>
1313
14// Save and undefine B0 to avoid conflicts with POSIX termios.h which
15// defines B0 as a macro for baud rate 0.
16#pragma push_macro("B0")
17#undef B0
18
1419/* Hexagon names */
1520#define HEXAGON_Vect HEXAGON_Vect64
1621#define HEXAGON_V_GET_D HEXAGON_V64_GET_D
......@@ -697,9 +702,8 @@ public:
697702 };
698703
699704 // Extract byte methods
700 signed char B0(void) {
701 return HEXAGON_V64_GET_B0(data);
702 };
705 signed char b0(void) { return HEXAGON_V64_GET_B0(data); };
706 signed char B0(void) { return b0(); };
703707 signed char B1(void) {
704708 return HEXAGON_V64_GET_B1(data);
705709 };
......@@ -776,9 +780,10 @@ public:
776780 };
777781
778782 // Set byte methods
779 HEXAGON_Vect64C B0(signed char b) {
783 HEXAGON_Vect64C b0(signed char b) {
780784 return HEXAGON_Vect64C(HEXAGON_V64_PUT_B0(data, b));
781785 };
786 HEXAGON_Vect64C B0(signed char b) { return b0(b); };
782787 HEXAGON_Vect64C B1(signed char b) {
783788 return HEXAGON_Vect64C(HEXAGON_V64_PUT_B1(data, b));
784789 };
......@@ -1121,9 +1126,8 @@ public:
11211126 };
11221127
11231128 // Extract byte methods
1124 signed char B0(void) {
1125 return HEXAGON_V32_GET_B0(data);
1126 };
1129 signed char b0(void) { return HEXAGON_V32_GET_B0(data); };
1130 signed char B0(void) { return b0(); };
11271131 signed char B1(void) {
11281132 return HEXAGON_V32_GET_B1(data);
11291133 };
......@@ -1162,9 +1166,10 @@ public:
11621166 };
11631167
11641168 // Set byte methods
1165 HEXAGON_Vect32C B0(signed char b) {
1169 HEXAGON_Vect32C b0(signed char b) {
11661170 return HEXAGON_Vect32C(HEXAGON_V32_PUT_B0(data, b));
11671171 };
1172 HEXAGON_Vect32C B0(signed char b) { return b0(b); };
11681173 HEXAGON_Vect32C B1(signed char b) {
11691174 return HEXAGON_Vect32C(HEXAGON_V32_PUT_B1(data, b));
11701175 };
......@@ -1924,9 +1929,8 @@ public:
19241929 };
19251930
19261931 // Extract byte methods
1927 signed char B0(void) {
1928 return Q6V64_GET_B0(data);
1929 };
1932 signed char b0(void) { return Q6V64_GET_B0(data); };
1933 signed char B0(void) { return b0(); };
19301934 signed char B1(void) {
19311935 return Q6V64_GET_B1(data);
19321936 };
......@@ -2003,9 +2007,8 @@ public:
20032007 };
20042008
20052009 // Set byte methods
2006 Q6Vect64C B0(signed char b) {
2007 return Q6Vect64C(Q6V64_PUT_B0(data, b));
2008 };
2010 Q6Vect64C b0(signed char b) { return Q6Vect64C(Q6V64_PUT_B0(data, b)); };
2011 Q6Vect64C B0(signed char b) { return b0(b); };
20092012 Q6Vect64C B1(signed char b) {
20102013 return Q6Vect64C(Q6V64_PUT_B1(data, b));
20112014 };
......@@ -2348,9 +2351,8 @@ public:
23482351 };
23492352
23502353 // Extract byte methods
2351 signed char B0(void) {
2352 return Q6V32_GET_B0(data);
2353 };
2354 signed char b0(void) { return Q6V32_GET_B0(data); };
2355 signed char B0(void) { return b0(); };
23542356 signed char B1(void) {
23552357 return Q6V32_GET_B1(data);
23562358 };
......@@ -2389,9 +2391,8 @@ public:
23892391 };
23902392
23912393 // Set byte methods
2392 Q6Vect32C B0(signed char b) {
2393 return Q6Vect32C(Q6V32_PUT_B0(data, b));
2394 };
2394 Q6Vect32C b0(signed char b) { return Q6Vect32C(Q6V32_PUT_B0(data, b)); };
2395 Q6Vect32C B0(signed char b) { return b0(b); };
23952396 Q6Vect32C B1(signed char b) {
23962397 return Q6Vect32C(Q6V32_PUT_B1(data, b));
23972398 };
......@@ -2622,4 +2623,6 @@ typedef struct hexagon_udma_descriptor_type1_s
26222623 unsigned int dstwidthoffset:16;
26232624} hexagon_udma_descriptor_type1_t;
26242625
2626#pragma pop_macro("B0")
2627
26252628#endif /* !HEXAGON_TYPES_H */
lib/include/hvx_hexagon_protos.h+649-860
......@@ -19,7 +19,6 @@
1919#define __BUILTIN_VECTOR_WRAP(a) a
2020#endif
2121
22#if __HVX_ARCH__ >= 60
2322/* ==========================================================================
2423 Assembly Syntax: Rd32=vextract(Vu32,Rs32)
2524 C Intrinsic Prototype: Word32 Q6_R_vextract_VR(HVX_Vector Vu, Word32 Rs)
......@@ -28,9 +27,7 @@
2827 ========================================================================== */
2928
3029#define Q6_R_vextract_VR(Vu,Rs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_extractw)(Vu,Rs)
31#endif /* __HEXAGON_ARCH___ >= 60 */
3230
33#if __HVX_ARCH__ >= 60
3431/* ==========================================================================
3532 Assembly Syntax: Vd32=hi(Vss32)
3633 C Intrinsic Prototype: HVX_Vector Q6_V_hi_W(HVX_VectorPair Vss)
......@@ -39,9 +36,7 @@
3936 ========================================================================== */
4037
4138#define Q6_V_hi_W(Vss) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_hi)(Vss)
42#endif /* __HEXAGON_ARCH___ >= 60 */
4339
44#if __HVX_ARCH__ >= 60
4540/* ==========================================================================
4641 Assembly Syntax: Vd32=lo(Vss32)
4742 C Intrinsic Prototype: HVX_Vector Q6_V_lo_W(HVX_VectorPair Vss)
......@@ -50,9 +45,7 @@
5045 ========================================================================== */
5146
5247#define Q6_V_lo_W(Vss) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_lo)(Vss)
53#endif /* __HEXAGON_ARCH___ >= 60 */
5448
55#if __HVX_ARCH__ >= 60
5649/* ==========================================================================
5750 Assembly Syntax: Vd32=vsplat(Rt32)
5851 C Intrinsic Prototype: HVX_Vector Q6_V_vsplat_R(Word32 Rt)
......@@ -61,9 +54,7 @@
6154 ========================================================================== */
6255
6356#define Q6_V_vsplat_R(Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_lvsplatw)(Rt)
64#endif /* __HEXAGON_ARCH___ >= 60 */
6557
66#if __HVX_ARCH__ >= 60
6758/* ==========================================================================
6859 Assembly Syntax: Qd4=and(Qs4,Qt4)
6960 C Intrinsic Prototype: HVX_VectorPred Q6_Q_and_QQ(HVX_VectorPred Qs, HVX_VectorPred Qt)
......@@ -72,9 +63,7 @@
7263 ========================================================================== */
7364
7465#define Q6_Q_and_QQ(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
75#endif /* __HEXAGON_ARCH___ >= 60 */
7666
77#if __HVX_ARCH__ >= 60
7867/* ==========================================================================
7968 Assembly Syntax: Qd4=and(Qs4,!Qt4)
8069 C Intrinsic Prototype: HVX_VectorPred Q6_Q_and_QQn(HVX_VectorPred Qs, HVX_VectorPred Qt)
......@@ -83,9 +72,7 @@
8372 ========================================================================== */
8473
8574#define Q6_Q_and_QQn(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_and_n)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
86#endif /* __HEXAGON_ARCH___ >= 60 */
8775
88#if __HVX_ARCH__ >= 60
8976/* ==========================================================================
9077 Assembly Syntax: Qd4=not(Qs4)
9178 C Intrinsic Prototype: HVX_VectorPred Q6_Q_not_Q(HVX_VectorPred Qs)
......@@ -94,9 +81,7 @@
9481 ========================================================================== */
9582
9683#define Q6_Q_not_Q(Qs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_not)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1))),-1)
97#endif /* __HEXAGON_ARCH___ >= 60 */
9884
99#if __HVX_ARCH__ >= 60
10085/* ==========================================================================
10186 Assembly Syntax: Qd4=or(Qs4,Qt4)
10287 C Intrinsic Prototype: HVX_VectorPred Q6_Q_or_QQ(HVX_VectorPred Qs, HVX_VectorPred Qt)
......@@ -105,9 +90,7 @@
10590 ========================================================================== */
10691
10792#define Q6_Q_or_QQ(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
108#endif /* __HEXAGON_ARCH___ >= 60 */
10993
110#if __HVX_ARCH__ >= 60
11194/* ==========================================================================
11295 Assembly Syntax: Qd4=or(Qs4,!Qt4)
11396 C Intrinsic Prototype: HVX_VectorPred Q6_Q_or_QQn(HVX_VectorPred Qs, HVX_VectorPred Qt)
......@@ -116,9 +99,7 @@
11699 ========================================================================== */
117100
118101#define Q6_Q_or_QQn(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_or_n)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
119#endif /* __HEXAGON_ARCH___ >= 60 */
120102
121#if __HVX_ARCH__ >= 60
122103/* ==========================================================================
123104 Assembly Syntax: Qd4=vsetq(Rt32)
124105 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vsetq_R(Word32 Rt)
......@@ -127,9 +108,7 @@
127108 ========================================================================== */
128109
129110#define Q6_Q_vsetq_R(Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_scalar2)(Rt)),-1)
130#endif /* __HEXAGON_ARCH___ >= 60 */
131111
132#if __HVX_ARCH__ >= 60
133112/* ==========================================================================
134113 Assembly Syntax: Qd4=xor(Qs4,Qt4)
135114 C Intrinsic Prototype: HVX_VectorPred Q6_Q_xor_QQ(HVX_VectorPred Qs, HVX_VectorPred Qt)
......@@ -138,9 +117,7 @@
138117 ========================================================================== */
139118
140119#define Q6_Q_xor_QQ(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
141#endif /* __HEXAGON_ARCH___ >= 60 */
142120
143#if __HVX_ARCH__ >= 60
144121/* ==========================================================================
145122 Assembly Syntax: if (!Qv4) vmem(Rt32+#s4)=Vs32
146123 C Intrinsic Prototype: void Q6_vmem_QnRIV(HVX_VectorPred Qv, HVX_Vector* Rt, HVX_Vector Vs)
......@@ -149,9 +126,7 @@
149126 ========================================================================== */
150127
151128#define Q6_vmem_QnRIV(Qv,Rt,Vs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vS32b_nqpred_ai)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Rt,Vs)
152#endif /* __HEXAGON_ARCH___ >= 60 */
153129
154#if __HVX_ARCH__ >= 60
155130/* ==========================================================================
156131 Assembly Syntax: if (!Qv4) vmem(Rt32+#s4):nt=Vs32
157132 C Intrinsic Prototype: void Q6_vmem_QnRIV_nt(HVX_VectorPred Qv, HVX_Vector* Rt, HVX_Vector Vs)
......@@ -160,9 +135,7 @@
160135 ========================================================================== */
161136
162137#define Q6_vmem_QnRIV_nt(Qv,Rt,Vs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vS32b_nt_nqpred_ai)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Rt,Vs)
163#endif /* __HEXAGON_ARCH___ >= 60 */
164138
165#if __HVX_ARCH__ >= 60
166139/* ==========================================================================
167140 Assembly Syntax: if (Qv4) vmem(Rt32+#s4):nt=Vs32
168141 C Intrinsic Prototype: void Q6_vmem_QRIV_nt(HVX_VectorPred Qv, HVX_Vector* Rt, HVX_Vector Vs)
......@@ -171,9 +144,7 @@
171144 ========================================================================== */
172145
173146#define Q6_vmem_QRIV_nt(Qv,Rt,Vs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vS32b_nt_qpred_ai)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Rt,Vs)
174#endif /* __HEXAGON_ARCH___ >= 60 */
175147
176#if __HVX_ARCH__ >= 60
177148/* ==========================================================================
178149 Assembly Syntax: if (Qv4) vmem(Rt32+#s4)=Vs32
179150 C Intrinsic Prototype: void Q6_vmem_QRIV(HVX_VectorPred Qv, HVX_Vector* Rt, HVX_Vector Vs)
......@@ -182,9 +153,7 @@
182153 ========================================================================== */
183154
184155#define Q6_vmem_QRIV(Qv,Rt,Vs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vS32b_qpred_ai)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Rt,Vs)
185#endif /* __HEXAGON_ARCH___ >= 60 */
186156
187#if __HVX_ARCH__ >= 60
188157/* ==========================================================================
189158 Assembly Syntax: Vd32.uh=vabsdiff(Vu32.h,Vv32.h)
190159 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vabsdiff_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -193,9 +162,7 @@
193162 ========================================================================== */
194163
195164#define Q6_Vuh_vabsdiff_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsdiffh)(Vu,Vv)
196#endif /* __HEXAGON_ARCH___ >= 60 */
197165
198#if __HVX_ARCH__ >= 60
199166/* ==========================================================================
200167 Assembly Syntax: Vd32.ub=vabsdiff(Vu32.ub,Vv32.ub)
201168 C Intrinsic Prototype: HVX_Vector Q6_Vub_vabsdiff_VubVub(HVX_Vector Vu, HVX_Vector Vv)
......@@ -204,9 +171,7 @@
204171 ========================================================================== */
205172
206173#define Q6_Vub_vabsdiff_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsdiffub)(Vu,Vv)
207#endif /* __HEXAGON_ARCH___ >= 60 */
208174
209#if __HVX_ARCH__ >= 60
210175/* ==========================================================================
211176 Assembly Syntax: Vd32.uh=vabsdiff(Vu32.uh,Vv32.uh)
212177 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vabsdiff_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -215,9 +180,7 @@
215180 ========================================================================== */
216181
217182#define Q6_Vuh_vabsdiff_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsdiffuh)(Vu,Vv)
218#endif /* __HEXAGON_ARCH___ >= 60 */
219183
220#if __HVX_ARCH__ >= 60
221184/* ==========================================================================
222185 Assembly Syntax: Vd32.uw=vabsdiff(Vu32.w,Vv32.w)
223186 C Intrinsic Prototype: HVX_Vector Q6_Vuw_vabsdiff_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -226,9 +189,7 @@
226189 ========================================================================== */
227190
228191#define Q6_Vuw_vabsdiff_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsdiffw)(Vu,Vv)
229#endif /* __HEXAGON_ARCH___ >= 60 */
230192
231#if __HVX_ARCH__ >= 60
232193/* ==========================================================================
233194 Assembly Syntax: Vd32.h=vabs(Vu32.h)
234195 C Intrinsic Prototype: HVX_Vector Q6_Vh_vabs_Vh(HVX_Vector Vu)
......@@ -237,9 +198,7 @@
237198 ========================================================================== */
238199
239200#define Q6_Vh_vabs_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsh)(Vu)
240#endif /* __HEXAGON_ARCH___ >= 60 */
241201
242#if __HVX_ARCH__ >= 60
243202/* ==========================================================================
244203 Assembly Syntax: Vd32.h=vabs(Vu32.h):sat
245204 C Intrinsic Prototype: HVX_Vector Q6_Vh_vabs_Vh_sat(HVX_Vector Vu)
......@@ -248,9 +207,7 @@
248207 ========================================================================== */
249208
250209#define Q6_Vh_vabs_Vh_sat(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsh_sat)(Vu)
251#endif /* __HEXAGON_ARCH___ >= 60 */
252210
253#if __HVX_ARCH__ >= 60
254211/* ==========================================================================
255212 Assembly Syntax: Vd32.w=vabs(Vu32.w)
256213 C Intrinsic Prototype: HVX_Vector Q6_Vw_vabs_Vw(HVX_Vector Vu)
......@@ -259,9 +216,7 @@
259216 ========================================================================== */
260217
261218#define Q6_Vw_vabs_Vw(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsw)(Vu)
262#endif /* __HEXAGON_ARCH___ >= 60 */
263219
264#if __HVX_ARCH__ >= 60
265220/* ==========================================================================
266221 Assembly Syntax: Vd32.w=vabs(Vu32.w):sat
267222 C Intrinsic Prototype: HVX_Vector Q6_Vw_vabs_Vw_sat(HVX_Vector Vu)
......@@ -270,9 +225,7 @@
270225 ========================================================================== */
271226
272227#define Q6_Vw_vabs_Vw_sat(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsw_sat)(Vu)
273#endif /* __HEXAGON_ARCH___ >= 60 */
274228
275#if __HVX_ARCH__ >= 60
276229/* ==========================================================================
277230 Assembly Syntax: Vd32.b=vadd(Vu32.b,Vv32.b)
278231 C Intrinsic Prototype: HVX_Vector Q6_Vb_vadd_VbVb(HVX_Vector Vu, HVX_Vector Vv)
......@@ -281,9 +234,7 @@
281234 ========================================================================== */
282235
283236#define Q6_Vb_vadd_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddb)(Vu,Vv)
284#endif /* __HEXAGON_ARCH___ >= 60 */
285237
286#if __HVX_ARCH__ >= 60
287238/* ==========================================================================
288239 Assembly Syntax: Vdd32.b=vadd(Vuu32.b,Vvv32.b)
289240 C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vadd_WbWb(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -292,9 +243,7 @@
292243 ========================================================================== */
293244
294245#define Q6_Wb_vadd_WbWb(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddb_dv)(Vuu,Vvv)
295#endif /* __HEXAGON_ARCH___ >= 60 */
296246
297#if __HVX_ARCH__ >= 60
298247/* ==========================================================================
299248 Assembly Syntax: if (!Qv4) Vx32.b+=Vu32.b
300249 C Intrinsic Prototype: HVX_Vector Q6_Vb_condacc_QnVbVb(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
......@@ -303,9 +252,7 @@
303252 ========================================================================== */
304253
305254#define Q6_Vb_condacc_QnVbVb(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddbnq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
306#endif /* __HEXAGON_ARCH___ >= 60 */
307255
308#if __HVX_ARCH__ >= 60
309256/* ==========================================================================
310257 Assembly Syntax: if (Qv4) Vx32.b+=Vu32.b
311258 C Intrinsic Prototype: HVX_Vector Q6_Vb_condacc_QVbVb(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
......@@ -314,9 +261,7 @@
314261 ========================================================================== */
315262
316263#define Q6_Vb_condacc_QVbVb(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddbq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
317#endif /* __HEXAGON_ARCH___ >= 60 */
318264
319#if __HVX_ARCH__ >= 60
320265/* ==========================================================================
321266 Assembly Syntax: Vd32.h=vadd(Vu32.h,Vv32.h)
322267 C Intrinsic Prototype: HVX_Vector Q6_Vh_vadd_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -325,9 +270,7 @@
325270 ========================================================================== */
326271
327272#define Q6_Vh_vadd_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddh)(Vu,Vv)
328#endif /* __HEXAGON_ARCH___ >= 60 */
329273
330#if __HVX_ARCH__ >= 60
331274/* ==========================================================================
332275 Assembly Syntax: Vdd32.h=vadd(Vuu32.h,Vvv32.h)
333276 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vadd_WhWh(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -336,9 +279,7 @@
336279 ========================================================================== */
337280
338281#define Q6_Wh_vadd_WhWh(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddh_dv)(Vuu,Vvv)
339#endif /* __HEXAGON_ARCH___ >= 60 */
340282
341#if __HVX_ARCH__ >= 60
342283/* ==========================================================================
343284 Assembly Syntax: if (!Qv4) Vx32.h+=Vu32.h
344285 C Intrinsic Prototype: HVX_Vector Q6_Vh_condacc_QnVhVh(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
......@@ -347,9 +288,7 @@
347288 ========================================================================== */
348289
349290#define Q6_Vh_condacc_QnVhVh(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhnq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
350#endif /* __HEXAGON_ARCH___ >= 60 */
351291
352#if __HVX_ARCH__ >= 60
353292/* ==========================================================================
354293 Assembly Syntax: if (Qv4) Vx32.h+=Vu32.h
355294 C Intrinsic Prototype: HVX_Vector Q6_Vh_condacc_QVhVh(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
......@@ -358,9 +297,7 @@
358297 ========================================================================== */
359298
360299#define Q6_Vh_condacc_QVhVh(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
361#endif /* __HEXAGON_ARCH___ >= 60 */
362300
363#if __HVX_ARCH__ >= 60
364301/* ==========================================================================
365302 Assembly Syntax: Vd32.h=vadd(Vu32.h,Vv32.h):sat
366303 C Intrinsic Prototype: HVX_Vector Q6_Vh_vadd_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -369,9 +306,7 @@
369306 ========================================================================== */
370307
371308#define Q6_Vh_vadd_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhsat)(Vu,Vv)
372#endif /* __HEXAGON_ARCH___ >= 60 */
373309
374#if __HVX_ARCH__ >= 60
375310/* ==========================================================================
376311 Assembly Syntax: Vdd32.h=vadd(Vuu32.h,Vvv32.h):sat
377312 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vadd_WhWh_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -380,9 +315,7 @@
380315 ========================================================================== */
381316
382317#define Q6_Wh_vadd_WhWh_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhsat_dv)(Vuu,Vvv)
383#endif /* __HEXAGON_ARCH___ >= 60 */
384318
385#if __HVX_ARCH__ >= 60
386319/* ==========================================================================
387320 Assembly Syntax: Vdd32.w=vadd(Vu32.h,Vv32.h)
388321 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vadd_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -391,9 +324,7 @@
391324 ========================================================================== */
392325
393326#define Q6_Ww_vadd_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhw)(Vu,Vv)
394#endif /* __HEXAGON_ARCH___ >= 60 */
395327
396#if __HVX_ARCH__ >= 60
397328/* ==========================================================================
398329 Assembly Syntax: Vdd32.h=vadd(Vu32.ub,Vv32.ub)
399330 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vadd_VubVub(HVX_Vector Vu, HVX_Vector Vv)
......@@ -402,9 +333,7 @@
402333 ========================================================================== */
403334
404335#define Q6_Wh_vadd_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddubh)(Vu,Vv)
405#endif /* __HEXAGON_ARCH___ >= 60 */
406336
407#if __HVX_ARCH__ >= 60
408337/* ==========================================================================
409338 Assembly Syntax: Vd32.ub=vadd(Vu32.ub,Vv32.ub):sat
410339 C Intrinsic Prototype: HVX_Vector Q6_Vub_vadd_VubVub_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -413,9 +342,7 @@
413342 ========================================================================== */
414343
415344#define Q6_Vub_vadd_VubVub_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddubsat)(Vu,Vv)
416#endif /* __HEXAGON_ARCH___ >= 60 */
417345
418#if __HVX_ARCH__ >= 60
419346/* ==========================================================================
420347 Assembly Syntax: Vdd32.ub=vadd(Vuu32.ub,Vvv32.ub):sat
421348 C Intrinsic Prototype: HVX_VectorPair Q6_Wub_vadd_WubWub_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -424,9 +351,7 @@
424351 ========================================================================== */
425352
426353#define Q6_Wub_vadd_WubWub_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddubsat_dv)(Vuu,Vvv)
427#endif /* __HEXAGON_ARCH___ >= 60 */
428354
429#if __HVX_ARCH__ >= 60
430355/* ==========================================================================
431356 Assembly Syntax: Vd32.uh=vadd(Vu32.uh,Vv32.uh):sat
432357 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vadd_VuhVuh_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -435,9 +360,7 @@
435360 ========================================================================== */
436361
437362#define Q6_Vuh_vadd_VuhVuh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduhsat)(Vu,Vv)
438#endif /* __HEXAGON_ARCH___ >= 60 */
439363
440#if __HVX_ARCH__ >= 60
441364/* ==========================================================================
442365 Assembly Syntax: Vdd32.uh=vadd(Vuu32.uh,Vvv32.uh):sat
443366 C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vadd_WuhWuh_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -446,9 +369,7 @@
446369 ========================================================================== */
447370
448371#define Q6_Wuh_vadd_WuhWuh_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduhsat_dv)(Vuu,Vvv)
449#endif /* __HEXAGON_ARCH___ >= 60 */
450372
451#if __HVX_ARCH__ >= 60
452373/* ==========================================================================
453374 Assembly Syntax: Vdd32.w=vadd(Vu32.uh,Vv32.uh)
454375 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vadd_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -457,9 +378,7 @@
457378 ========================================================================== */
458379
459380#define Q6_Ww_vadd_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduhw)(Vu,Vv)
460#endif /* __HEXAGON_ARCH___ >= 60 */
461381
462#if __HVX_ARCH__ >= 60
463382/* ==========================================================================
464383 Assembly Syntax: Vd32.w=vadd(Vu32.w,Vv32.w)
465384 C Intrinsic Prototype: HVX_Vector Q6_Vw_vadd_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -468,9 +387,7 @@
468387 ========================================================================== */
469388
470389#define Q6_Vw_vadd_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddw)(Vu,Vv)
471#endif /* __HEXAGON_ARCH___ >= 60 */
472390
473#if __HVX_ARCH__ >= 60
474391/* ==========================================================================
475392 Assembly Syntax: Vdd32.w=vadd(Vuu32.w,Vvv32.w)
476393 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vadd_WwWw(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -479,9 +396,7 @@
479396 ========================================================================== */
480397
481398#define Q6_Ww_vadd_WwWw(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddw_dv)(Vuu,Vvv)
482#endif /* __HEXAGON_ARCH___ >= 60 */
483399
484#if __HVX_ARCH__ >= 60
485400/* ==========================================================================
486401 Assembly Syntax: if (!Qv4) Vx32.w+=Vu32.w
487402 C Intrinsic Prototype: HVX_Vector Q6_Vw_condacc_QnVwVw(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
......@@ -490,9 +405,7 @@
490405 ========================================================================== */
491406
492407#define Q6_Vw_condacc_QnVwVw(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddwnq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
493#endif /* __HEXAGON_ARCH___ >= 60 */
494408
495#if __HVX_ARCH__ >= 60
496409/* ==========================================================================
497410 Assembly Syntax: if (Qv4) Vx32.w+=Vu32.w
498411 C Intrinsic Prototype: HVX_Vector Q6_Vw_condacc_QVwVw(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
......@@ -501,9 +414,7 @@
501414 ========================================================================== */
502415
503416#define Q6_Vw_condacc_QVwVw(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddwq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
504#endif /* __HEXAGON_ARCH___ >= 60 */
505417
506#if __HVX_ARCH__ >= 60
507418/* ==========================================================================
508419 Assembly Syntax: Vd32.w=vadd(Vu32.w,Vv32.w):sat
509420 C Intrinsic Prototype: HVX_Vector Q6_Vw_vadd_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -512,9 +423,7 @@
512423 ========================================================================== */
513424
514425#define Q6_Vw_vadd_VwVw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddwsat)(Vu,Vv)
515#endif /* __HEXAGON_ARCH___ >= 60 */
516426
517#if __HVX_ARCH__ >= 60
518427/* ==========================================================================
519428 Assembly Syntax: Vdd32.w=vadd(Vuu32.w,Vvv32.w):sat
520429 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vadd_WwWw_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -523,9 +432,7 @@
523432 ========================================================================== */
524433
525434#define Q6_Ww_vadd_WwWw_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddwsat_dv)(Vuu,Vvv)
526#endif /* __HEXAGON_ARCH___ >= 60 */
527435
528#if __HVX_ARCH__ >= 60
529436/* ==========================================================================
530437 Assembly Syntax: Vd32=valign(Vu32,Vv32,Rt8)
531438 C Intrinsic Prototype: HVX_Vector Q6_V_valign_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -534,9 +441,7 @@
534441 ========================================================================== */
535442
536443#define Q6_V_valign_VVR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_valignb)(Vu,Vv,Rt)
537#endif /* __HEXAGON_ARCH___ >= 60 */
538444
539#if __HVX_ARCH__ >= 60
540445/* ==========================================================================
541446 Assembly Syntax: Vd32=valign(Vu32,Vv32,#u3)
542447 C Intrinsic Prototype: HVX_Vector Q6_V_valign_VVI(HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
......@@ -545,9 +450,7 @@
545450 ========================================================================== */
546451
547452#define Q6_V_valign_VVI(Vu,Vv,Iu3) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_valignbi)(Vu,Vv,Iu3)
548#endif /* __HEXAGON_ARCH___ >= 60 */
549453
550#if __HVX_ARCH__ >= 60
551454/* ==========================================================================
552455 Assembly Syntax: Vd32=vand(Vu32,Vv32)
553456 C Intrinsic Prototype: HVX_Vector Q6_V_vand_VV(HVX_Vector Vu, HVX_Vector Vv)
......@@ -556,9 +459,7 @@
556459 ========================================================================== */
557460
558461#define Q6_V_vand_VV(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vand)(Vu,Vv)
559#endif /* __HEXAGON_ARCH___ >= 60 */
560462
561#if __HVX_ARCH__ >= 60
562463/* ==========================================================================
563464 Assembly Syntax: Vd32=vand(Qu4,Rt32)
564465 C Intrinsic Prototype: HVX_Vector Q6_V_vand_QR(HVX_VectorPred Qu, Word32 Rt)
......@@ -567,9 +468,7 @@
567468 ========================================================================== */
568469
569470#define Q6_V_vand_QR(Qu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qu),-1),Rt)
570#endif /* __HEXAGON_ARCH___ >= 60 */
571471
572#if __HVX_ARCH__ >= 60
573472/* ==========================================================================
574473 Assembly Syntax: Vx32|=vand(Qu4,Rt32)
575474 C Intrinsic Prototype: HVX_Vector Q6_V_vandor_VQR(HVX_Vector Vx, HVX_VectorPred Qu, Word32 Rt)
......@@ -578,9 +477,7 @@
578477 ========================================================================== */
579478
580479#define Q6_V_vandor_VQR(Vx,Qu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt_acc)(Vx,__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qu),-1),Rt)
581#endif /* __HEXAGON_ARCH___ >= 60 */
582480
583#if __HVX_ARCH__ >= 60
584481/* ==========================================================================
585482 Assembly Syntax: Qd4=vand(Vu32,Rt32)
586483 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vand_VR(HVX_Vector Vu, Word32 Rt)
......@@ -589,9 +486,7 @@
589486 ========================================================================== */
590487
591488#define Q6_Q_vand_VR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)(Vu,Rt)),-1)
592#endif /* __HEXAGON_ARCH___ >= 60 */
593489
594#if __HVX_ARCH__ >= 60
595490/* ==========================================================================
596491 Assembly Syntax: Qx4|=vand(Vu32,Rt32)
597492 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vandor_QVR(HVX_VectorPred Qx, HVX_Vector Vu, Word32 Rt)
......@@ -600,9 +495,7 @@
600495 ========================================================================== */
601496
602497#define Q6_Q_vandor_QVR(Qx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt_acc)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Rt)),-1)
603#endif /* __HEXAGON_ARCH___ >= 60 */
604498
605#if __HVX_ARCH__ >= 60
606499/* ==========================================================================
607500 Assembly Syntax: Vd32.h=vasl(Vu32.h,Rt32)
608501 C Intrinsic Prototype: HVX_Vector Q6_Vh_vasl_VhR(HVX_Vector Vu, Word32 Rt)
......@@ -611,9 +504,7 @@
611504 ========================================================================== */
612505
613506#define Q6_Vh_vasl_VhR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslh)(Vu,Rt)
614#endif /* __HEXAGON_ARCH___ >= 60 */
615507
616#if __HVX_ARCH__ >= 60
617508/* ==========================================================================
618509 Assembly Syntax: Vd32.h=vasl(Vu32.h,Vv32.h)
619510 C Intrinsic Prototype: HVX_Vector Q6_Vh_vasl_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -622,9 +513,7 @@
622513 ========================================================================== */
623514
624515#define Q6_Vh_vasl_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslhv)(Vu,Vv)
625#endif /* __HEXAGON_ARCH___ >= 60 */
626516
627#if __HVX_ARCH__ >= 60
628517/* ==========================================================================
629518 Assembly Syntax: Vd32.w=vasl(Vu32.w,Rt32)
630519 C Intrinsic Prototype: HVX_Vector Q6_Vw_vasl_VwR(HVX_Vector Vu, Word32 Rt)
......@@ -633,9 +522,7 @@
633522 ========================================================================== */
634523
635524#define Q6_Vw_vasl_VwR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslw)(Vu,Rt)
636#endif /* __HEXAGON_ARCH___ >= 60 */
637525
638#if __HVX_ARCH__ >= 60
639526/* ==========================================================================
640527 Assembly Syntax: Vx32.w+=vasl(Vu32.w,Rt32)
641528 C Intrinsic Prototype: HVX_Vector Q6_Vw_vaslacc_VwVwR(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
......@@ -644,9 +531,7 @@
644531 ========================================================================== */
645532
646533#define Q6_Vw_vaslacc_VwVwR(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslw_acc)(Vx,Vu,Rt)
647#endif /* __HEXAGON_ARCH___ >= 60 */
648534
649#if __HVX_ARCH__ >= 60
650535/* ==========================================================================
651536 Assembly Syntax: Vd32.w=vasl(Vu32.w,Vv32.w)
652537 C Intrinsic Prototype: HVX_Vector Q6_Vw_vasl_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -655,9 +540,7 @@
655540 ========================================================================== */
656541
657542#define Q6_Vw_vasl_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslwv)(Vu,Vv)
658#endif /* __HEXAGON_ARCH___ >= 60 */
659543
660#if __HVX_ARCH__ >= 60
661544/* ==========================================================================
662545 Assembly Syntax: Vd32.h=vasr(Vu32.h,Rt32)
663546 C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VhR(HVX_Vector Vu, Word32 Rt)
......@@ -666,9 +549,7 @@
666549 ========================================================================== */
667550
668551#define Q6_Vh_vasr_VhR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrh)(Vu,Rt)
669#endif /* __HEXAGON_ARCH___ >= 60 */
670552
671#if __HVX_ARCH__ >= 60
672553/* ==========================================================================
673554 Assembly Syntax: Vd32.b=vasr(Vu32.h,Vv32.h,Rt8):rnd:sat
674555 C Intrinsic Prototype: HVX_Vector Q6_Vb_vasr_VhVhR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -677,9 +558,7 @@
677558 ========================================================================== */
678559
679560#define Q6_Vb_vasr_VhVhR_rnd_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhbrndsat)(Vu,Vv,Rt)
680#endif /* __HEXAGON_ARCH___ >= 60 */
681561
682#if __HVX_ARCH__ >= 60
683562/* ==========================================================================
684563 Assembly Syntax: Vd32.ub=vasr(Vu32.h,Vv32.h,Rt8):rnd:sat
685564 C Intrinsic Prototype: HVX_Vector Q6_Vub_vasr_VhVhR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -688,9 +567,7 @@
688567 ========================================================================== */
689568
690569#define Q6_Vub_vasr_VhVhR_rnd_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhubrndsat)(Vu,Vv,Rt)
691#endif /* __HEXAGON_ARCH___ >= 60 */
692570
693#if __HVX_ARCH__ >= 60
694571/* ==========================================================================
695572 Assembly Syntax: Vd32.ub=vasr(Vu32.h,Vv32.h,Rt8):sat
696573 C Intrinsic Prototype: HVX_Vector Q6_Vub_vasr_VhVhR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -699,9 +576,7 @@
699576 ========================================================================== */
700577
701578#define Q6_Vub_vasr_VhVhR_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhubsat)(Vu,Vv,Rt)
702#endif /* __HEXAGON_ARCH___ >= 60 */
703579
704#if __HVX_ARCH__ >= 60
705580/* ==========================================================================
706581 Assembly Syntax: Vd32.h=vasr(Vu32.h,Vv32.h)
707582 C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -710,9 +585,7 @@
710585 ========================================================================== */
711586
712587#define Q6_Vh_vasr_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhv)(Vu,Vv)
713#endif /* __HEXAGON_ARCH___ >= 60 */
714588
715#if __HVX_ARCH__ >= 60
716589/* ==========================================================================
717590 Assembly Syntax: Vd32.w=vasr(Vu32.w,Rt32)
718591 C Intrinsic Prototype: HVX_Vector Q6_Vw_vasr_VwR(HVX_Vector Vu, Word32 Rt)
......@@ -721,9 +594,7 @@
721594 ========================================================================== */
722595
723596#define Q6_Vw_vasr_VwR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrw)(Vu,Rt)
724#endif /* __HEXAGON_ARCH___ >= 60 */
725597
726#if __HVX_ARCH__ >= 60
727598/* ==========================================================================
728599 Assembly Syntax: Vx32.w+=vasr(Vu32.w,Rt32)
729600 C Intrinsic Prototype: HVX_Vector Q6_Vw_vasracc_VwVwR(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
......@@ -732,9 +603,7 @@
732603 ========================================================================== */
733604
734605#define Q6_Vw_vasracc_VwVwR(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrw_acc)(Vx,Vu,Rt)
735#endif /* __HEXAGON_ARCH___ >= 60 */
736606
737#if __HVX_ARCH__ >= 60
738607/* ==========================================================================
739608 Assembly Syntax: Vd32.h=vasr(Vu32.w,Vv32.w,Rt8)
740609 C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VwVwR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -743,9 +612,7 @@
743612 ========================================================================== */
744613
745614#define Q6_Vh_vasr_VwVwR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwh)(Vu,Vv,Rt)
746#endif /* __HEXAGON_ARCH___ >= 60 */
747615
748#if __HVX_ARCH__ >= 60
749616/* ==========================================================================
750617 Assembly Syntax: Vd32.h=vasr(Vu32.w,Vv32.w,Rt8):rnd:sat
751618 C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VwVwR_rnd_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -754,9 +621,7 @@
754621 ========================================================================== */
755622
756623#define Q6_Vh_vasr_VwVwR_rnd_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwhrndsat)(Vu,Vv,Rt)
757#endif /* __HEXAGON_ARCH___ >= 60 */
758624
759#if __HVX_ARCH__ >= 60
760625/* ==========================================================================
761626 Assembly Syntax: Vd32.h=vasr(Vu32.w,Vv32.w,Rt8):sat
762627 C Intrinsic Prototype: HVX_Vector Q6_Vh_vasr_VwVwR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -765,9 +630,7 @@
765630 ========================================================================== */
766631
767632#define Q6_Vh_vasr_VwVwR_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwhsat)(Vu,Vv,Rt)
768#endif /* __HEXAGON_ARCH___ >= 60 */
769633
770#if __HVX_ARCH__ >= 60
771634/* ==========================================================================
772635 Assembly Syntax: Vd32.uh=vasr(Vu32.w,Vv32.w,Rt8):sat
773636 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vasr_VwVwR_sat(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -776,9 +639,7 @@
776639 ========================================================================== */
777640
778641#define Q6_Vuh_vasr_VwVwR_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwuhsat)(Vu,Vv,Rt)
779#endif /* __HEXAGON_ARCH___ >= 60 */
780642
781#if __HVX_ARCH__ >= 60
782643/* ==========================================================================
783644 Assembly Syntax: Vd32.w=vasr(Vu32.w,Vv32.w)
784645 C Intrinsic Prototype: HVX_Vector Q6_Vw_vasr_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -787,9 +648,7 @@
787648 ========================================================================== */
788649
789650#define Q6_Vw_vasr_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwv)(Vu,Vv)
790#endif /* __HEXAGON_ARCH___ >= 60 */
791651
792#if __HVX_ARCH__ >= 60
793652/* ==========================================================================
794653 Assembly Syntax: Vd32=Vu32
795654 C Intrinsic Prototype: HVX_Vector Q6_V_equals_V(HVX_Vector Vu)
......@@ -798,9 +657,7 @@
798657 ========================================================================== */
799658
800659#define Q6_V_equals_V(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vassign)(Vu)
801#endif /* __HEXAGON_ARCH___ >= 60 */
802660
803#if __HVX_ARCH__ >= 60
804661/* ==========================================================================
805662 Assembly Syntax: Vdd32=Vuu32
806663 C Intrinsic Prototype: HVX_VectorPair Q6_W_equals_W(HVX_VectorPair Vuu)
......@@ -809,9 +666,7 @@
809666 ========================================================================== */
810667
811668#define Q6_W_equals_W(Vuu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vassignp)(Vuu)
812#endif /* __HEXAGON_ARCH___ >= 60 */
813669
814#if __HVX_ARCH__ >= 60
815670/* ==========================================================================
816671 Assembly Syntax: Vd32.h=vavg(Vu32.h,Vv32.h)
817672 C Intrinsic Prototype: HVX_Vector Q6_Vh_vavg_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -820,9 +675,7 @@
820675 ========================================================================== */
821676
822677#define Q6_Vh_vavg_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgh)(Vu,Vv)
823#endif /* __HEXAGON_ARCH___ >= 60 */
824678
825#if __HVX_ARCH__ >= 60
826679/* ==========================================================================
827680 Assembly Syntax: Vd32.h=vavg(Vu32.h,Vv32.h):rnd
828681 C Intrinsic Prototype: HVX_Vector Q6_Vh_vavg_VhVh_rnd(HVX_Vector Vu, HVX_Vector Vv)
......@@ -831,9 +684,7 @@
831684 ========================================================================== */
832685
833686#define Q6_Vh_vavg_VhVh_rnd(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavghrnd)(Vu,Vv)
834#endif /* __HEXAGON_ARCH___ >= 60 */
835687
836#if __HVX_ARCH__ >= 60
837688/* ==========================================================================
838689 Assembly Syntax: Vd32.ub=vavg(Vu32.ub,Vv32.ub)
839690 C Intrinsic Prototype: HVX_Vector Q6_Vub_vavg_VubVub(HVX_Vector Vu, HVX_Vector Vv)
......@@ -842,9 +693,7 @@
842693 ========================================================================== */
843694
844695#define Q6_Vub_vavg_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgub)(Vu,Vv)
845#endif /* __HEXAGON_ARCH___ >= 60 */
846696
847#if __HVX_ARCH__ >= 60
848697/* ==========================================================================
849698 Assembly Syntax: Vd32.ub=vavg(Vu32.ub,Vv32.ub):rnd
850699 C Intrinsic Prototype: HVX_Vector Q6_Vub_vavg_VubVub_rnd(HVX_Vector Vu, HVX_Vector Vv)
......@@ -853,9 +702,7 @@
853702 ========================================================================== */
854703
855704#define Q6_Vub_vavg_VubVub_rnd(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgubrnd)(Vu,Vv)
856#endif /* __HEXAGON_ARCH___ >= 60 */
857705
858#if __HVX_ARCH__ >= 60
859706/* ==========================================================================
860707 Assembly Syntax: Vd32.uh=vavg(Vu32.uh,Vv32.uh)
861708 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vavg_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -864,9 +711,7 @@
864711 ========================================================================== */
865712
866713#define Q6_Vuh_vavg_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavguh)(Vu,Vv)
867#endif /* __HEXAGON_ARCH___ >= 60 */
868714
869#if __HVX_ARCH__ >= 60
870715/* ==========================================================================
871716 Assembly Syntax: Vd32.uh=vavg(Vu32.uh,Vv32.uh):rnd
872717 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vavg_VuhVuh_rnd(HVX_Vector Vu, HVX_Vector Vv)
......@@ -875,9 +720,7 @@
875720 ========================================================================== */
876721
877722#define Q6_Vuh_vavg_VuhVuh_rnd(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavguhrnd)(Vu,Vv)
878#endif /* __HEXAGON_ARCH___ >= 60 */
879723
880#if __HVX_ARCH__ >= 60
881724/* ==========================================================================
882725 Assembly Syntax: Vd32.w=vavg(Vu32.w,Vv32.w)
883726 C Intrinsic Prototype: HVX_Vector Q6_Vw_vavg_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -886,9 +729,7 @@
886729 ========================================================================== */
887730
888731#define Q6_Vw_vavg_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgw)(Vu,Vv)
889#endif /* __HEXAGON_ARCH___ >= 60 */
890732
891#if __HVX_ARCH__ >= 60
892733/* ==========================================================================
893734 Assembly Syntax: Vd32.w=vavg(Vu32.w,Vv32.w):rnd
894735 C Intrinsic Prototype: HVX_Vector Q6_Vw_vavg_VwVw_rnd(HVX_Vector Vu, HVX_Vector Vv)
......@@ -897,9 +738,7 @@
897738 ========================================================================== */
898739
899740#define Q6_Vw_vavg_VwVw_rnd(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgwrnd)(Vu,Vv)
900#endif /* __HEXAGON_ARCH___ >= 60 */
901741
902#if __HVX_ARCH__ >= 60
903742/* ==========================================================================
904743 Assembly Syntax: Vd32.uh=vcl0(Vu32.uh)
905744 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vcl0_Vuh(HVX_Vector Vu)
......@@ -908,9 +747,7 @@
908747 ========================================================================== */
909748
910749#define Q6_Vuh_vcl0_Vuh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcl0h)(Vu)
911#endif /* __HEXAGON_ARCH___ >= 60 */
912750
913#if __HVX_ARCH__ >= 60
914751/* ==========================================================================
915752 Assembly Syntax: Vd32.uw=vcl0(Vu32.uw)
916753 C Intrinsic Prototype: HVX_Vector Q6_Vuw_vcl0_Vuw(HVX_Vector Vu)
......@@ -919,9 +756,7 @@
919756 ========================================================================== */
920757
921758#define Q6_Vuw_vcl0_Vuw(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcl0w)(Vu)
922#endif /* __HEXAGON_ARCH___ >= 60 */
923759
924#if __HVX_ARCH__ >= 60
925760/* ==========================================================================
926761 Assembly Syntax: Vdd32=vcombine(Vu32,Vv32)
927762 C Intrinsic Prototype: HVX_VectorPair Q6_W_vcombine_VV(HVX_Vector Vu, HVX_Vector Vv)
......@@ -930,9 +765,7 @@
930765 ========================================================================== */
931766
932767#define Q6_W_vcombine_VV(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcombine)(Vu,Vv)
933#endif /* __HEXAGON_ARCH___ >= 60 */
934768
935#if __HVX_ARCH__ >= 60
936769/* ==========================================================================
937770 Assembly Syntax: Vd32=#0
938771 C Intrinsic Prototype: HVX_Vector Q6_V_vzero()
......@@ -941,9 +774,7 @@
941774 ========================================================================== */
942775
943776#define Q6_V_vzero() __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vd0)()
944#endif /* __HEXAGON_ARCH___ >= 60 */
945777
946#if __HVX_ARCH__ >= 60
947778/* ==========================================================================
948779 Assembly Syntax: Vd32.b=vdeal(Vu32.b)
949780 C Intrinsic Prototype: HVX_Vector Q6_Vb_vdeal_Vb(HVX_Vector Vu)
......@@ -952,9 +783,7 @@
952783 ========================================================================== */
953784
954785#define Q6_Vb_vdeal_Vb(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdealb)(Vu)
955#endif /* __HEXAGON_ARCH___ >= 60 */
956786
957#if __HVX_ARCH__ >= 60
958787/* ==========================================================================
959788 Assembly Syntax: Vd32.b=vdeale(Vu32.b,Vv32.b)
960789 C Intrinsic Prototype: HVX_Vector Q6_Vb_vdeale_VbVb(HVX_Vector Vu, HVX_Vector Vv)
......@@ -963,9 +792,7 @@
963792 ========================================================================== */
964793
965794#define Q6_Vb_vdeale_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdealb4w)(Vu,Vv)
966#endif /* __HEXAGON_ARCH___ >= 60 */
967795
968#if __HVX_ARCH__ >= 60
969796/* ==========================================================================
970797 Assembly Syntax: Vd32.h=vdeal(Vu32.h)
971798 C Intrinsic Prototype: HVX_Vector Q6_Vh_vdeal_Vh(HVX_Vector Vu)
......@@ -974,9 +801,7 @@
974801 ========================================================================== */
975802
976803#define Q6_Vh_vdeal_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdealh)(Vu)
977#endif /* __HEXAGON_ARCH___ >= 60 */
978804
979#if __HVX_ARCH__ >= 60
980805/* ==========================================================================
981806 Assembly Syntax: Vdd32=vdeal(Vu32,Vv32,Rt8)
982807 C Intrinsic Prototype: HVX_VectorPair Q6_W_vdeal_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -985,9 +810,7 @@
985810 ========================================================================== */
986811
987812#define Q6_W_vdeal_VVR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdealvdd)(Vu,Vv,Rt)
988#endif /* __HEXAGON_ARCH___ >= 60 */
989813
990#if __HVX_ARCH__ >= 60
991814/* ==========================================================================
992815 Assembly Syntax: Vd32=vdelta(Vu32,Vv32)
993816 C Intrinsic Prototype: HVX_Vector Q6_V_vdelta_VV(HVX_Vector Vu, HVX_Vector Vv)
......@@ -996,9 +819,7 @@
996819 ========================================================================== */
997820
998821#define Q6_V_vdelta_VV(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdelta)(Vu,Vv)
999#endif /* __HEXAGON_ARCH___ >= 60 */
1000822
1001#if __HVX_ARCH__ >= 60
1002823/* ==========================================================================
1003824 Assembly Syntax: Vd32.h=vdmpy(Vu32.ub,Rt32.b)
1004825 C Intrinsic Prototype: HVX_Vector Q6_Vh_vdmpy_VubRb(HVX_Vector Vu, Word32 Rt)
......@@ -1007,9 +828,7 @@
1007828 ========================================================================== */
1008829
1009830#define Q6_Vh_vdmpy_VubRb(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpybus)(Vu,Rt)
1010#endif /* __HEXAGON_ARCH___ >= 60 */
1011831
1012#if __HVX_ARCH__ >= 60
1013832/* ==========================================================================
1014833 Assembly Syntax: Vx32.h+=vdmpy(Vu32.ub,Rt32.b)
1015834 C Intrinsic Prototype: HVX_Vector Q6_Vh_vdmpyacc_VhVubRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
......@@ -1018,9 +837,7 @@
1018837 ========================================================================== */
1019838
1020839#define Q6_Vh_vdmpyacc_VhVubRb(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpybus_acc)(Vx,Vu,Rt)
1021#endif /* __HEXAGON_ARCH___ >= 60 */
1022840
1023#if __HVX_ARCH__ >= 60
1024841/* ==========================================================================
1025842 Assembly Syntax: Vdd32.h=vdmpy(Vuu32.ub,Rt32.b)
1026843 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vdmpy_WubRb(HVX_VectorPair Vuu, Word32 Rt)
......@@ -1029,9 +846,7 @@
1029846 ========================================================================== */
1030847
1031848#define Q6_Wh_vdmpy_WubRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpybus_dv)(Vuu,Rt)
1032#endif /* __HEXAGON_ARCH___ >= 60 */
1033849
1034#if __HVX_ARCH__ >= 60
1035850/* ==========================================================================
1036851 Assembly Syntax: Vxx32.h+=vdmpy(Vuu32.ub,Rt32.b)
1037852 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vdmpyacc_WhWubRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
......@@ -1040,9 +855,7 @@
1040855 ========================================================================== */
1041856
1042857#define Q6_Wh_vdmpyacc_WhWubRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpybus_dv_acc)(Vxx,Vuu,Rt)
1043#endif /* __HEXAGON_ARCH___ >= 60 */
1044858
1045#if __HVX_ARCH__ >= 60
1046859/* ==========================================================================
1047860 Assembly Syntax: Vd32.w=vdmpy(Vu32.h,Rt32.b)
1048861 C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_VhRb(HVX_Vector Vu, Word32 Rt)
......@@ -1051,9 +864,7 @@
1051864 ========================================================================== */
1052865
1053866#define Q6_Vw_vdmpy_VhRb(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhb)(Vu,Rt)
1054#endif /* __HEXAGON_ARCH___ >= 60 */
1055867
1056#if __HVX_ARCH__ >= 60
1057868/* ==========================================================================
1058869 Assembly Syntax: Vx32.w+=vdmpy(Vu32.h,Rt32.b)
1059870 C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwVhRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
......@@ -1062,9 +873,7 @@
1062873 ========================================================================== */
1063874
1064875#define Q6_Vw_vdmpyacc_VwVhRb(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhb_acc)(Vx,Vu,Rt)
1065#endif /* __HEXAGON_ARCH___ >= 60 */
1066876
1067#if __HVX_ARCH__ >= 60
1068877/* ==========================================================================
1069878 Assembly Syntax: Vdd32.w=vdmpy(Vuu32.h,Rt32.b)
1070879 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vdmpy_WhRb(HVX_VectorPair Vuu, Word32 Rt)
......@@ -1073,9 +882,7 @@
1073882 ========================================================================== */
1074883
1075884#define Q6_Ww_vdmpy_WhRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhb_dv)(Vuu,Rt)
1076#endif /* __HEXAGON_ARCH___ >= 60 */
1077885
1078#if __HVX_ARCH__ >= 60
1079886/* ==========================================================================
1080887 Assembly Syntax: Vxx32.w+=vdmpy(Vuu32.h,Rt32.b)
1081888 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vdmpyacc_WwWhRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
......@@ -1084,9 +891,7 @@
1084891 ========================================================================== */
1085892
1086893#define Q6_Ww_vdmpyacc_WwWhRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhb_dv_acc)(Vxx,Vuu,Rt)
1087#endif /* __HEXAGON_ARCH___ >= 60 */
1088894
1089#if __HVX_ARCH__ >= 60
1090895/* ==========================================================================
1091896 Assembly Syntax: Vd32.w=vdmpy(Vuu32.h,Rt32.h):sat
1092897 C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_WhRh_sat(HVX_VectorPair Vuu, Word32 Rt)
......@@ -1095,9 +900,7 @@
1095900 ========================================================================== */
1096901
1097902#define Q6_Vw_vdmpy_WhRh_sat(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhisat)(Vuu,Rt)
1098#endif /* __HEXAGON_ARCH___ >= 60 */
1099903
1100#if __HVX_ARCH__ >= 60
1101904/* ==========================================================================
1102905 Assembly Syntax: Vx32.w+=vdmpy(Vuu32.h,Rt32.h):sat
1103906 C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwWhRh_sat(HVX_Vector Vx, HVX_VectorPair Vuu, Word32 Rt)
......@@ -1106,9 +909,7 @@
1106909 ========================================================================== */
1107910
1108911#define Q6_Vw_vdmpyacc_VwWhRh_sat(Vx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhisat_acc)(Vx,Vuu,Rt)
1109#endif /* __HEXAGON_ARCH___ >= 60 */
1110912
1111#if __HVX_ARCH__ >= 60
1112913/* ==========================================================================
1113914 Assembly Syntax: Vd32.w=vdmpy(Vu32.h,Rt32.h):sat
1114915 C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_VhRh_sat(HVX_Vector Vu, Word32 Rt)
......@@ -1117,9 +918,7 @@
1117918 ========================================================================== */
1118919
1119920#define Q6_Vw_vdmpy_VhRh_sat(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsat)(Vu,Rt)
1120#endif /* __HEXAGON_ARCH___ >= 60 */
1121921
1122#if __HVX_ARCH__ >= 60
1123922/* ==========================================================================
1124923 Assembly Syntax: Vx32.w+=vdmpy(Vu32.h,Rt32.h):sat
1125924 C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwVhRh_sat(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
......@@ -1128,9 +927,7 @@
1128927 ========================================================================== */
1129928
1130929#define Q6_Vw_vdmpyacc_VwVhRh_sat(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsat_acc)(Vx,Vu,Rt)
1131#endif /* __HEXAGON_ARCH___ >= 60 */
1132930
1133#if __HVX_ARCH__ >= 60
1134931/* ==========================================================================
1135932 Assembly Syntax: Vd32.w=vdmpy(Vuu32.h,Rt32.uh,#1):sat
1136933 C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_WhRuh_sat(HVX_VectorPair Vuu, Word32 Rt)
......@@ -1139,9 +936,7 @@
1139936 ========================================================================== */
1140937
1141938#define Q6_Vw_vdmpy_WhRuh_sat(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsuisat)(Vuu,Rt)
1142#endif /* __HEXAGON_ARCH___ >= 60 */
1143939
1144#if __HVX_ARCH__ >= 60
1145940/* ==========================================================================
1146941 Assembly Syntax: Vx32.w+=vdmpy(Vuu32.h,Rt32.uh,#1):sat
1147942 C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwWhRuh_sat(HVX_Vector Vx, HVX_VectorPair Vuu, Word32 Rt)
......@@ -1150,9 +945,7 @@
1150945 ========================================================================== */
1151946
1152947#define Q6_Vw_vdmpyacc_VwWhRuh_sat(Vx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsuisat_acc)(Vx,Vuu,Rt)
1153#endif /* __HEXAGON_ARCH___ >= 60 */
1154948
1155#if __HVX_ARCH__ >= 60
1156949/* ==========================================================================
1157950 Assembly Syntax: Vd32.w=vdmpy(Vu32.h,Rt32.uh):sat
1158951 C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_VhRuh_sat(HVX_Vector Vu, Word32 Rt)
......@@ -1161,9 +954,7 @@
1161954 ========================================================================== */
1162955
1163956#define Q6_Vw_vdmpy_VhRuh_sat(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsusat)(Vu,Rt)
1164#endif /* __HEXAGON_ARCH___ >= 60 */
1165957
1166#if __HVX_ARCH__ >= 60
1167958/* ==========================================================================
1168959 Assembly Syntax: Vx32.w+=vdmpy(Vu32.h,Rt32.uh):sat
1169960 C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwVhRuh_sat(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
......@@ -1172,9 +963,7 @@
1172963 ========================================================================== */
1173964
1174965#define Q6_Vw_vdmpyacc_VwVhRuh_sat(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhsusat_acc)(Vx,Vu,Rt)
1175#endif /* __HEXAGON_ARCH___ >= 60 */
1176966
1177#if __HVX_ARCH__ >= 60
1178967/* ==========================================================================
1179968 Assembly Syntax: Vd32.w=vdmpy(Vu32.h,Vv32.h):sat
1180969 C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpy_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1183,9 +972,7 @@
1183972 ========================================================================== */
1184973
1185974#define Q6_Vw_vdmpy_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhvsat)(Vu,Vv)
1186#endif /* __HEXAGON_ARCH___ >= 60 */
1187975
1188#if __HVX_ARCH__ >= 60
1189976/* ==========================================================================
1190977 Assembly Syntax: Vx32.w+=vdmpy(Vu32.h,Vv32.h):sat
1191978 C Intrinsic Prototype: HVX_Vector Q6_Vw_vdmpyacc_VwVhVh_sat(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1194,9 +981,7 @@
1194981 ========================================================================== */
1195982
1196983#define Q6_Vw_vdmpyacc_VwVhVh_sat(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpyhvsat_acc)(Vx,Vu,Vv)
1197#endif /* __HEXAGON_ARCH___ >= 60 */
1198984
1199#if __HVX_ARCH__ >= 60
1200985/* ==========================================================================
1201986 Assembly Syntax: Vdd32.uw=vdsad(Vuu32.uh,Rt32.uh)
1202987 C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vdsad_WuhRuh(HVX_VectorPair Vuu, Word32 Rt)
......@@ -1205,9 +990,7 @@
1205990 ========================================================================== */
1206991
1207992#define Q6_Wuw_vdsad_WuhRuh(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdsaduh)(Vuu,Rt)
1208#endif /* __HEXAGON_ARCH___ >= 60 */
1209993
1210#if __HVX_ARCH__ >= 60
1211994/* ==========================================================================
1212995 Assembly Syntax: Vxx32.uw+=vdsad(Vuu32.uh,Rt32.uh)
1213996 C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vdsadacc_WuwWuhRuh(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
......@@ -1216,9 +999,7 @@
1216999 ========================================================================== */
12171000
12181001#define Q6_Wuw_vdsadacc_WuwWuhRuh(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdsaduh_acc)(Vxx,Vuu,Rt)
1219#endif /* __HEXAGON_ARCH___ >= 60 */
12201002
1221#if __HVX_ARCH__ >= 60
12221003/* ==========================================================================
12231004 Assembly Syntax: Qd4=vcmp.eq(Vu32.b,Vv32.b)
12241005 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VbVb(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1227,9 +1008,7 @@
12271008 ========================================================================== */
12281009
12291010#define Q6_Q_vcmp_eq_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqb)(Vu,Vv)),-1)
1230#endif /* __HEXAGON_ARCH___ >= 60 */
12311011
1232#if __HVX_ARCH__ >= 60
12331012/* ==========================================================================
12341013 Assembly Syntax: Qx4&=vcmp.eq(Vu32.b,Vv32.b)
12351014 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1238,9 +1017,7 @@
12381017 ========================================================================== */
12391018
12401019#define Q6_Q_vcmp_eqand_QVbVb(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqb_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1241#endif /* __HEXAGON_ARCH___ >= 60 */
12421020
1243#if __HVX_ARCH__ >= 60
12441021/* ==========================================================================
12451022 Assembly Syntax: Qx4|=vcmp.eq(Vu32.b,Vv32.b)
12461023 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1249,9 +1026,7 @@
12491026 ========================================================================== */
12501027
12511028#define Q6_Q_vcmp_eqor_QVbVb(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqb_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1252#endif /* __HEXAGON_ARCH___ >= 60 */
12531029
1254#if __HVX_ARCH__ >= 60
12551030/* ==========================================================================
12561031 Assembly Syntax: Qx4^=vcmp.eq(Vu32.b,Vv32.b)
12571032 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1260,9 +1035,7 @@
12601035 ========================================================================== */
12611036
12621037#define Q6_Q_vcmp_eqxacc_QVbVb(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqb_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1263#endif /* __HEXAGON_ARCH___ >= 60 */
12641038
1265#if __HVX_ARCH__ >= 60
12661039/* ==========================================================================
12671040 Assembly Syntax: Qd4=vcmp.eq(Vu32.h,Vv32.h)
12681041 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1271,9 +1044,7 @@
12711044 ========================================================================== */
12721045
12731046#define Q6_Q_vcmp_eq_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqh)(Vu,Vv)),-1)
1274#endif /* __HEXAGON_ARCH___ >= 60 */
12751047
1276#if __HVX_ARCH__ >= 60
12771048/* ==========================================================================
12781049 Assembly Syntax: Qx4&=vcmp.eq(Vu32.h,Vv32.h)
12791050 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1282,9 +1053,7 @@
12821053 ========================================================================== */
12831054
12841055#define Q6_Q_vcmp_eqand_QVhVh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqh_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1285#endif /* __HEXAGON_ARCH___ >= 60 */
12861056
1287#if __HVX_ARCH__ >= 60
12881057/* ==========================================================================
12891058 Assembly Syntax: Qx4|=vcmp.eq(Vu32.h,Vv32.h)
12901059 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1293,9 +1062,7 @@
12931062 ========================================================================== */
12941063
12951064#define Q6_Q_vcmp_eqor_QVhVh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqh_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1296#endif /* __HEXAGON_ARCH___ >= 60 */
12971065
1298#if __HVX_ARCH__ >= 60
12991066/* ==========================================================================
13001067 Assembly Syntax: Qx4^=vcmp.eq(Vu32.h,Vv32.h)
13011068 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1304,9 +1071,7 @@
13041071 ========================================================================== */
13051072
13061073#define Q6_Q_vcmp_eqxacc_QVhVh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqh_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1307#endif /* __HEXAGON_ARCH___ >= 60 */
13081074
1309#if __HVX_ARCH__ >= 60
13101075/* ==========================================================================
13111076 Assembly Syntax: Qd4=vcmp.eq(Vu32.w,Vv32.w)
13121077 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1315,9 +1080,7 @@
13151080 ========================================================================== */
13161081
13171082#define Q6_Q_vcmp_eq_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqw)(Vu,Vv)),-1)
1318#endif /* __HEXAGON_ARCH___ >= 60 */
13191083
1320#if __HVX_ARCH__ >= 60
13211084/* ==========================================================================
13221085 Assembly Syntax: Qx4&=vcmp.eq(Vu32.w,Vv32.w)
13231086 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1326,9 +1089,7 @@
13261089 ========================================================================== */
13271090
13281091#define Q6_Q_vcmp_eqand_QVwVw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqw_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1329#endif /* __HEXAGON_ARCH___ >= 60 */
13301092
1331#if __HVX_ARCH__ >= 60
13321093/* ==========================================================================
13331094 Assembly Syntax: Qx4|=vcmp.eq(Vu32.w,Vv32.w)
13341095 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1337,9 +1098,7 @@
13371098 ========================================================================== */
13381099
13391100#define Q6_Q_vcmp_eqor_QVwVw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqw_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1340#endif /* __HEXAGON_ARCH___ >= 60 */
13411101
1342#if __HVX_ARCH__ >= 60
13431102/* ==========================================================================
13441103 Assembly Syntax: Qx4^=vcmp.eq(Vu32.w,Vv32.w)
13451104 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1348,9 +1107,7 @@
13481107 ========================================================================== */
13491108
13501109#define Q6_Q_vcmp_eqxacc_QVwVw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqw_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1351#endif /* __HEXAGON_ARCH___ >= 60 */
13521110
1353#if __HVX_ARCH__ >= 60
13541111/* ==========================================================================
13551112 Assembly Syntax: Qd4=vcmp.gt(Vu32.b,Vv32.b)
13561113 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VbVb(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1359,9 +1116,7 @@
13591116 ========================================================================== */
13601117
13611118#define Q6_Q_vcmp_gt_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtb)(Vu,Vv)),-1)
1362#endif /* __HEXAGON_ARCH___ >= 60 */
13631119
1364#if __HVX_ARCH__ >= 60
13651120/* ==========================================================================
13661121 Assembly Syntax: Qx4&=vcmp.gt(Vu32.b,Vv32.b)
13671122 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1370,9 +1125,7 @@
13701125 ========================================================================== */
13711126
13721127#define Q6_Q_vcmp_gtand_QVbVb(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtb_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1373#endif /* __HEXAGON_ARCH___ >= 60 */
13741128
1375#if __HVX_ARCH__ >= 60
13761129/* ==========================================================================
13771130 Assembly Syntax: Qx4|=vcmp.gt(Vu32.b,Vv32.b)
13781131 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1381,9 +1134,7 @@
13811134 ========================================================================== */
13821135
13831136#define Q6_Q_vcmp_gtor_QVbVb(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtb_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1384#endif /* __HEXAGON_ARCH___ >= 60 */
13851137
1386#if __HVX_ARCH__ >= 60
13871138/* ==========================================================================
13881139 Assembly Syntax: Qx4^=vcmp.gt(Vu32.b,Vv32.b)
13891140 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVbVb(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1392,9 +1143,7 @@
13921143 ========================================================================== */
13931144
13941145#define Q6_Q_vcmp_gtxacc_QVbVb(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtb_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1395#endif /* __HEXAGON_ARCH___ >= 60 */
13961146
1397#if __HVX_ARCH__ >= 60
13981147/* ==========================================================================
13991148 Assembly Syntax: Qd4=vcmp.gt(Vu32.h,Vv32.h)
14001149 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1403,9 +1152,7 @@
14031152 ========================================================================== */
14041153
14051154#define Q6_Q_vcmp_gt_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgth)(Vu,Vv)),-1)
1406#endif /* __HEXAGON_ARCH___ >= 60 */
14071155
1408#if __HVX_ARCH__ >= 60
14091156/* ==========================================================================
14101157 Assembly Syntax: Qx4&=vcmp.gt(Vu32.h,Vv32.h)
14111158 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1414,9 +1161,7 @@
14141161 ========================================================================== */
14151162
14161163#define Q6_Q_vcmp_gtand_QVhVh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgth_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1417#endif /* __HEXAGON_ARCH___ >= 60 */
14181164
1419#if __HVX_ARCH__ >= 60
14201165/* ==========================================================================
14211166 Assembly Syntax: Qx4|=vcmp.gt(Vu32.h,Vv32.h)
14221167 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1425,9 +1170,7 @@
14251170 ========================================================================== */
14261171
14271172#define Q6_Q_vcmp_gtor_QVhVh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgth_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1428#endif /* __HEXAGON_ARCH___ >= 60 */
14291173
1430#if __HVX_ARCH__ >= 60
14311174/* ==========================================================================
14321175 Assembly Syntax: Qx4^=vcmp.gt(Vu32.h,Vv32.h)
14331176 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVhVh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1436,9 +1179,7 @@
14361179 ========================================================================== */
14371180
14381181#define Q6_Q_vcmp_gtxacc_QVhVh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgth_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1439#endif /* __HEXAGON_ARCH___ >= 60 */
14401182
1441#if __HVX_ARCH__ >= 60
14421183/* ==========================================================================
14431184 Assembly Syntax: Qd4=vcmp.gt(Vu32.ub,Vv32.ub)
14441185 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VubVub(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1447,9 +1188,7 @@
14471188 ========================================================================== */
14481189
14491190#define Q6_Q_vcmp_gt_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtub)(Vu,Vv)),-1)
1450#endif /* __HEXAGON_ARCH___ >= 60 */
14511191
1452#if __HVX_ARCH__ >= 60
14531192/* ==========================================================================
14541193 Assembly Syntax: Qx4&=vcmp.gt(Vu32.ub,Vv32.ub)
14551194 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVubVub(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1458,9 +1197,7 @@
14581197 ========================================================================== */
14591198
14601199#define Q6_Q_vcmp_gtand_QVubVub(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtub_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1461#endif /* __HEXAGON_ARCH___ >= 60 */
14621200
1463#if __HVX_ARCH__ >= 60
14641201/* ==========================================================================
14651202 Assembly Syntax: Qx4|=vcmp.gt(Vu32.ub,Vv32.ub)
14661203 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVubVub(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1469,9 +1206,7 @@
14691206 ========================================================================== */
14701207
14711208#define Q6_Q_vcmp_gtor_QVubVub(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtub_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1472#endif /* __HEXAGON_ARCH___ >= 60 */
14731209
1474#if __HVX_ARCH__ >= 60
14751210/* ==========================================================================
14761211 Assembly Syntax: Qx4^=vcmp.gt(Vu32.ub,Vv32.ub)
14771212 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVubVub(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1480,9 +1215,7 @@
14801215 ========================================================================== */
14811216
14821217#define Q6_Q_vcmp_gtxacc_QVubVub(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtub_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1483#endif /* __HEXAGON_ARCH___ >= 60 */
14841218
1485#if __HVX_ARCH__ >= 60
14861219/* ==========================================================================
14871220 Assembly Syntax: Qd4=vcmp.gt(Vu32.uh,Vv32.uh)
14881221 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1491,9 +1224,7 @@
14911224 ========================================================================== */
14921225
14931226#define Q6_Q_vcmp_gt_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuh)(Vu,Vv)),-1)
1494#endif /* __HEXAGON_ARCH___ >= 60 */
14951227
1496#if __HVX_ARCH__ >= 60
14971228/* ==========================================================================
14981229 Assembly Syntax: Qx4&=vcmp.gt(Vu32.uh,Vv32.uh)
14991230 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVuhVuh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1502,9 +1233,7 @@
15021233 ========================================================================== */
15031234
15041235#define Q6_Q_vcmp_gtand_QVuhVuh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuh_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1505#endif /* __HEXAGON_ARCH___ >= 60 */
15061236
1507#if __HVX_ARCH__ >= 60
15081237/* ==========================================================================
15091238 Assembly Syntax: Qx4|=vcmp.gt(Vu32.uh,Vv32.uh)
15101239 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVuhVuh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1513,9 +1242,7 @@
15131242 ========================================================================== */
15141243
15151244#define Q6_Q_vcmp_gtor_QVuhVuh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuh_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1516#endif /* __HEXAGON_ARCH___ >= 60 */
15171245
1518#if __HVX_ARCH__ >= 60
15191246/* ==========================================================================
15201247 Assembly Syntax: Qx4^=vcmp.gt(Vu32.uh,Vv32.uh)
15211248 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVuhVuh(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1524,9 +1251,7 @@
15241251 ========================================================================== */
15251252
15261253#define Q6_Q_vcmp_gtxacc_QVuhVuh(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuh_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1527#endif /* __HEXAGON_ARCH___ >= 60 */
15281254
1529#if __HVX_ARCH__ >= 60
15301255/* ==========================================================================
15311256 Assembly Syntax: Qd4=vcmp.gt(Vu32.uw,Vv32.uw)
15321257 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VuwVuw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1535,9 +1260,7 @@
15351260 ========================================================================== */
15361261
15371262#define Q6_Q_vcmp_gt_VuwVuw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuw)(Vu,Vv)),-1)
1538#endif /* __HEXAGON_ARCH___ >= 60 */
15391263
1540#if __HVX_ARCH__ >= 60
15411264/* ==========================================================================
15421265 Assembly Syntax: Qx4&=vcmp.gt(Vu32.uw,Vv32.uw)
15431266 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVuwVuw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1546,9 +1269,7 @@
15461269 ========================================================================== */
15471270
15481271#define Q6_Q_vcmp_gtand_QVuwVuw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuw_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1549#endif /* __HEXAGON_ARCH___ >= 60 */
15501272
1551#if __HVX_ARCH__ >= 60
15521273/* ==========================================================================
15531274 Assembly Syntax: Qx4|=vcmp.gt(Vu32.uw,Vv32.uw)
15541275 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVuwVuw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1557,9 +1278,7 @@
15571278 ========================================================================== */
15581279
15591280#define Q6_Q_vcmp_gtor_QVuwVuw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuw_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1560#endif /* __HEXAGON_ARCH___ >= 60 */
15611281
1562#if __HVX_ARCH__ >= 60
15631282/* ==========================================================================
15641283 Assembly Syntax: Qx4^=vcmp.gt(Vu32.uw,Vv32.uw)
15651284 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVuwVuw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1568,9 +1287,7 @@
15681287 ========================================================================== */
15691288
15701289#define Q6_Q_vcmp_gtxacc_QVuwVuw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtuw_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1571#endif /* __HEXAGON_ARCH___ >= 60 */
15721290
1573#if __HVX_ARCH__ >= 60
15741291/* ==========================================================================
15751292 Assembly Syntax: Qd4=vcmp.gt(Vu32.w,Vv32.w)
15761293 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gt_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1579,9 +1296,7 @@
15791296 ========================================================================== */
15801297
15811298#define Q6_Q_vcmp_gt_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtw)(Vu,Vv)),-1)
1582#endif /* __HEXAGON_ARCH___ >= 60 */
15831299
1584#if __HVX_ARCH__ >= 60
15851300/* ==========================================================================
15861301 Assembly Syntax: Qx4&=vcmp.gt(Vu32.w,Vv32.w)
15871302 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtand_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1590,9 +1305,7 @@
15901305 ========================================================================== */
15911306
15921307#define Q6_Q_vcmp_gtand_QVwVw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtw_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1593#endif /* __HEXAGON_ARCH___ >= 60 */
15941308
1595#if __HVX_ARCH__ >= 60
15961309/* ==========================================================================
15971310 Assembly Syntax: Qx4|=vcmp.gt(Vu32.w,Vv32.w)
15981311 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtor_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1601,9 +1314,7 @@
16011314 ========================================================================== */
16021315
16031316#define Q6_Q_vcmp_gtor_QVwVw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtw_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1604#endif /* __HEXAGON_ARCH___ >= 60 */
16051317
1606#if __HVX_ARCH__ >= 60
16071318/* ==========================================================================
16081319 Assembly Syntax: Qx4^=vcmp.gt(Vu32.w,Vv32.w)
16091320 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_gtxacc_QVwVw(HVX_VectorPred Qx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1612,9 +1323,7 @@
16121323 ========================================================================== */
16131324
16141325#define Q6_Q_vcmp_gtxacc_QVwVw(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtw_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
1615#endif /* __HEXAGON_ARCH___ >= 60 */
16161326
1617#if __HVX_ARCH__ >= 60
16181327/* ==========================================================================
16191328 Assembly Syntax: Vx32.w=vinsert(Rt32)
16201329 C Intrinsic Prototype: HVX_Vector Q6_Vw_vinsert_VwR(HVX_Vector Vx, Word32 Rt)
......@@ -1623,9 +1332,7 @@
16231332 ========================================================================== */
16241333
16251334#define Q6_Vw_vinsert_VwR(Vx,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vinsertwr)(Vx,Rt)
1626#endif /* __HEXAGON_ARCH___ >= 60 */
16271335
1628#if __HVX_ARCH__ >= 60
16291336/* ==========================================================================
16301337 Assembly Syntax: Vd32=vlalign(Vu32,Vv32,Rt8)
16311338 C Intrinsic Prototype: HVX_Vector Q6_V_vlalign_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -1634,9 +1341,7 @@
16341341 ========================================================================== */
16351342
16361343#define Q6_V_vlalign_VVR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlalignb)(Vu,Vv,Rt)
1637#endif /* __HEXAGON_ARCH___ >= 60 */
16381344
1639#if __HVX_ARCH__ >= 60
16401345/* ==========================================================================
16411346 Assembly Syntax: Vd32=vlalign(Vu32,Vv32,#u3)
16421347 C Intrinsic Prototype: HVX_Vector Q6_V_vlalign_VVI(HVX_Vector Vu, HVX_Vector Vv, Word32 Iu3)
......@@ -1645,9 +1350,7 @@
16451350 ========================================================================== */
16461351
16471352#define Q6_V_vlalign_VVI(Vu,Vv,Iu3) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlalignbi)(Vu,Vv,Iu3)
1648#endif /* __HEXAGON_ARCH___ >= 60 */
16491353
1650#if __HVX_ARCH__ >= 60
16511354/* ==========================================================================
16521355 Assembly Syntax: Vd32.uh=vlsr(Vu32.uh,Rt32)
16531356 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vlsr_VuhR(HVX_Vector Vu, Word32 Rt)
......@@ -1656,9 +1359,7 @@
16561359 ========================================================================== */
16571360
16581361#define Q6_Vuh_vlsr_VuhR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrh)(Vu,Rt)
1659#endif /* __HEXAGON_ARCH___ >= 60 */
16601362
1661#if __HVX_ARCH__ >= 60
16621363/* ==========================================================================
16631364 Assembly Syntax: Vd32.h=vlsr(Vu32.h,Vv32.h)
16641365 C Intrinsic Prototype: HVX_Vector Q6_Vh_vlsr_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1667,9 +1368,7 @@
16671368 ========================================================================== */
16681369
16691370#define Q6_Vh_vlsr_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrhv)(Vu,Vv)
1670#endif /* __HEXAGON_ARCH___ >= 60 */
16711371
1672#if __HVX_ARCH__ >= 60
16731372/* ==========================================================================
16741373 Assembly Syntax: Vd32.uw=vlsr(Vu32.uw,Rt32)
16751374 C Intrinsic Prototype: HVX_Vector Q6_Vuw_vlsr_VuwR(HVX_Vector Vu, Word32 Rt)
......@@ -1678,9 +1377,7 @@
16781377 ========================================================================== */
16791378
16801379#define Q6_Vuw_vlsr_VuwR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrw)(Vu,Rt)
1681#endif /* __HEXAGON_ARCH___ >= 60 */
16821380
1683#if __HVX_ARCH__ >= 60
16841381/* ==========================================================================
16851382 Assembly Syntax: Vd32.w=vlsr(Vu32.w,Vv32.w)
16861383 C Intrinsic Prototype: HVX_Vector Q6_Vw_vlsr_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1689,9 +1386,7 @@
16891386 ========================================================================== */
16901387
16911388#define Q6_Vw_vlsr_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrwv)(Vu,Vv)
1692#endif /* __HEXAGON_ARCH___ >= 60 */
16931389
1694#if __HVX_ARCH__ >= 60
16951390/* ==========================================================================
16961391 Assembly Syntax: Vd32.b=vlut32(Vu32.b,Vv32.b,Rt8)
16971392 C Intrinsic Prototype: HVX_Vector Q6_Vb_vlut32_VbVbR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -1700,9 +1395,7 @@
17001395 ========================================================================== */
17011396
17021397#define Q6_Vb_vlut32_VbVbR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvb)(Vu,Vv,Rt)
1703#endif /* __HEXAGON_ARCH___ >= 60 */
17041398
1705#if __HVX_ARCH__ >= 60
17061399/* ==========================================================================
17071400 Assembly Syntax: Vx32.b|=vlut32(Vu32.b,Vv32.b,Rt8)
17081401 C Intrinsic Prototype: HVX_Vector Q6_Vb_vlut32or_VbVbVbR(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -1711,9 +1404,7 @@
17111404 ========================================================================== */
17121405
17131406#define Q6_Vb_vlut32or_VbVbVbR(Vx,Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvb_oracc)(Vx,Vu,Vv,Rt)
1714#endif /* __HEXAGON_ARCH___ >= 60 */
17151407
1716#if __HVX_ARCH__ >= 60
17171408/* ==========================================================================
17181409 Assembly Syntax: Vdd32.h=vlut16(Vu32.b,Vv32.h,Rt8)
17191410 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vlut16_VbVhR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -1722,9 +1413,7 @@
17221413 ========================================================================== */
17231414
17241415#define Q6_Wh_vlut16_VbVhR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwh)(Vu,Vv,Rt)
1725#endif /* __HEXAGON_ARCH___ >= 60 */
17261416
1727#if __HVX_ARCH__ >= 60
17281417/* ==========================================================================
17291418 Assembly Syntax: Vxx32.h|=vlut16(Vu32.b,Vv32.h,Rt8)
17301419 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vlut16or_WhVbVhR(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -1733,9 +1422,7 @@
17331422 ========================================================================== */
17341423
17351424#define Q6_Wh_vlut16or_WhVbVhR(Vxx,Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwh_oracc)(Vxx,Vu,Vv,Rt)
1736#endif /* __HEXAGON_ARCH___ >= 60 */
17371425
1738#if __HVX_ARCH__ >= 60
17391426/* ==========================================================================
17401427 Assembly Syntax: Vd32.h=vmax(Vu32.h,Vv32.h)
17411428 C Intrinsic Prototype: HVX_Vector Q6_Vh_vmax_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1744,9 +1431,7 @@
17441431 ========================================================================== */
17451432
17461433#define Q6_Vh_vmax_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxh)(Vu,Vv)
1747#endif /* __HEXAGON_ARCH___ >= 60 */
17481434
1749#if __HVX_ARCH__ >= 60
17501435/* ==========================================================================
17511436 Assembly Syntax: Vd32.ub=vmax(Vu32.ub,Vv32.ub)
17521437 C Intrinsic Prototype: HVX_Vector Q6_Vub_vmax_VubVub(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1755,9 +1440,7 @@
17551440 ========================================================================== */
17561441
17571442#define Q6_Vub_vmax_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxub)(Vu,Vv)
1758#endif /* __HEXAGON_ARCH___ >= 60 */
17591443
1760#if __HVX_ARCH__ >= 60
17611444/* ==========================================================================
17621445 Assembly Syntax: Vd32.uh=vmax(Vu32.uh,Vv32.uh)
17631446 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vmax_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1766,9 +1449,7 @@
17661449 ========================================================================== */
17671450
17681451#define Q6_Vuh_vmax_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxuh)(Vu,Vv)
1769#endif /* __HEXAGON_ARCH___ >= 60 */
17701452
1771#if __HVX_ARCH__ >= 60
17721453/* ==========================================================================
17731454 Assembly Syntax: Vd32.w=vmax(Vu32.w,Vv32.w)
17741455 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmax_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1777,9 +1458,7 @@
17771458 ========================================================================== */
17781459
17791460#define Q6_Vw_vmax_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxw)(Vu,Vv)
1780#endif /* __HEXAGON_ARCH___ >= 60 */
17811461
1782#if __HVX_ARCH__ >= 60
17831462/* ==========================================================================
17841463 Assembly Syntax: Vd32.h=vmin(Vu32.h,Vv32.h)
17851464 C Intrinsic Prototype: HVX_Vector Q6_Vh_vmin_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1788,9 +1467,7 @@
17881467 ========================================================================== */
17891468
17901469#define Q6_Vh_vmin_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminh)(Vu,Vv)
1791#endif /* __HEXAGON_ARCH___ >= 60 */
17921470
1793#if __HVX_ARCH__ >= 60
17941471/* ==========================================================================
17951472 Assembly Syntax: Vd32.ub=vmin(Vu32.ub,Vv32.ub)
17961473 C Intrinsic Prototype: HVX_Vector Q6_Vub_vmin_VubVub(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1799,9 +1476,7 @@
17991476 ========================================================================== */
18001477
18011478#define Q6_Vub_vmin_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminub)(Vu,Vv)
1802#endif /* __HEXAGON_ARCH___ >= 60 */
18031479
1804#if __HVX_ARCH__ >= 60
18051480/* ==========================================================================
18061481 Assembly Syntax: Vd32.uh=vmin(Vu32.uh,Vv32.uh)
18071482 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vmin_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1810,9 +1485,7 @@
18101485 ========================================================================== */
18111486
18121487#define Q6_Vuh_vmin_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminuh)(Vu,Vv)
1813#endif /* __HEXAGON_ARCH___ >= 60 */
18141488
1815#if __HVX_ARCH__ >= 60
18161489/* ==========================================================================
18171490 Assembly Syntax: Vd32.w=vmin(Vu32.w,Vv32.w)
18181491 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmin_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1821,9 +1494,7 @@
18211494 ========================================================================== */
18221495
18231496#define Q6_Vw_vmin_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminw)(Vu,Vv)
1824#endif /* __HEXAGON_ARCH___ >= 60 */
18251497
1826#if __HVX_ARCH__ >= 60
18271498/* ==========================================================================
18281499 Assembly Syntax: Vdd32.h=vmpa(Vuu32.ub,Rt32.b)
18291500 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpa_WubRb(HVX_VectorPair Vuu, Word32 Rt)
......@@ -1832,9 +1503,7 @@
18321503 ========================================================================== */
18331504
18341505#define Q6_Wh_vmpa_WubRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabus)(Vuu,Rt)
1835#endif /* __HEXAGON_ARCH___ >= 60 */
18361506
1837#if __HVX_ARCH__ >= 60
18381507/* ==========================================================================
18391508 Assembly Syntax: Vxx32.h+=vmpa(Vuu32.ub,Rt32.b)
18401509 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpaacc_WhWubRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
......@@ -1843,9 +1512,7 @@
18431512 ========================================================================== */
18441513
18451514#define Q6_Wh_vmpaacc_WhWubRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabus_acc)(Vxx,Vuu,Rt)
1846#endif /* __HEXAGON_ARCH___ >= 60 */
18471515
1848#if __HVX_ARCH__ >= 60
18491516/* ==========================================================================
18501517 Assembly Syntax: Vdd32.h=vmpa(Vuu32.ub,Vvv32.b)
18511518 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpa_WubWb(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -1854,9 +1521,7 @@
18541521 ========================================================================== */
18551522
18561523#define Q6_Wh_vmpa_WubWb(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabusv)(Vuu,Vvv)
1857#endif /* __HEXAGON_ARCH___ >= 60 */
18581524
1859#if __HVX_ARCH__ >= 60
18601525/* ==========================================================================
18611526 Assembly Syntax: Vdd32.h=vmpa(Vuu32.ub,Vvv32.ub)
18621527 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpa_WubWub(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -1865,9 +1530,7 @@
18651530 ========================================================================== */
18661531
18671532#define Q6_Wh_vmpa_WubWub(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabuuv)(Vuu,Vvv)
1868#endif /* __HEXAGON_ARCH___ >= 60 */
18691533
1870#if __HVX_ARCH__ >= 60
18711534/* ==========================================================================
18721535 Assembly Syntax: Vdd32.w=vmpa(Vuu32.h,Rt32.b)
18731536 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpa_WhRb(HVX_VectorPair Vuu, Word32 Rt)
......@@ -1876,9 +1539,7 @@
18761539 ========================================================================== */
18771540
18781541#define Q6_Ww_vmpa_WhRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpahb)(Vuu,Rt)
1879#endif /* __HEXAGON_ARCH___ >= 60 */
18801542
1881#if __HVX_ARCH__ >= 60
18821543/* ==========================================================================
18831544 Assembly Syntax: Vxx32.w+=vmpa(Vuu32.h,Rt32.b)
18841545 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpaacc_WwWhRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
......@@ -1887,9 +1548,7 @@
18871548 ========================================================================== */
18881549
18891550#define Q6_Ww_vmpaacc_WwWhRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpahb_acc)(Vxx,Vuu,Rt)
1890#endif /* __HEXAGON_ARCH___ >= 60 */
18911551
1892#if __HVX_ARCH__ >= 60
18931552/* ==========================================================================
18941553 Assembly Syntax: Vdd32.h=vmpy(Vu32.ub,Rt32.b)
18951554 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpy_VubRb(HVX_Vector Vu, Word32 Rt)
......@@ -1898,9 +1557,7 @@
18981557 ========================================================================== */
18991558
19001559#define Q6_Wh_vmpy_VubRb(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybus)(Vu,Rt)
1901#endif /* __HEXAGON_ARCH___ >= 60 */
19021560
1903#if __HVX_ARCH__ >= 60
19041561/* ==========================================================================
19051562 Assembly Syntax: Vxx32.h+=vmpy(Vu32.ub,Rt32.b)
19061563 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpyacc_WhVubRb(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
......@@ -1909,9 +1566,7 @@
19091566 ========================================================================== */
19101567
19111568#define Q6_Wh_vmpyacc_WhVubRb(Vxx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybus_acc)(Vxx,Vu,Rt)
1912#endif /* __HEXAGON_ARCH___ >= 60 */
19131569
1914#if __HVX_ARCH__ >= 60
19151570/* ==========================================================================
19161571 Assembly Syntax: Vdd32.h=vmpy(Vu32.ub,Vv32.b)
19171572 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpy_VubVb(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1920,9 +1575,7 @@
19201575 ========================================================================== */
19211576
19221577#define Q6_Wh_vmpy_VubVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybusv)(Vu,Vv)
1923#endif /* __HEXAGON_ARCH___ >= 60 */
19241578
1925#if __HVX_ARCH__ >= 60
19261579/* ==========================================================================
19271580 Assembly Syntax: Vxx32.h+=vmpy(Vu32.ub,Vv32.b)
19281581 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpyacc_WhVubVb(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1931,9 +1584,7 @@
19311584 ========================================================================== */
19321585
19331586#define Q6_Wh_vmpyacc_WhVubVb(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybusv_acc)(Vxx,Vu,Vv)
1934#endif /* __HEXAGON_ARCH___ >= 60 */
19351587
1936#if __HVX_ARCH__ >= 60
19371588/* ==========================================================================
19381589 Assembly Syntax: Vdd32.h=vmpy(Vu32.b,Vv32.b)
19391590 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpy_VbVb(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1942,9 +1593,7 @@
19421593 ========================================================================== */
19431594
19441595#define Q6_Wh_vmpy_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybv)(Vu,Vv)
1945#endif /* __HEXAGON_ARCH___ >= 60 */
19461596
1947#if __HVX_ARCH__ >= 60
19481597/* ==========================================================================
19491598 Assembly Syntax: Vxx32.h+=vmpy(Vu32.b,Vv32.b)
19501599 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vmpyacc_WhVbVb(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -1953,9 +1602,7 @@
19531602 ========================================================================== */
19541603
19551604#define Q6_Wh_vmpyacc_WhVbVb(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpybv_acc)(Vxx,Vu,Vv)
1956#endif /* __HEXAGON_ARCH___ >= 60 */
19571605
1958#if __HVX_ARCH__ >= 60
19591606/* ==========================================================================
19601607 Assembly Syntax: Vd32.w=vmpye(Vu32.w,Vv32.uh)
19611608 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpye_VwVuh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -1964,9 +1611,7 @@
19641611 ========================================================================== */
19651612
19661613#define Q6_Vw_vmpye_VwVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyewuh)(Vu,Vv)
1967#endif /* __HEXAGON_ARCH___ >= 60 */
19681614
1969#if __HVX_ARCH__ >= 60
19701615/* ==========================================================================
19711616 Assembly Syntax: Vdd32.w=vmpy(Vu32.h,Rt32.h)
19721617 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpy_VhRh(HVX_Vector Vu, Word32 Rt)
......@@ -1975,9 +1620,7 @@
19751620 ========================================================================== */
19761621
19771622#define Q6_Ww_vmpy_VhRh(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyh)(Vu,Rt)
1978#endif /* __HEXAGON_ARCH___ >= 60 */
19791623
1980#if __HVX_ARCH__ >= 60
19811624/* ==========================================================================
19821625 Assembly Syntax: Vxx32.w+=vmpy(Vu32.h,Rt32.h):sat
19831626 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpyacc_WwVhRh_sat(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
......@@ -1986,9 +1629,7 @@
19861629 ========================================================================== */
19871630
19881631#define Q6_Ww_vmpyacc_WwVhRh_sat(Vxx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhsat_acc)(Vxx,Vu,Rt)
1989#endif /* __HEXAGON_ARCH___ >= 60 */
19901632
1991#if __HVX_ARCH__ >= 60
19921633/* ==========================================================================
19931634 Assembly Syntax: Vd32.h=vmpy(Vu32.h,Rt32.h):<<1:rnd:sat
19941635 C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpy_VhRh_s1_rnd_sat(HVX_Vector Vu, Word32 Rt)
......@@ -1997,9 +1638,7 @@
19971638 ========================================================================== */
19981639
19991640#define Q6_Vh_vmpy_VhRh_s1_rnd_sat(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhsrs)(Vu,Rt)
2000#endif /* __HEXAGON_ARCH___ >= 60 */
20011641
2002#if __HVX_ARCH__ >= 60
20031642/* ==========================================================================
20041643 Assembly Syntax: Vd32.h=vmpy(Vu32.h,Rt32.h):<<1:sat
20051644 C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpy_VhRh_s1_sat(HVX_Vector Vu, Word32 Rt)
......@@ -2008,9 +1647,7 @@
20081647 ========================================================================== */
20091648
20101649#define Q6_Vh_vmpy_VhRh_s1_sat(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhss)(Vu,Rt)
2011#endif /* __HEXAGON_ARCH___ >= 60 */
20121650
2013#if __HVX_ARCH__ >= 60
20141651/* ==========================================================================
20151652 Assembly Syntax: Vdd32.w=vmpy(Vu32.h,Vv32.uh)
20161653 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpy_VhVuh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2019,9 +1656,7 @@
20191656 ========================================================================== */
20201657
20211658#define Q6_Ww_vmpy_VhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhus)(Vu,Vv)
2022#endif /* __HEXAGON_ARCH___ >= 60 */
20231659
2024#if __HVX_ARCH__ >= 60
20251660/* ==========================================================================
20261661 Assembly Syntax: Vxx32.w+=vmpy(Vu32.h,Vv32.uh)
20271662 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpyacc_WwVhVuh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2030,9 +1665,7 @@
20301665 ========================================================================== */
20311666
20321667#define Q6_Ww_vmpyacc_WwVhVuh(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhus_acc)(Vxx,Vu,Vv)
2033#endif /* __HEXAGON_ARCH___ >= 60 */
20341668
2035#if __HVX_ARCH__ >= 60
20361669/* ==========================================================================
20371670 Assembly Syntax: Vdd32.w=vmpy(Vu32.h,Vv32.h)
20381671 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpy_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2041,9 +1674,7 @@
20411674 ========================================================================== */
20421675
20431676#define Q6_Ww_vmpy_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhv)(Vu,Vv)
2044#endif /* __HEXAGON_ARCH___ >= 60 */
20451677
2046#if __HVX_ARCH__ >= 60
20471678/* ==========================================================================
20481679 Assembly Syntax: Vxx32.w+=vmpy(Vu32.h,Vv32.h)
20491680 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vmpyacc_WwVhVh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2052,9 +1683,7 @@
20521683 ========================================================================== */
20531684
20541685#define Q6_Ww_vmpyacc_WwVhVh(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhv_acc)(Vxx,Vu,Vv)
2055#endif /* __HEXAGON_ARCH___ >= 60 */
20561686
2057#if __HVX_ARCH__ >= 60
20581687/* ==========================================================================
20591688 Assembly Syntax: Vd32.h=vmpy(Vu32.h,Vv32.h):<<1:rnd:sat
20601689 C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpy_VhVh_s1_rnd_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2063,9 +1692,7 @@
20631692 ========================================================================== */
20641693
20651694#define Q6_Vh_vmpy_VhVh_s1_rnd_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyhvsrs)(Vu,Vv)
2066#endif /* __HEXAGON_ARCH___ >= 60 */
20671695
2068#if __HVX_ARCH__ >= 60
20691696/* ==========================================================================
20701697 Assembly Syntax: Vd32.w=vmpyieo(Vu32.h,Vv32.h)
20711698 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyieo_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2074,9 +1701,7 @@
20741701 ========================================================================== */
20751702
20761703#define Q6_Vw_vmpyieo_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyieoh)(Vu,Vv)
2077#endif /* __HEXAGON_ARCH___ >= 60 */
20781704
2079#if __HVX_ARCH__ >= 60
20801705/* ==========================================================================
20811706 Assembly Syntax: Vx32.w+=vmpyie(Vu32.w,Vv32.h)
20821707 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyieacc_VwVwVh(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2085,9 +1710,7 @@
20851710 ========================================================================== */
20861711
20871712#define Q6_Vw_vmpyieacc_VwVwVh(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiewh_acc)(Vx,Vu,Vv)
2088#endif /* __HEXAGON_ARCH___ >= 60 */
20891713
2090#if __HVX_ARCH__ >= 60
20911714/* ==========================================================================
20921715 Assembly Syntax: Vd32.w=vmpyie(Vu32.w,Vv32.uh)
20931716 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyie_VwVuh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2096,9 +1719,7 @@
20961719 ========================================================================== */
20971720
20981721#define Q6_Vw_vmpyie_VwVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiewuh)(Vu,Vv)
2099#endif /* __HEXAGON_ARCH___ >= 60 */
21001722
2101#if __HVX_ARCH__ >= 60
21021723/* ==========================================================================
21031724 Assembly Syntax: Vx32.w+=vmpyie(Vu32.w,Vv32.uh)
21041725 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyieacc_VwVwVuh(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2107,9 +1728,7 @@
21071728 ========================================================================== */
21081729
21091730#define Q6_Vw_vmpyieacc_VwVwVuh(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiewuh_acc)(Vx,Vu,Vv)
2110#endif /* __HEXAGON_ARCH___ >= 60 */
21111731
2112#if __HVX_ARCH__ >= 60
21131732/* ==========================================================================
21141733 Assembly Syntax: Vd32.h=vmpyi(Vu32.h,Vv32.h)
21151734 C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpyi_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2118,9 +1737,7 @@
21181737 ========================================================================== */
21191738
21201739#define Q6_Vh_vmpyi_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyih)(Vu,Vv)
2121#endif /* __HEXAGON_ARCH___ >= 60 */
21221740
2123#if __HVX_ARCH__ >= 60
21241741/* ==========================================================================
21251742 Assembly Syntax: Vx32.h+=vmpyi(Vu32.h,Vv32.h)
21261743 C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpyiacc_VhVhVh(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2129,9 +1746,7 @@
21291746 ========================================================================== */
21301747
21311748#define Q6_Vh_vmpyiacc_VhVhVh(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyih_acc)(Vx,Vu,Vv)
2132#endif /* __HEXAGON_ARCH___ >= 60 */
21331749
2134#if __HVX_ARCH__ >= 60
21351750/* ==========================================================================
21361751 Assembly Syntax: Vd32.h=vmpyi(Vu32.h,Rt32.b)
21371752 C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpyi_VhRb(HVX_Vector Vu, Word32 Rt)
......@@ -2140,9 +1755,7 @@
21401755 ========================================================================== */
21411756
21421757#define Q6_Vh_vmpyi_VhRb(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyihb)(Vu,Rt)
2143#endif /* __HEXAGON_ARCH___ >= 60 */
21441758
2145#if __HVX_ARCH__ >= 60
21461759/* ==========================================================================
21471760 Assembly Syntax: Vx32.h+=vmpyi(Vu32.h,Rt32.b)
21481761 C Intrinsic Prototype: HVX_Vector Q6_Vh_vmpyiacc_VhVhRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
......@@ -2151,9 +1764,7 @@
21511764 ========================================================================== */
21521765
21531766#define Q6_Vh_vmpyiacc_VhVhRb(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyihb_acc)(Vx,Vu,Rt)
2154#endif /* __HEXAGON_ARCH___ >= 60 */
21551767
2156#if __HVX_ARCH__ >= 60
21571768/* ==========================================================================
21581769 Assembly Syntax: Vd32.w=vmpyio(Vu32.w,Vv32.h)
21591770 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyio_VwVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2162,9 +1773,7 @@
21621773 ========================================================================== */
21631774
21641775#define Q6_Vw_vmpyio_VwVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiowh)(Vu,Vv)
2165#endif /* __HEXAGON_ARCH___ >= 60 */
21661776
2167#if __HVX_ARCH__ >= 60
21681777/* ==========================================================================
21691778 Assembly Syntax: Vd32.w=vmpyi(Vu32.w,Rt32.b)
21701779 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyi_VwRb(HVX_Vector Vu, Word32 Rt)
......@@ -2173,9 +1782,7 @@
21731782 ========================================================================== */
21741783
21751784#define Q6_Vw_vmpyi_VwRb(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwb)(Vu,Rt)
2176#endif /* __HEXAGON_ARCH___ >= 60 */
21771785
2178#if __HVX_ARCH__ >= 60
21791786/* ==========================================================================
21801787 Assembly Syntax: Vx32.w+=vmpyi(Vu32.w,Rt32.b)
21811788 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyiacc_VwVwRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
......@@ -2184,9 +1791,7 @@
21841791 ========================================================================== */
21851792
21861793#define Q6_Vw_vmpyiacc_VwVwRb(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwb_acc)(Vx,Vu,Rt)
2187#endif /* __HEXAGON_ARCH___ >= 60 */
21881794
2189#if __HVX_ARCH__ >= 60
21901795/* ==========================================================================
21911796 Assembly Syntax: Vd32.w=vmpyi(Vu32.w,Rt32.h)
21921797 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyi_VwRh(HVX_Vector Vu, Word32 Rt)
......@@ -2195,9 +1800,7 @@
21951800 ========================================================================== */
21961801
21971802#define Q6_Vw_vmpyi_VwRh(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwh)(Vu,Rt)
2198#endif /* __HEXAGON_ARCH___ >= 60 */
21991803
2200#if __HVX_ARCH__ >= 60
22011804/* ==========================================================================
22021805 Assembly Syntax: Vx32.w+=vmpyi(Vu32.w,Rt32.h)
22031806 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyiacc_VwVwRh(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
......@@ -2206,9 +1809,7 @@
22061809 ========================================================================== */
22071810
22081811#define Q6_Vw_vmpyiacc_VwVwRh(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwh_acc)(Vx,Vu,Rt)
2209#endif /* __HEXAGON_ARCH___ >= 60 */
22101812
2211#if __HVX_ARCH__ >= 60
22121813/* ==========================================================================
22131814 Assembly Syntax: Vd32.w=vmpyo(Vu32.w,Vv32.h):<<1:sat
22141815 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyo_VwVh_s1_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2217,9 +1818,7 @@
22171818 ========================================================================== */
22181819
22191820#define Q6_Vw_vmpyo_VwVh_s1_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh)(Vu,Vv)
2220#endif /* __HEXAGON_ARCH___ >= 60 */
22211821
2222#if __HVX_ARCH__ >= 60
22231822/* ==========================================================================
22241823 Assembly Syntax: Vd32.w=vmpyo(Vu32.w,Vv32.h):<<1:rnd:sat
22251824 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyo_VwVh_s1_rnd_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2228,9 +1827,7 @@
22281827 ========================================================================== */
22291828
22301829#define Q6_Vw_vmpyo_VwVh_s1_rnd_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh_rnd)(Vu,Vv)
2231#endif /* __HEXAGON_ARCH___ >= 60 */
22321830
2233#if __HVX_ARCH__ >= 60
22341831/* ==========================================================================
22351832 Assembly Syntax: Vx32.w+=vmpyo(Vu32.w,Vv32.h):<<1:rnd:sat:shift
22361833 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyoacc_VwVwVh_s1_rnd_sat_shift(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2239,9 +1836,7 @@
22391836 ========================================================================== */
22401837
22411838#define Q6_Vw_vmpyoacc_VwVwVh_s1_rnd_sat_shift(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh_rnd_sacc)(Vx,Vu,Vv)
2242#endif /* __HEXAGON_ARCH___ >= 60 */
22431839
2244#if __HVX_ARCH__ >= 60
22451840/* ==========================================================================
22461841 Assembly Syntax: Vx32.w+=vmpyo(Vu32.w,Vv32.h):<<1:sat:shift
22471842 C Intrinsic Prototype: HVX_Vector Q6_Vw_vmpyoacc_VwVwVh_s1_sat_shift(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2250,9 +1845,7 @@
22501845 ========================================================================== */
22511846
22521847#define Q6_Vw_vmpyoacc_VwVwVh_s1_sat_shift(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh_sacc)(Vx,Vu,Vv)
2253#endif /* __HEXAGON_ARCH___ >= 60 */
22541848
2255#if __HVX_ARCH__ >= 60
22561849/* ==========================================================================
22571850 Assembly Syntax: Vdd32.uh=vmpy(Vu32.ub,Rt32.ub)
22581851 C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vmpy_VubRub(HVX_Vector Vu, Word32 Rt)
......@@ -2261,9 +1854,7 @@
22611854 ========================================================================== */
22621855
22631856#define Q6_Wuh_vmpy_VubRub(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyub)(Vu,Rt)
2264#endif /* __HEXAGON_ARCH___ >= 60 */
22651857
2266#if __HVX_ARCH__ >= 60
22671858/* ==========================================================================
22681859 Assembly Syntax: Vxx32.uh+=vmpy(Vu32.ub,Rt32.ub)
22691860 C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vmpyacc_WuhVubRub(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
......@@ -2272,9 +1863,7 @@
22721863 ========================================================================== */
22731864
22741865#define Q6_Wuh_vmpyacc_WuhVubRub(Vxx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyub_acc)(Vxx,Vu,Rt)
2275#endif /* __HEXAGON_ARCH___ >= 60 */
22761866
2277#if __HVX_ARCH__ >= 60
22781867/* ==========================================================================
22791868 Assembly Syntax: Vdd32.uh=vmpy(Vu32.ub,Vv32.ub)
22801869 C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vmpy_VubVub(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2283,9 +1872,7 @@
22831872 ========================================================================== */
22841873
22851874#define Q6_Wuh_vmpy_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyubv)(Vu,Vv)
2286#endif /* __HEXAGON_ARCH___ >= 60 */
22871875
2288#if __HVX_ARCH__ >= 60
22891876/* ==========================================================================
22901877 Assembly Syntax: Vxx32.uh+=vmpy(Vu32.ub,Vv32.ub)
22911878 C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vmpyacc_WuhVubVub(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2294,9 +1881,7 @@
22941881 ========================================================================== */
22951882
22961883#define Q6_Wuh_vmpyacc_WuhVubVub(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyubv_acc)(Vxx,Vu,Vv)
2297#endif /* __HEXAGON_ARCH___ >= 60 */
22981884
2299#if __HVX_ARCH__ >= 60
23001885/* ==========================================================================
23011886 Assembly Syntax: Vdd32.uw=vmpy(Vu32.uh,Rt32.uh)
23021887 C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vmpy_VuhRuh(HVX_Vector Vu, Word32 Rt)
......@@ -2305,9 +1890,7 @@
23051890 ========================================================================== */
23061891
23071892#define Q6_Wuw_vmpy_VuhRuh(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuh)(Vu,Rt)
2308#endif /* __HEXAGON_ARCH___ >= 60 */
23091893
2310#if __HVX_ARCH__ >= 60
23111894/* ==========================================================================
23121895 Assembly Syntax: Vxx32.uw+=vmpy(Vu32.uh,Rt32.uh)
23131896 C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vmpyacc_WuwVuhRuh(HVX_VectorPair Vxx, HVX_Vector Vu, Word32 Rt)
......@@ -2316,9 +1899,7 @@
23161899 ========================================================================== */
23171900
23181901#define Q6_Wuw_vmpyacc_WuwVuhRuh(Vxx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuh_acc)(Vxx,Vu,Rt)
2319#endif /* __HEXAGON_ARCH___ >= 60 */
23201902
2321#if __HVX_ARCH__ >= 60
23221903/* ==========================================================================
23231904 Assembly Syntax: Vdd32.uw=vmpy(Vu32.uh,Vv32.uh)
23241905 C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vmpy_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2327,9 +1908,7 @@
23271908 ========================================================================== */
23281909
23291910#define Q6_Wuw_vmpy_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhv)(Vu,Vv)
2330#endif /* __HEXAGON_ARCH___ >= 60 */
23311911
2332#if __HVX_ARCH__ >= 60
23331912/* ==========================================================================
23341913 Assembly Syntax: Vxx32.uw+=vmpy(Vu32.uh,Vv32.uh)
23351914 C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vmpyacc_WuwVuhVuh(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2338,9 +1917,7 @@
23381917 ========================================================================== */
23391918
23401919#define Q6_Wuw_vmpyacc_WuwVuhVuh(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhv_acc)(Vxx,Vu,Vv)
2341#endif /* __HEXAGON_ARCH___ >= 60 */
23421920
2343#if __HVX_ARCH__ >= 60
23441921/* ==========================================================================
23451922 Assembly Syntax: Vd32=vmux(Qt4,Vu32,Vv32)
23461923 C Intrinsic Prototype: HVX_Vector Q6_V_vmux_QVV(HVX_VectorPred Qt, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2349,9 +1926,7 @@
23491926 ========================================================================== */
23501927
23511928#define Q6_V_vmux_QVV(Qt,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmux)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1),Vu,Vv)
2352#endif /* __HEXAGON_ARCH___ >= 60 */
23531929
2354#if __HVX_ARCH__ >= 60
23551930/* ==========================================================================
23561931 Assembly Syntax: Vd32.h=vnavg(Vu32.h,Vv32.h)
23571932 C Intrinsic Prototype: HVX_Vector Q6_Vh_vnavg_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2360,9 +1935,7 @@
23601935 ========================================================================== */
23611936
23621937#define Q6_Vh_vnavg_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnavgh)(Vu,Vv)
2363#endif /* __HEXAGON_ARCH___ >= 60 */
23641938
2365#if __HVX_ARCH__ >= 60
23661939/* ==========================================================================
23671940 Assembly Syntax: Vd32.b=vnavg(Vu32.ub,Vv32.ub)
23681941 C Intrinsic Prototype: HVX_Vector Q6_Vb_vnavg_VubVub(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2371,9 +1944,7 @@
23711944 ========================================================================== */
23721945
23731946#define Q6_Vb_vnavg_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnavgub)(Vu,Vv)
2374#endif /* __HEXAGON_ARCH___ >= 60 */
23751947
2376#if __HVX_ARCH__ >= 60
23771948/* ==========================================================================
23781949 Assembly Syntax: Vd32.w=vnavg(Vu32.w,Vv32.w)
23791950 C Intrinsic Prototype: HVX_Vector Q6_Vw_vnavg_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2382,9 +1953,7 @@
23821953 ========================================================================== */
23831954
23841955#define Q6_Vw_vnavg_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnavgw)(Vu,Vv)
2385#endif /* __HEXAGON_ARCH___ >= 60 */
23861956
2387#if __HVX_ARCH__ >= 60
23881957/* ==========================================================================
23891958 Assembly Syntax: Vd32.h=vnormamt(Vu32.h)
23901959 C Intrinsic Prototype: HVX_Vector Q6_Vh_vnormamt_Vh(HVX_Vector Vu)
......@@ -2393,9 +1962,7 @@
23931962 ========================================================================== */
23941963
23951964#define Q6_Vh_vnormamt_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnormamth)(Vu)
2396#endif /* __HEXAGON_ARCH___ >= 60 */
23971965
2398#if __HVX_ARCH__ >= 60
23991966/* ==========================================================================
24001967 Assembly Syntax: Vd32.w=vnormamt(Vu32.w)
24011968 C Intrinsic Prototype: HVX_Vector Q6_Vw_vnormamt_Vw(HVX_Vector Vu)
......@@ -2404,9 +1971,7 @@
24041971 ========================================================================== */
24051972
24061973#define Q6_Vw_vnormamt_Vw(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnormamtw)(Vu)
2407#endif /* __HEXAGON_ARCH___ >= 60 */
24081974
2409#if __HVX_ARCH__ >= 60
24101975/* ==========================================================================
24111976 Assembly Syntax: Vd32=vnot(Vu32)
24121977 C Intrinsic Prototype: HVX_Vector Q6_V_vnot_V(HVX_Vector Vu)
......@@ -2415,9 +1980,7 @@
24151980 ========================================================================== */
24161981
24171982#define Q6_V_vnot_V(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnot)(Vu)
2418#endif /* __HEXAGON_ARCH___ >= 60 */
24191983
2420#if __HVX_ARCH__ >= 60
24211984/* ==========================================================================
24221985 Assembly Syntax: Vd32=vor(Vu32,Vv32)
24231986 C Intrinsic Prototype: HVX_Vector Q6_V_vor_VV(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2426,9 +1989,7 @@
24261989 ========================================================================== */
24271990
24281991#define Q6_V_vor_VV(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vor)(Vu,Vv)
2429#endif /* __HEXAGON_ARCH___ >= 60 */
24301992
2431#if __HVX_ARCH__ >= 60
24321993/* ==========================================================================
24331994 Assembly Syntax: Vd32.b=vpacke(Vu32.h,Vv32.h)
24341995 C Intrinsic Prototype: HVX_Vector Q6_Vb_vpacke_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2437,9 +1998,7 @@
24371998 ========================================================================== */
24381999
24392000#define Q6_Vb_vpacke_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackeb)(Vu,Vv)
2440#endif /* __HEXAGON_ARCH___ >= 60 */
24412001
2442#if __HVX_ARCH__ >= 60
24432002/* ==========================================================================
24442003 Assembly Syntax: Vd32.h=vpacke(Vu32.w,Vv32.w)
24452004 C Intrinsic Prototype: HVX_Vector Q6_Vh_vpacke_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2448,9 +2007,7 @@
24482007 ========================================================================== */
24492008
24502009#define Q6_Vh_vpacke_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackeh)(Vu,Vv)
2451#endif /* __HEXAGON_ARCH___ >= 60 */
24522010
2453#if __HVX_ARCH__ >= 60
24542011/* ==========================================================================
24552012 Assembly Syntax: Vd32.b=vpack(Vu32.h,Vv32.h):sat
24562013 C Intrinsic Prototype: HVX_Vector Q6_Vb_vpack_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2459,9 +2016,7 @@
24592016 ========================================================================== */
24602017
24612018#define Q6_Vb_vpack_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackhb_sat)(Vu,Vv)
2462#endif /* __HEXAGON_ARCH___ >= 60 */
24632019
2464#if __HVX_ARCH__ >= 60
24652020/* ==========================================================================
24662021 Assembly Syntax: Vd32.ub=vpack(Vu32.h,Vv32.h):sat
24672022 C Intrinsic Prototype: HVX_Vector Q6_Vub_vpack_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2470,9 +2025,7 @@
24702025 ========================================================================== */
24712026
24722027#define Q6_Vub_vpack_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackhub_sat)(Vu,Vv)
2473#endif /* __HEXAGON_ARCH___ >= 60 */
24742028
2475#if __HVX_ARCH__ >= 60
24762029/* ==========================================================================
24772030 Assembly Syntax: Vd32.b=vpacko(Vu32.h,Vv32.h)
24782031 C Intrinsic Prototype: HVX_Vector Q6_Vb_vpacko_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2481,9 +2034,7 @@
24812034 ========================================================================== */
24822035
24832036#define Q6_Vb_vpacko_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackob)(Vu,Vv)
2484#endif /* __HEXAGON_ARCH___ >= 60 */
24852037
2486#if __HVX_ARCH__ >= 60
24872038/* ==========================================================================
24882039 Assembly Syntax: Vd32.h=vpacko(Vu32.w,Vv32.w)
24892040 C Intrinsic Prototype: HVX_Vector Q6_Vh_vpacko_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2492,9 +2043,7 @@
24922043 ========================================================================== */
24932044
24942045#define Q6_Vh_vpacko_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackoh)(Vu,Vv)
2495#endif /* __HEXAGON_ARCH___ >= 60 */
24962046
2497#if __HVX_ARCH__ >= 60
24982047/* ==========================================================================
24992048 Assembly Syntax: Vd32.h=vpack(Vu32.w,Vv32.w):sat
25002049 C Intrinsic Prototype: HVX_Vector Q6_Vh_vpack_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2503,9 +2052,7 @@
25032052 ========================================================================== */
25042053
25052054#define Q6_Vh_vpack_VwVw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackwh_sat)(Vu,Vv)
2506#endif /* __HEXAGON_ARCH___ >= 60 */
25072055
2508#if __HVX_ARCH__ >= 60
25092056/* ==========================================================================
25102057 Assembly Syntax: Vd32.uh=vpack(Vu32.w,Vv32.w):sat
25112058 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vpack_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2514,9 +2061,7 @@
25142061 ========================================================================== */
25152062
25162063#define Q6_Vuh_vpack_VwVw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpackwuh_sat)(Vu,Vv)
2517#endif /* __HEXAGON_ARCH___ >= 60 */
25182064
2519#if __HVX_ARCH__ >= 60
25202065/* ==========================================================================
25212066 Assembly Syntax: Vd32.h=vpopcount(Vu32.h)
25222067 C Intrinsic Prototype: HVX_Vector Q6_Vh_vpopcount_Vh(HVX_Vector Vu)
......@@ -2525,9 +2070,7 @@
25252070 ========================================================================== */
25262071
25272072#define Q6_Vh_vpopcount_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vpopcounth)(Vu)
2528#endif /* __HEXAGON_ARCH___ >= 60 */
25292073
2530#if __HVX_ARCH__ >= 60
25312074/* ==========================================================================
25322075 Assembly Syntax: Vd32=vrdelta(Vu32,Vv32)
25332076 C Intrinsic Prototype: HVX_Vector Q6_V_vrdelta_VV(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2536,9 +2079,7 @@
25362079 ========================================================================== */
25372080
25382081#define Q6_V_vrdelta_VV(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrdelta)(Vu,Vv)
2539#endif /* __HEXAGON_ARCH___ >= 60 */
25402082
2541#if __HVX_ARCH__ >= 60
25422083/* ==========================================================================
25432084 Assembly Syntax: Vd32.w=vrmpy(Vu32.ub,Rt32.b)
25442085 C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpy_VubRb(HVX_Vector Vu, Word32 Rt)
......@@ -2547,9 +2088,7 @@
25472088 ========================================================================== */
25482089
25492090#define Q6_Vw_vrmpy_VubRb(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybus)(Vu,Rt)
2550#endif /* __HEXAGON_ARCH___ >= 60 */
25512091
2552#if __HVX_ARCH__ >= 60
25532092/* ==========================================================================
25542093 Assembly Syntax: Vx32.w+=vrmpy(Vu32.ub,Rt32.b)
25552094 C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpyacc_VwVubRb(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
......@@ -2558,9 +2097,7 @@
25582097 ========================================================================== */
25592098
25602099#define Q6_Vw_vrmpyacc_VwVubRb(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybus_acc)(Vx,Vu,Rt)
2561#endif /* __HEXAGON_ARCH___ >= 60 */
25622100
2563#if __HVX_ARCH__ >= 60
25642101/* ==========================================================================
25652102 Assembly Syntax: Vdd32.w=vrmpy(Vuu32.ub,Rt32.b,#u1)
25662103 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vrmpy_WubRbI(HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
......@@ -2569,9 +2106,7 @@
25692106 ========================================================================== */
25702107
25712108#define Q6_Ww_vrmpy_WubRbI(Vuu,Rt,Iu1) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybusi)(Vuu,Rt,Iu1)
2572#endif /* __HEXAGON_ARCH___ >= 60 */
25732109
2574#if __HVX_ARCH__ >= 60
25752110/* ==========================================================================
25762111 Assembly Syntax: Vxx32.w+=vrmpy(Vuu32.ub,Rt32.b,#u1)
25772112 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vrmpyacc_WwWubRbI(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
......@@ -2580,9 +2115,7 @@
25802115 ========================================================================== */
25812116
25822117#define Q6_Ww_vrmpyacc_WwWubRbI(Vxx,Vuu,Rt,Iu1) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybusi_acc)(Vxx,Vuu,Rt,Iu1)
2583#endif /* __HEXAGON_ARCH___ >= 60 */
25842118
2585#if __HVX_ARCH__ >= 60
25862119/* ==========================================================================
25872120 Assembly Syntax: Vd32.w=vrmpy(Vu32.ub,Vv32.b)
25882121 C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpy_VubVb(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2591,9 +2124,7 @@
25912124 ========================================================================== */
25922125
25932126#define Q6_Vw_vrmpy_VubVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybusv)(Vu,Vv)
2594#endif /* __HEXAGON_ARCH___ >= 60 */
25952127
2596#if __HVX_ARCH__ >= 60
25972128/* ==========================================================================
25982129 Assembly Syntax: Vx32.w+=vrmpy(Vu32.ub,Vv32.b)
25992130 C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpyacc_VwVubVb(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2602,9 +2133,7 @@
26022133 ========================================================================== */
26032134
26042135#define Q6_Vw_vrmpyacc_VwVubVb(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybusv_acc)(Vx,Vu,Vv)
2605#endif /* __HEXAGON_ARCH___ >= 60 */
26062136
2607#if __HVX_ARCH__ >= 60
26082137/* ==========================================================================
26092138 Assembly Syntax: Vd32.w=vrmpy(Vu32.b,Vv32.b)
26102139 C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpy_VbVb(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2613,9 +2142,7 @@
26132142 ========================================================================== */
26142143
26152144#define Q6_Vw_vrmpy_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybv)(Vu,Vv)
2616#endif /* __HEXAGON_ARCH___ >= 60 */
26172145
2618#if __HVX_ARCH__ >= 60
26192146/* ==========================================================================
26202147 Assembly Syntax: Vx32.w+=vrmpy(Vu32.b,Vv32.b)
26212148 C Intrinsic Prototype: HVX_Vector Q6_Vw_vrmpyacc_VwVbVb(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2624,9 +2151,7 @@
26242151 ========================================================================== */
26252152
26262153#define Q6_Vw_vrmpyacc_VwVbVb(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpybv_acc)(Vx,Vu,Vv)
2627#endif /* __HEXAGON_ARCH___ >= 60 */
26282154
2629#if __HVX_ARCH__ >= 60
26302155/* ==========================================================================
26312156 Assembly Syntax: Vd32.uw=vrmpy(Vu32.ub,Rt32.ub)
26322157 C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrmpy_VubRub(HVX_Vector Vu, Word32 Rt)
......@@ -2635,9 +2160,7 @@
26352160 ========================================================================== */
26362161
26372162#define Q6_Vuw_vrmpy_VubRub(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyub)(Vu,Rt)
2638#endif /* __HEXAGON_ARCH___ >= 60 */
26392163
2640#if __HVX_ARCH__ >= 60
26412164/* ==========================================================================
26422165 Assembly Syntax: Vx32.uw+=vrmpy(Vu32.ub,Rt32.ub)
26432166 C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrmpyacc_VuwVubRub(HVX_Vector Vx, HVX_Vector Vu, Word32 Rt)
......@@ -2646,9 +2169,7 @@
26462169 ========================================================================== */
26472170
26482171#define Q6_Vuw_vrmpyacc_VuwVubRub(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyub_acc)(Vx,Vu,Rt)
2649#endif /* __HEXAGON_ARCH___ >= 60 */
26502172
2651#if __HVX_ARCH__ >= 60
26522173/* ==========================================================================
26532174 Assembly Syntax: Vdd32.uw=vrmpy(Vuu32.ub,Rt32.ub,#u1)
26542175 C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vrmpy_WubRubI(HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
......@@ -2657,9 +2178,7 @@
26572178 ========================================================================== */
26582179
26592180#define Q6_Wuw_vrmpy_WubRubI(Vuu,Rt,Iu1) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyubi)(Vuu,Rt,Iu1)
2660#endif /* __HEXAGON_ARCH___ >= 60 */
26612181
2662#if __HVX_ARCH__ >= 60
26632182/* ==========================================================================
26642183 Assembly Syntax: Vxx32.uw+=vrmpy(Vuu32.ub,Rt32.ub,#u1)
26652184 C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vrmpyacc_WuwWubRubI(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
......@@ -2668,9 +2187,7 @@
26682187 ========================================================================== */
26692188
26702189#define Q6_Wuw_vrmpyacc_WuwWubRubI(Vxx,Vuu,Rt,Iu1) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyubi_acc)(Vxx,Vuu,Rt,Iu1)
2671#endif /* __HEXAGON_ARCH___ >= 60 */
26722190
2673#if __HVX_ARCH__ >= 60
26742191/* ==========================================================================
26752192 Assembly Syntax: Vd32.uw=vrmpy(Vu32.ub,Vv32.ub)
26762193 C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrmpy_VubVub(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2679,9 +2196,7 @@
26792196 ========================================================================== */
26802197
26812198#define Q6_Vuw_vrmpy_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyubv)(Vu,Vv)
2682#endif /* __HEXAGON_ARCH___ >= 60 */
26832199
2684#if __HVX_ARCH__ >= 60
26852200/* ==========================================================================
26862201 Assembly Syntax: Vx32.uw+=vrmpy(Vu32.ub,Vv32.ub)
26872202 C Intrinsic Prototype: HVX_Vector Q6_Vuw_vrmpyacc_VuwVubVub(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -2690,9 +2205,7 @@
26902205 ========================================================================== */
26912206
26922207#define Q6_Vuw_vrmpyacc_VuwVubVub(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrmpyubv_acc)(Vx,Vu,Vv)
2693#endif /* __HEXAGON_ARCH___ >= 60 */
26942208
2695#if __HVX_ARCH__ >= 60
26962209/* ==========================================================================
26972210 Assembly Syntax: Vd32=vror(Vu32,Rt32)
26982211 C Intrinsic Prototype: HVX_Vector Q6_V_vror_VR(HVX_Vector Vu, Word32 Rt)
......@@ -2701,9 +2214,7 @@
27012214 ========================================================================== */
27022215
27032216#define Q6_V_vror_VR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vror)(Vu,Rt)
2704#endif /* __HEXAGON_ARCH___ >= 60 */
27052217
2706#if __HVX_ARCH__ >= 60
27072218/* ==========================================================================
27082219 Assembly Syntax: Vd32.b=vround(Vu32.h,Vv32.h):sat
27092220 C Intrinsic Prototype: HVX_Vector Q6_Vb_vround_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2712,9 +2223,7 @@
27122223 ========================================================================== */
27132224
27142225#define Q6_Vb_vround_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vroundhb)(Vu,Vv)
2715#endif /* __HEXAGON_ARCH___ >= 60 */
27162226
2717#if __HVX_ARCH__ >= 60
27182227/* ==========================================================================
27192228 Assembly Syntax: Vd32.ub=vround(Vu32.h,Vv32.h):sat
27202229 C Intrinsic Prototype: HVX_Vector Q6_Vub_vround_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2723,9 +2232,7 @@
27232232 ========================================================================== */
27242233
27252234#define Q6_Vub_vround_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vroundhub)(Vu,Vv)
2726#endif /* __HEXAGON_ARCH___ >= 60 */
27272235
2728#if __HVX_ARCH__ >= 60
27292236/* ==========================================================================
27302237 Assembly Syntax: Vd32.h=vround(Vu32.w,Vv32.w):sat
27312238 C Intrinsic Prototype: HVX_Vector Q6_Vh_vround_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2734,9 +2241,7 @@
27342241 ========================================================================== */
27352242
27362243#define Q6_Vh_vround_VwVw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vroundwh)(Vu,Vv)
2737#endif /* __HEXAGON_ARCH___ >= 60 */
27382244
2739#if __HVX_ARCH__ >= 60
27402245/* ==========================================================================
27412246 Assembly Syntax: Vd32.uh=vround(Vu32.w,Vv32.w):sat
27422247 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vround_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2745,9 +2250,7 @@
27452250 ========================================================================== */
27462251
27472252#define Q6_Vuh_vround_VwVw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vroundwuh)(Vu,Vv)
2748#endif /* __HEXAGON_ARCH___ >= 60 */
27492253
2750#if __HVX_ARCH__ >= 60
27512254/* ==========================================================================
27522255 Assembly Syntax: Vdd32.uw=vrsad(Vuu32.ub,Rt32.ub,#u1)
27532256 C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vrsad_WubRubI(HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
......@@ -2756,9 +2259,7 @@
27562259 ========================================================================== */
27572260
27582261#define Q6_Wuw_vrsad_WubRubI(Vuu,Rt,Iu1) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrsadubi)(Vuu,Rt,Iu1)
2759#endif /* __HEXAGON_ARCH___ >= 60 */
27602262
2761#if __HVX_ARCH__ >= 60
27622263/* ==========================================================================
27632264 Assembly Syntax: Vxx32.uw+=vrsad(Vuu32.ub,Rt32.ub,#u1)
27642265 C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vrsadacc_WuwWubRubI(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt, Word32 Iu1)
......@@ -2767,9 +2268,7 @@
27672268 ========================================================================== */
27682269
27692270#define Q6_Wuw_vrsadacc_WuwWubRubI(Vxx,Vuu,Rt,Iu1) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrsadubi_acc)(Vxx,Vuu,Rt,Iu1)
2770#endif /* __HEXAGON_ARCH___ >= 60 */
27712271
2772#if __HVX_ARCH__ >= 60
27732272/* ==========================================================================
27742273 Assembly Syntax: Vd32.ub=vsat(Vu32.h,Vv32.h)
27752274 C Intrinsic Prototype: HVX_Vector Q6_Vub_vsat_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2778,9 +2277,7 @@
27782277 ========================================================================== */
27792278
27802279#define Q6_Vub_vsat_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsathub)(Vu,Vv)
2781#endif /* __HEXAGON_ARCH___ >= 60 */
27822280
2783#if __HVX_ARCH__ >= 60
27842281/* ==========================================================================
27852282 Assembly Syntax: Vd32.h=vsat(Vu32.w,Vv32.w)
27862283 C Intrinsic Prototype: HVX_Vector Q6_Vh_vsat_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2789,9 +2286,7 @@
27892286 ========================================================================== */
27902287
27912288#define Q6_Vh_vsat_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsatwh)(Vu,Vv)
2792#endif /* __HEXAGON_ARCH___ >= 60 */
27932289
2794#if __HVX_ARCH__ >= 60
27952290/* ==========================================================================
27962291 Assembly Syntax: Vdd32.h=vsxt(Vu32.b)
27972292 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vsxt_Vb(HVX_Vector Vu)
......@@ -2800,9 +2295,7 @@
28002295 ========================================================================== */
28012296
28022297#define Q6_Wh_vsxt_Vb(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsb)(Vu)
2803#endif /* __HEXAGON_ARCH___ >= 60 */
28042298
2805#if __HVX_ARCH__ >= 60
28062299/* ==========================================================================
28072300 Assembly Syntax: Vdd32.w=vsxt(Vu32.h)
28082301 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsxt_Vh(HVX_Vector Vu)
......@@ -2811,9 +2304,7 @@
28112304 ========================================================================== */
28122305
28132306#define Q6_Ww_vsxt_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsh)(Vu)
2814#endif /* __HEXAGON_ARCH___ >= 60 */
28152307
2816#if __HVX_ARCH__ >= 60
28172308/* ==========================================================================
28182309 Assembly Syntax: Vd32.h=vshuffe(Vu32.h,Vv32.h)
28192310 C Intrinsic Prototype: HVX_Vector Q6_Vh_vshuffe_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2822,9 +2313,7 @@
28222313 ========================================================================== */
28232314
28242315#define Q6_Vh_vshuffe_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshufeh)(Vu,Vv)
2825#endif /* __HEXAGON_ARCH___ >= 60 */
28262316
2827#if __HVX_ARCH__ >= 60
28282317/* ==========================================================================
28292318 Assembly Syntax: Vd32.b=vshuff(Vu32.b)
28302319 C Intrinsic Prototype: HVX_Vector Q6_Vb_vshuff_Vb(HVX_Vector Vu)
......@@ -2833,9 +2322,7 @@
28332322 ========================================================================== */
28342323
28352324#define Q6_Vb_vshuff_Vb(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffb)(Vu)
2836#endif /* __HEXAGON_ARCH___ >= 60 */
28372325
2838#if __HVX_ARCH__ >= 60
28392326/* ==========================================================================
28402327 Assembly Syntax: Vd32.b=vshuffe(Vu32.b,Vv32.b)
28412328 C Intrinsic Prototype: HVX_Vector Q6_Vb_vshuffe_VbVb(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2844,9 +2331,7 @@
28442331 ========================================================================== */
28452332
28462333#define Q6_Vb_vshuffe_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffeb)(Vu,Vv)
2847#endif /* __HEXAGON_ARCH___ >= 60 */
28482334
2849#if __HVX_ARCH__ >= 60
28502335/* ==========================================================================
28512336 Assembly Syntax: Vd32.h=vshuff(Vu32.h)
28522337 C Intrinsic Prototype: HVX_Vector Q6_Vh_vshuff_Vh(HVX_Vector Vu)
......@@ -2855,9 +2340,7 @@
28552340 ========================================================================== */
28562341
28572342#define Q6_Vh_vshuff_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffh)(Vu)
2858#endif /* __HEXAGON_ARCH___ >= 60 */
28592343
2860#if __HVX_ARCH__ >= 60
28612344/* ==========================================================================
28622345 Assembly Syntax: Vd32.b=vshuffo(Vu32.b,Vv32.b)
28632346 C Intrinsic Prototype: HVX_Vector Q6_Vb_vshuffo_VbVb(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2866,9 +2349,7 @@
28662349 ========================================================================== */
28672350
28682351#define Q6_Vb_vshuffo_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffob)(Vu,Vv)
2869#endif /* __HEXAGON_ARCH___ >= 60 */
28702352
2871#if __HVX_ARCH__ >= 60
28722353/* ==========================================================================
28732354 Assembly Syntax: Vdd32=vshuff(Vu32,Vv32,Rt8)
28742355 C Intrinsic Prototype: HVX_VectorPair Q6_W_vshuff_VVR(HVX_Vector Vu, HVX_Vector Vv, Word32 Rt)
......@@ -2877,9 +2358,7 @@
28772358 ========================================================================== */
28782359
28792360#define Q6_W_vshuff_VVR(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshuffvdd)(Vu,Vv,Rt)
2880#endif /* __HEXAGON_ARCH___ >= 60 */
28812361
2882#if __HVX_ARCH__ >= 60
28832362/* ==========================================================================
28842363 Assembly Syntax: Vdd32.b=vshuffoe(Vu32.b,Vv32.b)
28852364 C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vshuffoe_VbVb(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2888,9 +2367,7 @@
28882367 ========================================================================== */
28892368
28902369#define Q6_Wb_vshuffoe_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshufoeb)(Vu,Vv)
2891#endif /* __HEXAGON_ARCH___ >= 60 */
28922370
2893#if __HVX_ARCH__ >= 60
28942371/* ==========================================================================
28952372 Assembly Syntax: Vdd32.h=vshuffoe(Vu32.h,Vv32.h)
28962373 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vshuffoe_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2899,9 +2376,7 @@
28992376 ========================================================================== */
29002377
29012378#define Q6_Wh_vshuffoe_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshufoeh)(Vu,Vv)
2902#endif /* __HEXAGON_ARCH___ >= 60 */
29032379
2904#if __HVX_ARCH__ >= 60
29052380/* ==========================================================================
29062381 Assembly Syntax: Vd32.h=vshuffo(Vu32.h,Vv32.h)
29072382 C Intrinsic Prototype: HVX_Vector Q6_Vh_vshuffo_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2910,9 +2385,7 @@
29102385 ========================================================================== */
29112386
29122387#define Q6_Vh_vshuffo_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vshufoh)(Vu,Vv)
2913#endif /* __HEXAGON_ARCH___ >= 60 */
29142388
2915#if __HVX_ARCH__ >= 60
29162389/* ==========================================================================
29172390 Assembly Syntax: Vd32.b=vsub(Vu32.b,Vv32.b)
29182391 C Intrinsic Prototype: HVX_Vector Q6_Vb_vsub_VbVb(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2921,9 +2394,7 @@
29212394 ========================================================================== */
29222395
29232396#define Q6_Vb_vsub_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubb)(Vu,Vv)
2924#endif /* __HEXAGON_ARCH___ >= 60 */
29252397
2926#if __HVX_ARCH__ >= 60
29272398/* ==========================================================================
29282399 Assembly Syntax: Vdd32.b=vsub(Vuu32.b,Vvv32.b)
29292400 C Intrinsic Prototype: HVX_VectorPair Q6_Wb_vsub_WbWb(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -2932,9 +2403,7 @@
29322403 ========================================================================== */
29332404
29342405#define Q6_Wb_vsub_WbWb(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubb_dv)(Vuu,Vvv)
2935#endif /* __HEXAGON_ARCH___ >= 60 */
29362406
2937#if __HVX_ARCH__ >= 60
29382407/* ==========================================================================
29392408 Assembly Syntax: if (!Qv4) Vx32.b-=Vu32.b
29402409 C Intrinsic Prototype: HVX_Vector Q6_Vb_condnac_QnVbVb(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
......@@ -2943,9 +2412,7 @@
29432412 ========================================================================== */
29442413
29452414#define Q6_Vb_condnac_QnVbVb(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubbnq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
2946#endif /* __HEXAGON_ARCH___ >= 60 */
29472415
2948#if __HVX_ARCH__ >= 60
29492416/* ==========================================================================
29502417 Assembly Syntax: if (Qv4) Vx32.b-=Vu32.b
29512418 C Intrinsic Prototype: HVX_Vector Q6_Vb_condnac_QVbVb(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
......@@ -2954,9 +2421,7 @@
29542421 ========================================================================== */
29552422
29562423#define Q6_Vb_condnac_QVbVb(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubbq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
2957#endif /* __HEXAGON_ARCH___ >= 60 */
29582424
2959#if __HVX_ARCH__ >= 60
29602425/* ==========================================================================
29612426 Assembly Syntax: Vd32.h=vsub(Vu32.h,Vv32.h)
29622427 C Intrinsic Prototype: HVX_Vector Q6_Vh_vsub_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -2965,9 +2430,7 @@
29652430 ========================================================================== */
29662431
29672432#define Q6_Vh_vsub_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubh)(Vu,Vv)
2968#endif /* __HEXAGON_ARCH___ >= 60 */
29692433
2970#if __HVX_ARCH__ >= 60
29712434/* ==========================================================================
29722435 Assembly Syntax: Vdd32.h=vsub(Vuu32.h,Vvv32.h)
29732436 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vsub_WhWh(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -2976,9 +2439,7 @@
29762439 ========================================================================== */
29772440
29782441#define Q6_Wh_vsub_WhWh(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubh_dv)(Vuu,Vvv)
2979#endif /* __HEXAGON_ARCH___ >= 60 */
29802442
2981#if __HVX_ARCH__ >= 60
29822443/* ==========================================================================
29832444 Assembly Syntax: if (!Qv4) Vx32.h-=Vu32.h
29842445 C Intrinsic Prototype: HVX_Vector Q6_Vh_condnac_QnVhVh(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
......@@ -2987,9 +2448,7 @@
29872448 ========================================================================== */
29882449
29892450#define Q6_Vh_condnac_QnVhVh(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhnq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
2990#endif /* __HEXAGON_ARCH___ >= 60 */
29912451
2992#if __HVX_ARCH__ >= 60
29932452/* ==========================================================================
29942453 Assembly Syntax: if (Qv4) Vx32.h-=Vu32.h
29952454 C Intrinsic Prototype: HVX_Vector Q6_Vh_condnac_QVhVh(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
......@@ -2998,9 +2457,7 @@
29982457 ========================================================================== */
29992458
30002459#define Q6_Vh_condnac_QVhVh(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
3001#endif /* __HEXAGON_ARCH___ >= 60 */
30022460
3003#if __HVX_ARCH__ >= 60
30042461/* ==========================================================================
30052462 Assembly Syntax: Vd32.h=vsub(Vu32.h,Vv32.h):sat
30062463 C Intrinsic Prototype: HVX_Vector Q6_Vh_vsub_VhVh_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -3009,9 +2466,7 @@
30092466 ========================================================================== */
30102467
30112468#define Q6_Vh_vsub_VhVh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhsat)(Vu,Vv)
3012#endif /* __HEXAGON_ARCH___ >= 60 */
30132469
3014#if __HVX_ARCH__ >= 60
30152470/* ==========================================================================
30162471 Assembly Syntax: Vdd32.h=vsub(Vuu32.h,Vvv32.h):sat
30172472 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vsub_WhWh_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -3020,9 +2475,7 @@
30202475 ========================================================================== */
30212476
30222477#define Q6_Wh_vsub_WhWh_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhsat_dv)(Vuu,Vvv)
3023#endif /* __HEXAGON_ARCH___ >= 60 */
30242478
3025#if __HVX_ARCH__ >= 60
30262479/* ==========================================================================
30272480 Assembly Syntax: Vdd32.w=vsub(Vu32.h,Vv32.h)
30282481 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsub_VhVh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -3031,9 +2484,7 @@
30312484 ========================================================================== */
30322485
30332486#define Q6_Ww_vsub_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubhw)(Vu,Vv)
3034#endif /* __HEXAGON_ARCH___ >= 60 */
30352487
3036#if __HVX_ARCH__ >= 60
30372488/* ==========================================================================
30382489 Assembly Syntax: Vdd32.h=vsub(Vu32.ub,Vv32.ub)
30392490 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vsub_VubVub(HVX_Vector Vu, HVX_Vector Vv)
......@@ -3042,9 +2493,7 @@
30422493 ========================================================================== */
30432494
30442495#define Q6_Wh_vsub_VubVub(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsububh)(Vu,Vv)
3045#endif /* __HEXAGON_ARCH___ >= 60 */
30462496
3047#if __HVX_ARCH__ >= 60
30482497/* ==========================================================================
30492498 Assembly Syntax: Vd32.ub=vsub(Vu32.ub,Vv32.ub):sat
30502499 C Intrinsic Prototype: HVX_Vector Q6_Vub_vsub_VubVub_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -3053,9 +2502,7 @@
30532502 ========================================================================== */
30542503
30552504#define Q6_Vub_vsub_VubVub_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsububsat)(Vu,Vv)
3056#endif /* __HEXAGON_ARCH___ >= 60 */
30572505
3058#if __HVX_ARCH__ >= 60
30592506/* ==========================================================================
30602507 Assembly Syntax: Vdd32.ub=vsub(Vuu32.ub,Vvv32.ub):sat
30612508 C Intrinsic Prototype: HVX_VectorPair Q6_Wub_vsub_WubWub_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -3064,9 +2511,7 @@
30642511 ========================================================================== */
30652512
30662513#define Q6_Wub_vsub_WubWub_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsububsat_dv)(Vuu,Vvv)
3067#endif /* __HEXAGON_ARCH___ >= 60 */
30682514
3069#if __HVX_ARCH__ >= 60
30702515/* ==========================================================================
30712516 Assembly Syntax: Vd32.uh=vsub(Vu32.uh,Vv32.uh):sat
30722517 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vsub_VuhVuh_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -3075,9 +2520,7 @@
30752520 ========================================================================== */
30762521
30772522#define Q6_Vuh_vsub_VuhVuh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuhsat)(Vu,Vv)
3078#endif /* __HEXAGON_ARCH___ >= 60 */
30792523
3080#if __HVX_ARCH__ >= 60
30812524/* ==========================================================================
30822525 Assembly Syntax: Vdd32.uh=vsub(Vuu32.uh,Vvv32.uh):sat
30832526 C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vsub_WuhWuh_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -3086,9 +2529,7 @@
30862529 ========================================================================== */
30872530
30882531#define Q6_Wuh_vsub_WuhWuh_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuhsat_dv)(Vuu,Vvv)
3089#endif /* __HEXAGON_ARCH___ >= 60 */
30902532
3091#if __HVX_ARCH__ >= 60
30922533/* ==========================================================================
30932534 Assembly Syntax: Vdd32.w=vsub(Vu32.uh,Vv32.uh)
30942535 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsub_VuhVuh(HVX_Vector Vu, HVX_Vector Vv)
......@@ -3097,9 +2538,7 @@
30972538 ========================================================================== */
30982539
30992540#define Q6_Ww_vsub_VuhVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuhw)(Vu,Vv)
3100#endif /* __HEXAGON_ARCH___ >= 60 */
31012541
3102#if __HVX_ARCH__ >= 60
31032542/* ==========================================================================
31042543 Assembly Syntax: Vd32.w=vsub(Vu32.w,Vv32.w)
31052544 C Intrinsic Prototype: HVX_Vector Q6_Vw_vsub_VwVw(HVX_Vector Vu, HVX_Vector Vv)
......@@ -3108,9 +2547,7 @@
31082547 ========================================================================== */
31092548
31102549#define Q6_Vw_vsub_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubw)(Vu,Vv)
3111#endif /* __HEXAGON_ARCH___ >= 60 */
31122550
3113#if __HVX_ARCH__ >= 60
31142551/* ==========================================================================
31152552 Assembly Syntax: Vdd32.w=vsub(Vuu32.w,Vvv32.w)
31162553 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsub_WwWw(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -3119,9 +2556,7 @@
31192556 ========================================================================== */
31202557
31212558#define Q6_Ww_vsub_WwWw(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubw_dv)(Vuu,Vvv)
3122#endif /* __HEXAGON_ARCH___ >= 60 */
31232559
3124#if __HVX_ARCH__ >= 60
31252560/* ==========================================================================
31262561 Assembly Syntax: if (!Qv4) Vx32.w-=Vu32.w
31272562 C Intrinsic Prototype: HVX_Vector Q6_Vw_condnac_QnVwVw(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
......@@ -3130,9 +2565,7 @@
31302565 ========================================================================== */
31312566
31322567#define Q6_Vw_condnac_QnVwVw(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubwnq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
3133#endif /* __HEXAGON_ARCH___ >= 60 */
31342568
3135#if __HVX_ARCH__ >= 60
31362569/* ==========================================================================
31372570 Assembly Syntax: if (Qv4) Vx32.w-=Vu32.w
31382571 C Intrinsic Prototype: HVX_Vector Q6_Vw_condnac_QVwVw(HVX_VectorPred Qv, HVX_Vector Vx, HVX_Vector Vu)
......@@ -3141,9 +2574,7 @@
31412574 ========================================================================== */
31422575
31432576#define Q6_Vw_condnac_QVwVw(Qv,Vx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubwq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vx,Vu)
3144#endif /* __HEXAGON_ARCH___ >= 60 */
31452577
3146#if __HVX_ARCH__ >= 60
31472578/* ==========================================================================
31482579 Assembly Syntax: Vd32.w=vsub(Vu32.w,Vv32.w):sat
31492580 C Intrinsic Prototype: HVX_Vector Q6_Vw_vsub_VwVw_sat(HVX_Vector Vu, HVX_Vector Vv)
......@@ -3152,9 +2583,7 @@
31522583 ========================================================================== */
31532584
31542585#define Q6_Vw_vsub_VwVw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubwsat)(Vu,Vv)
3155#endif /* __HEXAGON_ARCH___ >= 60 */
31562586
3157#if __HVX_ARCH__ >= 60
31582587/* ==========================================================================
31592588 Assembly Syntax: Vdd32.w=vsub(Vuu32.w,Vvv32.w):sat
31602589 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vsub_WwWw_sat(HVX_VectorPair Vuu, HVX_VectorPair Vvv)
......@@ -3163,9 +2592,7 @@
31632592 ========================================================================== */
31642593
31652594#define Q6_Ww_vsub_WwWw_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubwsat_dv)(Vuu,Vvv)
3166#endif /* __HEXAGON_ARCH___ >= 60 */
31672595
3168#if __HVX_ARCH__ >= 60
31692596/* ==========================================================================
31702597 Assembly Syntax: Vdd32=vswap(Qt4,Vu32,Vv32)
31712598 C Intrinsic Prototype: HVX_VectorPair Q6_W_vswap_QVV(HVX_VectorPred Qt, HVX_Vector Vu, HVX_Vector Vv)
......@@ -3174,9 +2601,7 @@
31742601 ========================================================================== */
31752602
31762603#define Q6_W_vswap_QVV(Qt,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vswap)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1),Vu,Vv)
3177#endif /* __HEXAGON_ARCH___ >= 60 */
31782604
3179#if __HVX_ARCH__ >= 60
31802605/* ==========================================================================
31812606 Assembly Syntax: Vdd32.h=vtmpy(Vuu32.b,Rt32.b)
31822607 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vtmpy_WbRb(HVX_VectorPair Vuu, Word32 Rt)
......@@ -3185,9 +2610,7 @@
31852610 ========================================================================== */
31862611
31872612#define Q6_Wh_vtmpy_WbRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpyb)(Vuu,Rt)
3188#endif /* __HEXAGON_ARCH___ >= 60 */
31892613
3190#if __HVX_ARCH__ >= 60
31912614/* ==========================================================================
31922615 Assembly Syntax: Vxx32.h+=vtmpy(Vuu32.b,Rt32.b)
31932616 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vtmpyacc_WhWbRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
......@@ -3196,9 +2619,7 @@
31962619 ========================================================================== */
31972620
31982621#define Q6_Wh_vtmpyacc_WhWbRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpyb_acc)(Vxx,Vuu,Rt)
3199#endif /* __HEXAGON_ARCH___ >= 60 */
32002622
3201#if __HVX_ARCH__ >= 60
32022623/* ==========================================================================
32032624 Assembly Syntax: Vdd32.h=vtmpy(Vuu32.ub,Rt32.b)
32042625 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vtmpy_WubRb(HVX_VectorPair Vuu, Word32 Rt)
......@@ -3207,9 +2628,7 @@
32072628 ========================================================================== */
32082629
32092630#define Q6_Wh_vtmpy_WubRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpybus)(Vuu,Rt)
3210#endif /* __HEXAGON_ARCH___ >= 60 */
32112631
3212#if __HVX_ARCH__ >= 60
32132632/* ==========================================================================
32142633 Assembly Syntax: Vxx32.h+=vtmpy(Vuu32.ub,Rt32.b)
32152634 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vtmpyacc_WhWubRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
......@@ -3218,9 +2637,7 @@
32182637 ========================================================================== */
32192638
32202639#define Q6_Wh_vtmpyacc_WhWubRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpybus_acc)(Vxx,Vuu,Rt)
3221#endif /* __HEXAGON_ARCH___ >= 60 */
32222640
3223#if __HVX_ARCH__ >= 60
32242641/* ==========================================================================
32252642 Assembly Syntax: Vdd32.w=vtmpy(Vuu32.h,Rt32.b)
32262643 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vtmpy_WhRb(HVX_VectorPair Vuu, Word32 Rt)
......@@ -3229,9 +2646,7 @@
32292646 ========================================================================== */
32302647
32312648#define Q6_Ww_vtmpy_WhRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpyhb)(Vuu,Rt)
3232#endif /* __HEXAGON_ARCH___ >= 60 */
32332649
3234#if __HVX_ARCH__ >= 60
32352650/* ==========================================================================
32362651 Assembly Syntax: Vxx32.w+=vtmpy(Vuu32.h,Rt32.b)
32372652 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vtmpyacc_WwWhRb(HVX_VectorPair Vxx, HVX_VectorPair Vuu, Word32 Rt)
......@@ -3240,9 +2655,7 @@
32402655 ========================================================================== */
32412656
32422657#define Q6_Ww_vtmpyacc_WwWhRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vtmpyhb_acc)(Vxx,Vuu,Rt)
3243#endif /* __HEXAGON_ARCH___ >= 60 */
32442658
3245#if __HVX_ARCH__ >= 60
32462659/* ==========================================================================
32472660 Assembly Syntax: Vdd32.h=vunpack(Vu32.b)
32482661 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vunpack_Vb(HVX_Vector Vu)
......@@ -3251,9 +2664,7 @@
32512664 ========================================================================== */
32522665
32532666#define Q6_Wh_vunpack_Vb(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackb)(Vu)
3254#endif /* __HEXAGON_ARCH___ >= 60 */
32552667
3256#if __HVX_ARCH__ >= 60
32572668/* ==========================================================================
32582669 Assembly Syntax: Vdd32.w=vunpack(Vu32.h)
32592670 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vunpack_Vh(HVX_Vector Vu)
......@@ -3262,9 +2673,7 @@
32622673 ========================================================================== */
32632674
32642675#define Q6_Ww_vunpack_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackh)(Vu)
3265#endif /* __HEXAGON_ARCH___ >= 60 */
32662676
3267#if __HVX_ARCH__ >= 60
32682677/* ==========================================================================
32692678 Assembly Syntax: Vxx32.h|=vunpacko(Vu32.b)
32702679 C Intrinsic Prototype: HVX_VectorPair Q6_Wh_vunpackoor_WhVb(HVX_VectorPair Vxx, HVX_Vector Vu)
......@@ -3273,9 +2682,7 @@
32732682 ========================================================================== */
32742683
32752684#define Q6_Wh_vunpackoor_WhVb(Vxx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackob)(Vxx,Vu)
3276#endif /* __HEXAGON_ARCH___ >= 60 */
32772685
3278#if __HVX_ARCH__ >= 60
32792686/* ==========================================================================
32802687 Assembly Syntax: Vxx32.w|=vunpacko(Vu32.h)
32812688 C Intrinsic Prototype: HVX_VectorPair Q6_Ww_vunpackoor_WwVh(HVX_VectorPair Vxx, HVX_Vector Vu)
......@@ -3284,9 +2691,7 @@
32842691 ========================================================================== */
32852692
32862693#define Q6_Ww_vunpackoor_WwVh(Vxx,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackoh)(Vxx,Vu)
3287#endif /* __HEXAGON_ARCH___ >= 60 */
32882694
3289#if __HVX_ARCH__ >= 60
32902695/* ==========================================================================
32912696 Assembly Syntax: Vdd32.uh=vunpack(Vu32.ub)
32922697 C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vunpack_Vub(HVX_Vector Vu)
......@@ -3295,9 +2700,7 @@
32952700 ========================================================================== */
32962701
32972702#define Q6_Wuh_vunpack_Vub(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackub)(Vu)
3298#endif /* __HEXAGON_ARCH___ >= 60 */
32992703
3300#if __HVX_ARCH__ >= 60
33012704/* ==========================================================================
33022705 Assembly Syntax: Vdd32.uw=vunpack(Vu32.uh)
33032706 C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vunpack_Vuh(HVX_Vector Vu)
......@@ -3306,9 +2709,7 @@
33062709 ========================================================================== */
33072710
33082711#define Q6_Wuw_vunpack_Vuh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vunpackuh)(Vu)
3309#endif /* __HEXAGON_ARCH___ >= 60 */
33102712
3311#if __HVX_ARCH__ >= 60
33122713/* ==========================================================================
33132714 Assembly Syntax: Vd32=vxor(Vu32,Vv32)
33142715 C Intrinsic Prototype: HVX_Vector Q6_V_vxor_VV(HVX_Vector Vu, HVX_Vector Vv)
......@@ -3317,9 +2718,7 @@
33172718 ========================================================================== */
33182719
33192720#define Q6_V_vxor_VV(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vxor)(Vu,Vv)
3320#endif /* __HEXAGON_ARCH___ >= 60 */
33212721
3322#if __HVX_ARCH__ >= 60
33232722/* ==========================================================================
33242723 Assembly Syntax: Vdd32.uh=vzxt(Vu32.ub)
33252724 C Intrinsic Prototype: HVX_VectorPair Q6_Wuh_vzxt_Vub(HVX_Vector Vu)
......@@ -3328,9 +2727,7 @@
33282727 ========================================================================== */
33292728
33302729#define Q6_Wuh_vzxt_Vub(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vzb)(Vu)
3331#endif /* __HEXAGON_ARCH___ >= 60 */
33322730
3333#if __HVX_ARCH__ >= 60
33342731/* ==========================================================================
33352732 Assembly Syntax: Vdd32.uw=vzxt(Vu32.uh)
33362733 C Intrinsic Prototype: HVX_VectorPair Q6_Wuw_vzxt_Vuh(HVX_Vector Vu)
......@@ -3339,7 +2736,6 @@
33392736 ========================================================================== */
33402737
33412738#define Q6_Wuw_vzxt_Vuh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vzh)(Vu)
3342#endif /* __HEXAGON_ARCH___ >= 60 */
33432739
33442740#if __HVX_ARCH__ >= 62
33452741/* ==========================================================================
......@@ -3350,7 +2746,7 @@
33502746 ========================================================================== */
33512747
33522748#define Q6_Vb_vsplat_R(Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_lvsplatb)(Rt)
3353#endif /* __HEXAGON_ARCH___ >= 62 */
2749#endif
33542750
33552751#if __HVX_ARCH__ >= 62
33562752/* ==========================================================================
......@@ -3361,7 +2757,7 @@
33612757 ========================================================================== */
33622758
33632759#define Q6_Vh_vsplat_R(Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_lvsplath)(Rt)
3364#endif /* __HEXAGON_ARCH___ >= 62 */
2760#endif
33652761
33662762#if __HVX_ARCH__ >= 62
33672763/* ==========================================================================
......@@ -3372,7 +2768,7 @@
33722768 ========================================================================== */
33732769
33742770#define Q6_Q_vsetq2_R(Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_pred_scalar2v2)(Rt)),-1)
3375#endif /* __HEXAGON_ARCH___ >= 62 */
2771#endif
33762772
33772773#if __HVX_ARCH__ >= 62
33782774/* ==========================================================================
......@@ -3383,7 +2779,7 @@
33832779 ========================================================================== */
33842780
33852781#define Q6_Qb_vshuffe_QhQh(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_shuffeqh)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
3386#endif /* __HEXAGON_ARCH___ >= 62 */
2782#endif
33872783
33882784#if __HVX_ARCH__ >= 62
33892785/* ==========================================================================
......@@ -3394,7 +2790,7 @@
33942790 ========================================================================== */
33952791
33962792#define Q6_Qh_vshuffe_QwQw(Qs,Qt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_shuffeqw)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qt),-1))),-1)
3397#endif /* __HEXAGON_ARCH___ >= 62 */
2793#endif
33982794
33992795#if __HVX_ARCH__ >= 62
34002796/* ==========================================================================
......@@ -3405,7 +2801,7 @@
34052801 ========================================================================== */
34062802
34072803#define Q6_Vb_vadd_VbVb_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddbsat)(Vu,Vv)
3408#endif /* __HEXAGON_ARCH___ >= 62 */
2804#endif
34092805
34102806#if __HVX_ARCH__ >= 62
34112807/* ==========================================================================
......@@ -3416,7 +2812,7 @@
34162812 ========================================================================== */
34172813
34182814#define Q6_Wb_vadd_WbWb_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddbsat_dv)(Vuu,Vvv)
3419#endif /* __HEXAGON_ARCH___ >= 62 */
2815#endif
34202816
34212817#if __HVX_ARCH__ >= 62
34222818/* ==========================================================================
......@@ -3427,7 +2823,7 @@
34272823 ========================================================================== */
34282824
34292825#define Q6_Vw_vadd_VwVwQ_carry(Vu,Vv,Qx) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddcarry)(Vu,Vv,Qx)
3430#endif /* __HEXAGON_ARCH___ >= 62 */
2826#endif
34312827
34322828#if __HVX_ARCH__ >= 62
34332829/* ==========================================================================
......@@ -3438,7 +2834,7 @@
34382834 ========================================================================== */
34392835
34402836#define Q6_Vh_vadd_vclb_VhVh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddclbh)(Vu,Vv)
3441#endif /* __HEXAGON_ARCH___ >= 62 */
2837#endif
34422838
34432839#if __HVX_ARCH__ >= 62
34442840/* ==========================================================================
......@@ -3449,7 +2845,7 @@
34492845 ========================================================================== */
34502846
34512847#define Q6_Vw_vadd_vclb_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddclbw)(Vu,Vv)
3452#endif /* __HEXAGON_ARCH___ >= 62 */
2848#endif
34532849
34542850#if __HVX_ARCH__ >= 62
34552851/* ==========================================================================
......@@ -3460,7 +2856,7 @@
34602856 ========================================================================== */
34612857
34622858#define Q6_Ww_vaddacc_WwVhVh(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddhw_acc)(Vxx,Vu,Vv)
3463#endif /* __HEXAGON_ARCH___ >= 62 */
2859#endif
34642860
34652861#if __HVX_ARCH__ >= 62
34662862/* ==========================================================================
......@@ -3471,7 +2867,7 @@
34712867 ========================================================================== */
34722868
34732869#define Q6_Wh_vaddacc_WhVubVub(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddubh_acc)(Vxx,Vu,Vv)
3474#endif /* __HEXAGON_ARCH___ >= 62 */
2870#endif
34752871
34762872#if __HVX_ARCH__ >= 62
34772873/* ==========================================================================
......@@ -3482,7 +2878,7 @@
34822878 ========================================================================== */
34832879
34842880#define Q6_Vub_vadd_VubVb_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddububb_sat)(Vu,Vv)
3485#endif /* __HEXAGON_ARCH___ >= 62 */
2881#endif
34862882
34872883#if __HVX_ARCH__ >= 62
34882884/* ==========================================================================
......@@ -3493,7 +2889,7 @@
34932889 ========================================================================== */
34942890
34952891#define Q6_Ww_vaddacc_WwVuhVuh(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduhw_acc)(Vxx,Vu,Vv)
3496#endif /* __HEXAGON_ARCH___ >= 62 */
2892#endif
34972893
34982894#if __HVX_ARCH__ >= 62
34992895/* ==========================================================================
......@@ -3504,7 +2900,7 @@
35042900 ========================================================================== */
35052901
35062902#define Q6_Vuw_vadd_VuwVuw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduwsat)(Vu,Vv)
3507#endif /* __HEXAGON_ARCH___ >= 62 */
2903#endif
35082904
35092905#if __HVX_ARCH__ >= 62
35102906/* ==========================================================================
......@@ -3515,7 +2911,7 @@
35152911 ========================================================================== */
35162912
35172913#define Q6_Wuw_vadd_WuwWuw_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadduwsat_dv)(Vuu,Vvv)
3518#endif /* __HEXAGON_ARCH___ >= 62 */
2914#endif
35192915
35202916#if __HVX_ARCH__ >= 62
35212917/* ==========================================================================
......@@ -3526,7 +2922,7 @@
35262922 ========================================================================== */
35272923
35282924#define Q6_V_vand_QnR(Qu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandnqrt)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qu),-1),Rt)
3529#endif /* __HEXAGON_ARCH___ >= 62 */
2925#endif
35302926
35312927#if __HVX_ARCH__ >= 62
35322928/* ==========================================================================
......@@ -3537,7 +2933,7 @@
35372933 ========================================================================== */
35382934
35392935#define Q6_V_vandor_VQnR(Vx,Qu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandnqrt_acc)(Vx,__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qu),-1),Rt)
3540#endif /* __HEXAGON_ARCH___ >= 62 */
2936#endif
35412937
35422938#if __HVX_ARCH__ >= 62
35432939/* ==========================================================================
......@@ -3548,7 +2944,7 @@
35482944 ========================================================================== */
35492945
35502946#define Q6_V_vand_QnV(Qv,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvnqv)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vu)
3551#endif /* __HEXAGON_ARCH___ >= 62 */
2947#endif
35522948
35532949#if __HVX_ARCH__ >= 62
35542950/* ==========================================================================
......@@ -3559,7 +2955,7 @@
35592955 ========================================================================== */
35602956
35612957#define Q6_V_vand_QV(Qv,Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvqv)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1),Vu)
3562#endif /* __HEXAGON_ARCH___ >= 62 */
2958#endif
35632959
35642960#if __HVX_ARCH__ >= 62
35652961/* ==========================================================================
......@@ -3570,7 +2966,7 @@
35702966 ========================================================================== */
35712967
35722968#define Q6_Vb_vasr_VhVhR_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrhbsat)(Vu,Vv,Rt)
3573#endif /* __HEXAGON_ARCH___ >= 62 */
2969#endif
35742970
35752971#if __HVX_ARCH__ >= 62
35762972/* ==========================================================================
......@@ -3581,7 +2977,7 @@
35812977 ========================================================================== */
35822978
35832979#define Q6_Vuh_vasr_VuwVuwR_rnd_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasruwuhrndsat)(Vu,Vv,Rt)
3584#endif /* __HEXAGON_ARCH___ >= 62 */
2980#endif
35852981
35862982#if __HVX_ARCH__ >= 62
35872983/* ==========================================================================
......@@ -3592,7 +2988,7 @@
35922988 ========================================================================== */
35932989
35942990#define Q6_Vuh_vasr_VwVwR_rnd_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrwuhrndsat)(Vu,Vv,Rt)
3595#endif /* __HEXAGON_ARCH___ >= 62 */
2991#endif
35962992
35972993#if __HVX_ARCH__ >= 62
35982994/* ==========================================================================
......@@ -3603,7 +2999,7 @@
36032999 ========================================================================== */
36043000
36053001#define Q6_Vub_vlsr_VubR(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlsrb)(Vu,Rt)
3606#endif /* __HEXAGON_ARCH___ >= 62 */
3002#endif
36073003
36083004#if __HVX_ARCH__ >= 62
36093005/* ==========================================================================
......@@ -3614,7 +3010,7 @@
36143010 ========================================================================== */
36153011
36163012#define Q6_Vb_vlut32_VbVbR_nomatch(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvb_nm)(Vu,Vv,Rt)
3617#endif /* __HEXAGON_ARCH___ >= 62 */
3013#endif
36183014
36193015#if __HVX_ARCH__ >= 62
36203016/* ==========================================================================
......@@ -3625,7 +3021,7 @@
36253021 ========================================================================== */
36263022
36273023#define Q6_Vb_vlut32or_VbVbVbI(Vx,Vu,Vv,Iu3) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvb_oracci)(Vx,Vu,Vv,Iu3)
3628#endif /* __HEXAGON_ARCH___ >= 62 */
3024#endif
36293025
36303026#if __HVX_ARCH__ >= 62
36313027/* ==========================================================================
......@@ -3636,7 +3032,7 @@
36363032 ========================================================================== */
36373033
36383034#define Q6_Vb_vlut32_VbVbI(Vu,Vv,Iu3) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvvbi)(Vu,Vv,Iu3)
3639#endif /* __HEXAGON_ARCH___ >= 62 */
3035#endif
36403036
36413037#if __HVX_ARCH__ >= 62
36423038/* ==========================================================================
......@@ -3647,7 +3043,7 @@
36473043 ========================================================================== */
36483044
36493045#define Q6_Wh_vlut16_VbVhR_nomatch(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwh_nm)(Vu,Vv,Rt)
3650#endif /* __HEXAGON_ARCH___ >= 62 */
3046#endif
36513047
36523048#if __HVX_ARCH__ >= 62
36533049/* ==========================================================================
......@@ -3658,7 +3054,7 @@
36583054 ========================================================================== */
36593055
36603056#define Q6_Wh_vlut16or_WhVbVhI(Vxx,Vu,Vv,Iu3) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwh_oracci)(Vxx,Vu,Vv,Iu3)
3661#endif /* __HEXAGON_ARCH___ >= 62 */
3057#endif
36623058
36633059#if __HVX_ARCH__ >= 62
36643060/* ==========================================================================
......@@ -3669,7 +3065,7 @@
36693065 ========================================================================== */
36703066
36713067#define Q6_Wh_vlut16_VbVhI(Vu,Vv,Iu3) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlutvwhi)(Vu,Vv,Iu3)
3672#endif /* __HEXAGON_ARCH___ >= 62 */
3068#endif
36733069
36743070#if __HVX_ARCH__ >= 62
36753071/* ==========================================================================
......@@ -3680,7 +3076,7 @@
36803076 ========================================================================== */
36813077
36823078#define Q6_Vb_vmax_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmaxb)(Vu,Vv)
3683#endif /* __HEXAGON_ARCH___ >= 62 */
3079#endif
36843080
36853081#if __HVX_ARCH__ >= 62
36863082/* ==========================================================================
......@@ -3691,7 +3087,7 @@
36913087 ========================================================================== */
36923088
36933089#define Q6_Vb_vmin_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vminb)(Vu,Vv)
3694#endif /* __HEXAGON_ARCH___ >= 62 */
3090#endif
36953091
36963092#if __HVX_ARCH__ >= 62
36973093/* ==========================================================================
......@@ -3702,7 +3098,7 @@
37023098 ========================================================================== */
37033099
37043100#define Q6_Ww_vmpa_WuhRb(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpauhb)(Vuu,Rt)
3705#endif /* __HEXAGON_ARCH___ >= 62 */
3101#endif
37063102
37073103#if __HVX_ARCH__ >= 62
37083104/* ==========================================================================
......@@ -3713,7 +3109,7 @@
37133109 ========================================================================== */
37143110
37153111#define Q6_Ww_vmpaacc_WwWuhRb(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpauhb_acc)(Vxx,Vuu,Rt)
3716#endif /* __HEXAGON_ARCH___ >= 62 */
3112#endif
37173113
37183114#if __HVX_ARCH__ >= 62
37193115/* ==========================================================================
......@@ -3724,7 +3120,7 @@
37243120 ========================================================================== */
37253121
37263122#define Q6_W_vmpye_VwVuh(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyewuh_64)(Vu,Vv)
3727#endif /* __HEXAGON_ARCH___ >= 62 */
3123#endif
37283124
37293125#if __HVX_ARCH__ >= 62
37303126/* ==========================================================================
......@@ -3735,7 +3131,7 @@
37353131 ========================================================================== */
37363132
37373133#define Q6_Vw_vmpyi_VwRub(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwub)(Vu,Rt)
3738#endif /* __HEXAGON_ARCH___ >= 62 */
3134#endif
37393135
37403136#if __HVX_ARCH__ >= 62
37413137/* ==========================================================================
......@@ -3746,7 +3142,7 @@
37463142 ========================================================================== */
37473143
37483144#define Q6_Vw_vmpyiacc_VwVwRub(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyiwub_acc)(Vx,Vu,Rt)
3749#endif /* __HEXAGON_ARCH___ >= 62 */
3145#endif
37503146
37513147#if __HVX_ARCH__ >= 62
37523148/* ==========================================================================
......@@ -3757,7 +3153,7 @@
37573153 ========================================================================== */
37583154
37593155#define Q6_W_vmpyoacc_WVwVh(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyowh_64_acc)(Vxx,Vu,Vv)
3760#endif /* __HEXAGON_ARCH___ >= 62 */
3156#endif
37613157
37623158#if __HVX_ARCH__ >= 62
37633159/* ==========================================================================
......@@ -3768,7 +3164,7 @@
37683164 ========================================================================== */
37693165
37703166#define Q6_Vub_vround_VuhVuh_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrounduhub)(Vu,Vv)
3771#endif /* __HEXAGON_ARCH___ >= 62 */
3167#endif
37723168
37733169#if __HVX_ARCH__ >= 62
37743170/* ==========================================================================
......@@ -3779,7 +3175,7 @@
37793175 ========================================================================== */
37803176
37813177#define Q6_Vuh_vround_VuwVuw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrounduwuh)(Vu,Vv)
3782#endif /* __HEXAGON_ARCH___ >= 62 */
3178#endif
37833179
37843180#if __HVX_ARCH__ >= 62
37853181/* ==========================================================================
......@@ -3790,7 +3186,7 @@
37903186 ========================================================================== */
37913187
37923188#define Q6_Vuh_vsat_VuwVuw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsatuwuh)(Vu,Vv)
3793#endif /* __HEXAGON_ARCH___ >= 62 */
3189#endif
37943190
37953191#if __HVX_ARCH__ >= 62
37963192/* ==========================================================================
......@@ -3801,7 +3197,7 @@
38013197 ========================================================================== */
38023198
38033199#define Q6_Vb_vsub_VbVb_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubbsat)(Vu,Vv)
3804#endif /* __HEXAGON_ARCH___ >= 62 */
3200#endif
38053201
38063202#if __HVX_ARCH__ >= 62
38073203/* ==========================================================================
......@@ -3812,7 +3208,7 @@
38123208 ========================================================================== */
38133209
38143210#define Q6_Wb_vsub_WbWb_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubbsat_dv)(Vuu,Vvv)
3815#endif /* __HEXAGON_ARCH___ >= 62 */
3211#endif
38163212
38173213#if __HVX_ARCH__ >= 62
38183214/* ==========================================================================
......@@ -3823,7 +3219,7 @@
38233219 ========================================================================== */
38243220
38253221#define Q6_Vw_vsub_VwVwQ_carry(Vu,Vv,Qx) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubcarry)(Vu,Vv,Qx)
3826#endif /* __HEXAGON_ARCH___ >= 62 */
3222#endif
38273223
38283224#if __HVX_ARCH__ >= 62
38293225/* ==========================================================================
......@@ -3834,7 +3230,7 @@
38343230 ========================================================================== */
38353231
38363232#define Q6_Vub_vsub_VubVb_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubububb_sat)(Vu,Vv)
3837#endif /* __HEXAGON_ARCH___ >= 62 */
3233#endif
38383234
38393235#if __HVX_ARCH__ >= 62
38403236/* ==========================================================================
......@@ -3845,7 +3241,7 @@
38453241 ========================================================================== */
38463242
38473243#define Q6_Vuw_vsub_VuwVuw_sat(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuwsat)(Vu,Vv)
3848#endif /* __HEXAGON_ARCH___ >= 62 */
3244#endif
38493245
38503246#if __HVX_ARCH__ >= 62
38513247/* ==========================================================================
......@@ -3856,7 +3252,7 @@
38563252 ========================================================================== */
38573253
38583254#define Q6_Wuw_vsub_WuwWuw_sat(Vuu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsubuwsat_dv)(Vuu,Vvv)
3859#endif /* __HEXAGON_ARCH___ >= 62 */
3255#endif
38603256
38613257#if __HVX_ARCH__ >= 65
38623258/* ==========================================================================
......@@ -3867,7 +3263,7 @@
38673263 ========================================================================== */
38683264
38693265#define Q6_Vb_vabs_Vb(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsb)(Vu)
3870#endif /* __HEXAGON_ARCH___ >= 65 */
3266#endif
38713267
38723268#if __HVX_ARCH__ >= 65
38733269/* ==========================================================================
......@@ -3878,7 +3274,7 @@
38783274 ========================================================================== */
38793275
38803276#define Q6_Vb_vabs_Vb_sat(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabsb_sat)(Vu)
3881#endif /* __HEXAGON_ARCH___ >= 65 */
3277#endif
38823278
38833279#if __HVX_ARCH__ >= 65
38843280/* ==========================================================================
......@@ -3889,7 +3285,7 @@
38893285 ========================================================================== */
38903286
38913287#define Q6_Vh_vaslacc_VhVhR(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaslh_acc)(Vx,Vu,Rt)
3892#endif /* __HEXAGON_ARCH___ >= 65 */
3288#endif
38933289
38943290#if __HVX_ARCH__ >= 65
38953291/* ==========================================================================
......@@ -3900,7 +3296,7 @@
39003296 ========================================================================== */
39013297
39023298#define Q6_Vh_vasracc_VhVhR(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrh_acc)(Vx,Vu,Rt)
3903#endif /* __HEXAGON_ARCH___ >= 65 */
3299#endif
39043300
39053301#if __HVX_ARCH__ >= 65
39063302/* ==========================================================================
......@@ -3911,7 +3307,7 @@
39113307 ========================================================================== */
39123308
39133309#define Q6_Vub_vasr_VuhVuhR_rnd_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasruhubrndsat)(Vu,Vv,Rt)
3914#endif /* __HEXAGON_ARCH___ >= 65 */
3310#endif
39153311
39163312#if __HVX_ARCH__ >= 65
39173313/* ==========================================================================
......@@ -3922,7 +3318,7 @@
39223318 ========================================================================== */
39233319
39243320#define Q6_Vub_vasr_VuhVuhR_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasruhubsat)(Vu,Vv,Rt)
3925#endif /* __HEXAGON_ARCH___ >= 65 */
3321#endif
39263322
39273323#if __HVX_ARCH__ >= 65
39283324/* ==========================================================================
......@@ -3933,7 +3329,7 @@
39333329 ========================================================================== */
39343330
39353331#define Q6_Vuh_vasr_VuwVuwR_sat(Vu,Vv,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasruwuhsat)(Vu,Vv,Rt)
3936#endif /* __HEXAGON_ARCH___ >= 65 */
3332#endif
39373333
39383334#if __HVX_ARCH__ >= 65
39393335/* ==========================================================================
......@@ -3944,7 +3340,7 @@
39443340 ========================================================================== */
39453341
39463342#define Q6_Vb_vavg_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgb)(Vu,Vv)
3947#endif /* __HEXAGON_ARCH___ >= 65 */
3343#endif
39483344
39493345#if __HVX_ARCH__ >= 65
39503346/* ==========================================================================
......@@ -3955,7 +3351,7 @@
39553351 ========================================================================== */
39563352
39573353#define Q6_Vb_vavg_VbVb_rnd(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavgbrnd)(Vu,Vv)
3958#endif /* __HEXAGON_ARCH___ >= 65 */
3354#endif
39593355
39603356#if __HVX_ARCH__ >= 65
39613357/* ==========================================================================
......@@ -3966,7 +3362,7 @@
39663362 ========================================================================== */
39673363
39683364#define Q6_Vuw_vavg_VuwVuw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavguw)(Vu,Vv)
3969#endif /* __HEXAGON_ARCH___ >= 65 */
3365#endif
39703366
39713367#if __HVX_ARCH__ >= 65
39723368/* ==========================================================================
......@@ -3977,7 +3373,7 @@
39773373 ========================================================================== */
39783374
39793375#define Q6_Vuw_vavg_VuwVuw_rnd(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vavguwrnd)(Vu,Vv)
3980#endif /* __HEXAGON_ARCH___ >= 65 */
3376#endif
39813377
39823378#if __HVX_ARCH__ >= 65
39833379/* ==========================================================================
......@@ -3988,7 +3384,7 @@
39883384 ========================================================================== */
39893385
39903386#define Q6_W_vzero() __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdd0)()
3991#endif /* __HEXAGON_ARCH___ >= 65 */
3387#endif
39923388
39933389#if __HVX_ARCH__ >= 65
39943390/* ==========================================================================
......@@ -3999,7 +3395,7 @@
39993395 ========================================================================== */
40003396
40013397#define Q6_vgather_ARMVh(Rs,Rt,Mu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermh)(Rs,Rt,Mu,Vv)
4002#endif /* __HEXAGON_ARCH___ >= 65 */
3398#endif
40033399
40043400#if __HVX_ARCH__ >= 65
40053401/* ==========================================================================
......@@ -4010,7 +3406,7 @@
40103406 ========================================================================== */
40113407
40123408#define Q6_vgather_AQRMVh(Rs,Qs,Rt,Mu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermhq)(Rs,__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),Rt,Mu,Vv)
4013#endif /* __HEXAGON_ARCH___ >= 65 */
3409#endif
40143410
40153411#if __HVX_ARCH__ >= 65
40163412/* ==========================================================================
......@@ -4021,7 +3417,7 @@
40213417 ========================================================================== */
40223418
40233419#define Q6_vgather_ARMWw(Rs,Rt,Mu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermhw)(Rs,Rt,Mu,Vvv)
4024#endif /* __HEXAGON_ARCH___ >= 65 */
3420#endif
40253421
40263422#if __HVX_ARCH__ >= 65
40273423/* ==========================================================================
......@@ -4032,7 +3428,7 @@
40323428 ========================================================================== */
40333429
40343430#define Q6_vgather_AQRMWw(Rs,Qs,Rt,Mu,Vvv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermhwq)(Rs,__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),Rt,Mu,Vvv)
4035#endif /* __HEXAGON_ARCH___ >= 65 */
3431#endif
40363432
40373433#if __HVX_ARCH__ >= 65
40383434/* ==========================================================================
......@@ -4043,7 +3439,7 @@
40433439 ========================================================================== */
40443440
40453441#define Q6_vgather_ARMVw(Rs,Rt,Mu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermw)(Rs,Rt,Mu,Vv)
4046#endif /* __HEXAGON_ARCH___ >= 65 */
3442#endif
40473443
40483444#if __HVX_ARCH__ >= 65
40493445/* ==========================================================================
......@@ -4054,7 +3450,7 @@
40543450 ========================================================================== */
40553451
40563452#define Q6_vgather_AQRMVw(Rs,Qs,Rt,Mu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgathermwq)(Rs,__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),Rt,Mu,Vv)
4057#endif /* __HEXAGON_ARCH___ >= 65 */
3453#endif
40583454
40593455#if __HVX_ARCH__ >= 65
40603456/* ==========================================================================
......@@ -4065,7 +3461,7 @@
40653461 ========================================================================== */
40663462
40673463#define Q6_Vh_vlut4_VuhPh(Vu,Rtt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vlut4)(Vu,Rtt)
4068#endif /* __HEXAGON_ARCH___ >= 65 */
3464#endif
40693465
40703466#if __HVX_ARCH__ >= 65
40713467/* ==========================================================================
......@@ -4076,7 +3472,7 @@
40763472 ========================================================================== */
40773473
40783474#define Q6_Wh_vmpa_WubRub(Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabuu)(Vuu,Rt)
4079#endif /* __HEXAGON_ARCH___ >= 65 */
3475#endif
40803476
40813477#if __HVX_ARCH__ >= 65
40823478/* ==========================================================================
......@@ -4087,7 +3483,7 @@
40873483 ========================================================================== */
40883484
40893485#define Q6_Wh_vmpaacc_WhWubRub(Vxx,Vuu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpabuu_acc)(Vxx,Vuu,Rt)
4090#endif /* __HEXAGON_ARCH___ >= 65 */
3486#endif
40913487
40923488#if __HVX_ARCH__ >= 65
40933489/* ==========================================================================
......@@ -4098,7 +3494,7 @@
40983494 ========================================================================== */
40993495
41003496#define Q6_Vh_vmpa_VhVhVhPh_sat(Vx,Vu,Rtt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpahhsat)(Vx,Vu,Rtt)
4101#endif /* __HEXAGON_ARCH___ >= 65 */
3497#endif
41023498
41033499#if __HVX_ARCH__ >= 65
41043500/* ==========================================================================
......@@ -4109,7 +3505,7 @@
41093505 ========================================================================== */
41103506
41113507#define Q6_Vh_vmpa_VhVhVuhPuh_sat(Vx,Vu,Rtt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpauhuhsat)(Vx,Vu,Rtt)
4112#endif /* __HEXAGON_ARCH___ >= 65 */
3508#endif
41133509
41143510#if __HVX_ARCH__ >= 65
41153511/* ==========================================================================
......@@ -4120,7 +3516,7 @@
41203516 ========================================================================== */
41213517
41223518#define Q6_Vh_vmps_VhVhVuhPuh_sat(Vx,Vu,Rtt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpsuhuhsat)(Vx,Vu,Rtt)
4123#endif /* __HEXAGON_ARCH___ >= 65 */
3519#endif
41243520
41253521#if __HVX_ARCH__ >= 65
41263522/* ==========================================================================
......@@ -4131,7 +3527,7 @@
41313527 ========================================================================== */
41323528
41333529#define Q6_Ww_vmpyacc_WwVhRh(Vxx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyh_acc)(Vxx,Vu,Rt)
4134#endif /* __HEXAGON_ARCH___ >= 65 */
3530#endif
41353531
41363532#if __HVX_ARCH__ >= 65
41373533/* ==========================================================================
......@@ -4142,7 +3538,7 @@
41423538 ========================================================================== */
41433539
41443540#define Q6_Vuw_vmpye_VuhRuh(Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhe)(Vu,Rt)
4145#endif /* __HEXAGON_ARCH___ >= 65 */
3541#endif
41463542
41473543#if __HVX_ARCH__ >= 65
41483544/* ==========================================================================
......@@ -4153,7 +3549,7 @@
41533549 ========================================================================== */
41543550
41553551#define Q6_Vuw_vmpyeacc_VuwVuhRuh(Vx,Vu,Rt) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhe_acc)(Vx,Vu,Rt)
4156#endif /* __HEXAGON_ARCH___ >= 65 */
3552#endif
41573553
41583554#if __HVX_ARCH__ >= 65
41593555/* ==========================================================================
......@@ -4164,7 +3560,7 @@
41643560 ========================================================================== */
41653561
41663562#define Q6_Vb_vnavg_VbVb(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vnavgb)(Vu,Vv)
4167#endif /* __HEXAGON_ARCH___ >= 65 */
3563#endif
41683564
41693565#if __HVX_ARCH__ >= 65
41703566/* ==========================================================================
......@@ -4175,7 +3571,7 @@
41753571 ========================================================================== */
41763572
41773573#define Q6_Vb_prefixsum_Q(Qv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vprefixqb)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1))
4178#endif /* __HEXAGON_ARCH___ >= 65 */
3574#endif
41793575
41803576#if __HVX_ARCH__ >= 65
41813577/* ==========================================================================
......@@ -4186,7 +3582,7 @@
41863582 ========================================================================== */
41873583
41883584#define Q6_Vh_prefixsum_Q(Qv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vprefixqh)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1))
4189#endif /* __HEXAGON_ARCH___ >= 65 */
3585#endif
41903586
41913587#if __HVX_ARCH__ >= 65
41923588/* ==========================================================================
......@@ -4197,7 +3593,7 @@
41973593 ========================================================================== */
41983594
41993595#define Q6_Vw_prefixsum_Q(Qv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vprefixqw)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qv),-1))
4200#endif /* __HEXAGON_ARCH___ >= 65 */
3596#endif
42013597
42023598#if __HVX_ARCH__ >= 65
42033599/* ==========================================================================
......@@ -4208,7 +3604,7 @@
42083604 ========================================================================== */
42093605
42103606#define Q6_vscatter_RMVhV(Rt,Mu,Vv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermh)(Rt,Mu,Vv,Vw)
4211#endif /* __HEXAGON_ARCH___ >= 65 */
3607#endif
42123608
42133609#if __HVX_ARCH__ >= 65
42143610/* ==========================================================================
......@@ -4219,7 +3615,7 @@
42193615 ========================================================================== */
42203616
42213617#define Q6_vscatteracc_RMVhV(Rt,Mu,Vv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermh_add)(Rt,Mu,Vv,Vw)
4222#endif /* __HEXAGON_ARCH___ >= 65 */
3618#endif
42233619
42243620#if __HVX_ARCH__ >= 65
42253621/* ==========================================================================
......@@ -4230,7 +3626,7 @@
42303626 ========================================================================== */
42313627
42323628#define Q6_vscatter_QRMVhV(Qs,Rt,Mu,Vv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermhq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),Rt,Mu,Vv,Vw)
4233#endif /* __HEXAGON_ARCH___ >= 65 */
3629#endif
42343630
42353631#if __HVX_ARCH__ >= 65
42363632/* ==========================================================================
......@@ -4241,7 +3637,7 @@
42413637 ========================================================================== */
42423638
42433639#define Q6_vscatter_RMWwV(Rt,Mu,Vvv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermhw)(Rt,Mu,Vvv,Vw)
4244#endif /* __HEXAGON_ARCH___ >= 65 */
3640#endif
42453641
42463642#if __HVX_ARCH__ >= 65
42473643/* ==========================================================================
......@@ -4252,7 +3648,7 @@
42523648 ========================================================================== */
42533649
42543650#define Q6_vscatteracc_RMWwV(Rt,Mu,Vvv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermhw_add)(Rt,Mu,Vvv,Vw)
4255#endif /* __HEXAGON_ARCH___ >= 65 */
3651#endif
42563652
42573653#if __HVX_ARCH__ >= 65
42583654/* ==========================================================================
......@@ -4263,7 +3659,7 @@
42633659 ========================================================================== */
42643660
42653661#define Q6_vscatter_QRMWwV(Qs,Rt,Mu,Vvv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermhwq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),Rt,Mu,Vvv,Vw)
4266#endif /* __HEXAGON_ARCH___ >= 65 */
3662#endif
42673663
42683664#if __HVX_ARCH__ >= 65
42693665/* ==========================================================================
......@@ -4274,7 +3670,7 @@
42743670 ========================================================================== */
42753671
42763672#define Q6_vscatter_RMVwV(Rt,Mu,Vv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermw)(Rt,Mu,Vv,Vw)
4277#endif /* __HEXAGON_ARCH___ >= 65 */
3673#endif
42783674
42793675#if __HVX_ARCH__ >= 65
42803676/* ==========================================================================
......@@ -4285,7 +3681,7 @@
42853681 ========================================================================== */
42863682
42873683#define Q6_vscatteracc_RMVwV(Rt,Mu,Vv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermw_add)(Rt,Mu,Vv,Vw)
4288#endif /* __HEXAGON_ARCH___ >= 65 */
3684#endif
42893685
42903686#if __HVX_ARCH__ >= 65
42913687/* ==========================================================================
......@@ -4296,7 +3692,7 @@
42963692 ========================================================================== */
42973693
42983694#define Q6_vscatter_QRMVwV(Qs,Rt,Mu,Vv,Vw) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vscattermwq)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1),Rt,Mu,Vv,Vw)
4299#endif /* __HEXAGON_ARCH___ >= 65 */
3695#endif
43003696
43013697#if __HVX_ARCH__ >= 66
43023698/* ==========================================================================
......@@ -4307,7 +3703,7 @@
43073703 ========================================================================== */
43083704
43093705#define Q6_Vw_vadd_VwVwQ_carry_sat(Vu,Vv,Qs) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vaddcarrysat)(Vu,Vv,__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qs),-1))
4310#endif /* __HEXAGON_ARCH___ >= 66 */
3706#endif
43113707
43123708#if __HVX_ARCH__ >= 66
43133709/* ==========================================================================
......@@ -4318,7 +3714,7 @@
43183714 ========================================================================== */
43193715
43203716#define Q6_Ww_vasrinto_WwVwVw(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasr_into)(Vxx,Vu,Vv)
4321#endif /* __HEXAGON_ARCH___ >= 66 */
3717#endif
43223718
43233719#if __HVX_ARCH__ >= 66
43243720/* ==========================================================================
......@@ -4329,7 +3725,7 @@
43293725 ========================================================================== */
43303726
43313727#define Q6_Vuw_vrotr_VuwVuw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vrotr)(Vu,Vv)
4332#endif /* __HEXAGON_ARCH___ >= 66 */
3728#endif
43333729
43343730#if __HVX_ARCH__ >= 66
43353731/* ==========================================================================
......@@ -4340,7 +3736,7 @@
43403736 ========================================================================== */
43413737
43423738#define Q6_Vw_vsatdw_VwVw(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsatdw)(Vu,Vv)
4343#endif /* __HEXAGON_ARCH___ >= 66 */
3739#endif
43443740
43453741#if __HVX_ARCH__ >= 68
43463742/* ==========================================================================
......@@ -4351,7 +3747,7 @@
43513747 ========================================================================== */
43523748
43533749#define Q6_Ww_v6mpy_WubWbI_h(Vuu,Vvv,Iu2) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_v6mpyhubs10)(Vuu,Vvv,Iu2)
4354#endif /* __HEXAGON_ARCH___ >= 68 */
3750#endif
43553751
43563752#if __HVX_ARCH__ >= 68
43573753/* ==========================================================================
......@@ -4362,7 +3758,7 @@
43623758 ========================================================================== */
43633759
43643760#define Q6_Ww_v6mpyacc_WwWubWbI_h(Vxx,Vuu,Vvv,Iu2) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_v6mpyhubs10_vxx)(Vxx,Vuu,Vvv,Iu2)
4365#endif /* __HEXAGON_ARCH___ >= 68 */
3761#endif
43663762
43673763#if __HVX_ARCH__ >= 68
43683764/* ==========================================================================
......@@ -4373,7 +3769,7 @@
43733769 ========================================================================== */
43743770
43753771#define Q6_Ww_v6mpy_WubWbI_v(Vuu,Vvv,Iu2) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_v6mpyvubs10)(Vuu,Vvv,Iu2)
4376#endif /* __HEXAGON_ARCH___ >= 68 */
3772#endif
43773773
43783774#if __HVX_ARCH__ >= 68
43793775/* ==========================================================================
......@@ -4384,9 +3780,9 @@
43843780 ========================================================================== */
43853781
43863782#define Q6_Ww_v6mpyacc_WwWubWbI_v(Vxx,Vuu,Vvv,Iu2) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_v6mpyvubs10_vxx)(Vxx,Vuu,Vvv,Iu2)
4387#endif /* __HEXAGON_ARCH___ >= 68 */
3783#endif
43883784
4389#if __HVX_ARCH__ >= 68
3785#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
43903786/* ==========================================================================
43913787 Assembly Syntax: Vd32.hf=vabs(Vu32.hf)
43923788 C Intrinsic Prototype: HVX_Vector Q6_Vhf_vabs_Vhf(HVX_Vector Vu)
......@@ -4395,9 +3791,9 @@
43953791 ========================================================================== */
43963792
43973793#define Q6_Vhf_vabs_Vhf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabs_hf)(Vu)
4398#endif /* __HEXAGON_ARCH___ >= 68 */
3794#endif
43993795
4400#if __HVX_ARCH__ >= 68
3796#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
44013797/* ==========================================================================
44023798 Assembly Syntax: Vd32.sf=vabs(Vu32.sf)
44033799 C Intrinsic Prototype: HVX_Vector Q6_Vsf_vabs_Vsf(HVX_Vector Vu)
......@@ -4406,7 +3802,7 @@
44063802 ========================================================================== */
44073803
44083804#define Q6_Vsf_vabs_Vsf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabs_sf)(Vu)
4409#endif /* __HEXAGON_ARCH___ >= 68 */
3805#endif
44103806
44113807#if __HVX_ARCH__ >= 68
44123808/* ==========================================================================
......@@ -4417,9 +3813,9 @@
44173813 ========================================================================== */
44183814
44193815#define Q6_Vqf16_vadd_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_hf)(Vu,Vv)
4420#endif /* __HEXAGON_ARCH___ >= 68 */
3816#endif
44213817
4422#if __HVX_ARCH__ >= 68
3818#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
44233819/* ==========================================================================
44243820 Assembly Syntax: Vd32.hf=vadd(Vu32.hf,Vv32.hf)
44253821 C Intrinsic Prototype: HVX_Vector Q6_Vhf_vadd_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -4428,7 +3824,7 @@
44283824 ========================================================================== */
44293825
44303826#define Q6_Vhf_vadd_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_hf_hf)(Vu,Vv)
4431#endif /* __HEXAGON_ARCH___ >= 68 */
3827#endif
44323828
44333829#if __HVX_ARCH__ >= 68
44343830/* ==========================================================================
......@@ -4439,7 +3835,7 @@
44393835 ========================================================================== */
44403836
44413837#define Q6_Vqf16_vadd_Vqf16Vqf16(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_qf16)(Vu,Vv)
4442#endif /* __HEXAGON_ARCH___ >= 68 */
3838#endif
44433839
44443840#if __HVX_ARCH__ >= 68
44453841/* ==========================================================================
......@@ -4450,7 +3846,7 @@
44503846 ========================================================================== */
44513847
44523848#define Q6_Vqf16_vadd_Vqf16Vhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_qf16_mix)(Vu,Vv)
4453#endif /* __HEXAGON_ARCH___ >= 68 */
3849#endif
44543850
44553851#if __HVX_ARCH__ >= 68
44563852/* ==========================================================================
......@@ -4461,7 +3857,7 @@
44613857 ========================================================================== */
44623858
44633859#define Q6_Vqf32_vadd_Vqf32Vqf32(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_qf32)(Vu,Vv)
4464#endif /* __HEXAGON_ARCH___ >= 68 */
3860#endif
44653861
44663862#if __HVX_ARCH__ >= 68
44673863/* ==========================================================================
......@@ -4472,7 +3868,7 @@
44723868 ========================================================================== */
44733869
44743870#define Q6_Vqf32_vadd_Vqf32Vsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_qf32_mix)(Vu,Vv)
4475#endif /* __HEXAGON_ARCH___ >= 68 */
3871#endif
44763872
44773873#if __HVX_ARCH__ >= 68
44783874/* ==========================================================================
......@@ -4483,9 +3879,9 @@
44833879 ========================================================================== */
44843880
44853881#define Q6_Vqf32_vadd_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_sf)(Vu,Vv)
4486#endif /* __HEXAGON_ARCH___ >= 68 */
3882#endif
44873883
4488#if __HVX_ARCH__ >= 68
3884#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
44893885/* ==========================================================================
44903886 Assembly Syntax: Vdd32.sf=vadd(Vu32.hf,Vv32.hf)
44913887 C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vadd_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -4494,9 +3890,9 @@
44943890 ========================================================================== */
44953891
44963892#define Q6_Wsf_vadd_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_sf_hf)(Vu,Vv)
4497#endif /* __HEXAGON_ARCH___ >= 68 */
3893#endif
44983894
4499#if __HVX_ARCH__ >= 68
3895#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
45003896/* ==========================================================================
45013897 Assembly Syntax: Vd32.sf=vadd(Vu32.sf,Vv32.sf)
45023898 C Intrinsic Prototype: HVX_Vector Q6_Vsf_vadd_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -4505,9 +3901,9 @@
45053901 ========================================================================== */
45063902
45073903#define Q6_Vsf_vadd_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_sf_sf)(Vu,Vv)
4508#endif /* __HEXAGON_ARCH___ >= 68 */
3904#endif
45093905
4510#if __HVX_ARCH__ >= 68
3906#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
45113907/* ==========================================================================
45123908 Assembly Syntax: Vd32.w=vfmv(Vu32.w)
45133909 C Intrinsic Prototype: HVX_Vector Q6_Vw_vfmv_Vw(HVX_Vector Vu)
......@@ -4516,7 +3912,7 @@
45163912 ========================================================================== */
45173913
45183914#define Q6_Vw_vfmv_Vw(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vassign_fp)(Vu)
4519#endif /* __HEXAGON_ARCH___ >= 68 */
3915#endif
45203916
45213917#if __HVX_ARCH__ >= 68
45223918/* ==========================================================================
......@@ -4527,7 +3923,7 @@
45273923 ========================================================================== */
45283924
45293925#define Q6_Vhf_equals_Vqf16(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_hf_qf16)(Vu)
4530#endif /* __HEXAGON_ARCH___ >= 68 */
3926#endif
45313927
45323928#if __HVX_ARCH__ >= 68
45333929/* ==========================================================================
......@@ -4538,7 +3934,7 @@
45383934 ========================================================================== */
45393935
45403936#define Q6_Vhf_equals_Wqf32(Vuu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_hf_qf32)(Vuu)
4541#endif /* __HEXAGON_ARCH___ >= 68 */
3937#endif
45423938
45433939#if __HVX_ARCH__ >= 68
45443940/* ==========================================================================
......@@ -4549,9 +3945,9 @@
45493945 ========================================================================== */
45503946
45513947#define Q6_Vsf_equals_Vqf32(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_sf_qf32)(Vu)
4552#endif /* __HEXAGON_ARCH___ >= 68 */
3948#endif
45533949
4554#if __HVX_ARCH__ >= 68
3950#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
45553951/* ==========================================================================
45563952 Assembly Syntax: Vd32.b=vcvt(Vu32.hf,Vv32.hf)
45573953 C Intrinsic Prototype: HVX_Vector Q6_Vb_vcvt_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -4560,9 +3956,9 @@
45603956 ========================================================================== */
45613957
45623958#define Q6_Vb_vcvt_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_b_hf)(Vu,Vv)
4563#endif /* __HEXAGON_ARCH___ >= 68 */
3959#endif
45643960
4565#if __HVX_ARCH__ >= 68
3961#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
45663962/* ==========================================================================
45673963 Assembly Syntax: Vd32.h=vcvt(Vu32.hf)
45683964 C Intrinsic Prototype: HVX_Vector Q6_Vh_vcvt_Vhf(HVX_Vector Vu)
......@@ -4571,9 +3967,9 @@
45713967 ========================================================================== */
45723968
45733969#define Q6_Vh_vcvt_Vhf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_h_hf)(Vu)
4574#endif /* __HEXAGON_ARCH___ >= 68 */
3970#endif
45753971
4576#if __HVX_ARCH__ >= 68
3972#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
45773973/* ==========================================================================
45783974 Assembly Syntax: Vdd32.hf=vcvt(Vu32.b)
45793975 C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vcvt_Vb(HVX_Vector Vu)
......@@ -4582,9 +3978,9 @@
45823978 ========================================================================== */
45833979
45843980#define Q6_Whf_vcvt_Vb(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_hf_b)(Vu)
4585#endif /* __HEXAGON_ARCH___ >= 68 */
3981#endif
45863982
4587#if __HVX_ARCH__ >= 68
3983#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
45883984/* ==========================================================================
45893985 Assembly Syntax: Vd32.hf=vcvt(Vu32.h)
45903986 C Intrinsic Prototype: HVX_Vector Q6_Vhf_vcvt_Vh(HVX_Vector Vu)
......@@ -4593,9 +3989,9 @@
45933989 ========================================================================== */
45943990
45953991#define Q6_Vhf_vcvt_Vh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_hf_h)(Vu)
4596#endif /* __HEXAGON_ARCH___ >= 68 */
3992#endif
45973993
4598#if __HVX_ARCH__ >= 68
3994#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
45993995/* ==========================================================================
46003996 Assembly Syntax: Vd32.hf=vcvt(Vu32.sf,Vv32.sf)
46013997 C Intrinsic Prototype: HVX_Vector Q6_Vhf_vcvt_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -4604,9 +4000,9 @@
46044000 ========================================================================== */
46054001
46064002#define Q6_Vhf_vcvt_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_hf_sf)(Vu,Vv)
4607#endif /* __HEXAGON_ARCH___ >= 68 */
4003#endif
46084004
4609#if __HVX_ARCH__ >= 68
4005#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
46104006/* ==========================================================================
46114007 Assembly Syntax: Vdd32.hf=vcvt(Vu32.ub)
46124008 C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vcvt_Vub(HVX_Vector Vu)
......@@ -4615,9 +4011,9 @@
46154011 ========================================================================== */
46164012
46174013#define Q6_Whf_vcvt_Vub(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_hf_ub)(Vu)
4618#endif /* __HEXAGON_ARCH___ >= 68 */
4014#endif
46194015
4620#if __HVX_ARCH__ >= 68
4016#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
46214017/* ==========================================================================
46224018 Assembly Syntax: Vd32.hf=vcvt(Vu32.uh)
46234019 C Intrinsic Prototype: HVX_Vector Q6_Vhf_vcvt_Vuh(HVX_Vector Vu)
......@@ -4626,9 +4022,9 @@
46264022 ========================================================================== */
46274023
46284024#define Q6_Vhf_vcvt_Vuh(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_hf_uh)(Vu)
4629#endif /* __HEXAGON_ARCH___ >= 68 */
4025#endif
46304026
4631#if __HVX_ARCH__ >= 68
4027#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
46324028/* ==========================================================================
46334029 Assembly Syntax: Vdd32.sf=vcvt(Vu32.hf)
46344030 C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vcvt_Vhf(HVX_Vector Vu)
......@@ -4637,9 +4033,9 @@
46374033 ========================================================================== */
46384034
46394035#define Q6_Wsf_vcvt_Vhf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_sf_hf)(Vu)
4640#endif /* __HEXAGON_ARCH___ >= 68 */
4036#endif
46414037
4642#if __HVX_ARCH__ >= 68
4038#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
46434039/* ==========================================================================
46444040 Assembly Syntax: Vd32.ub=vcvt(Vu32.hf,Vv32.hf)
46454041 C Intrinsic Prototype: HVX_Vector Q6_Vub_vcvt_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -4648,9 +4044,9 @@
46484044 ========================================================================== */
46494045
46504046#define Q6_Vub_vcvt_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_ub_hf)(Vu,Vv)
4651#endif /* __HEXAGON_ARCH___ >= 68 */
4047#endif
46524048
4653#if __HVX_ARCH__ >= 68
4049#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
46544050/* ==========================================================================
46554051 Assembly Syntax: Vd32.uh=vcvt(Vu32.hf)
46564052 C Intrinsic Prototype: HVX_Vector Q6_Vuh_vcvt_Vhf(HVX_Vector Vu)
......@@ -4659,9 +4055,9 @@
46594055 ========================================================================== */
46604056
46614057#define Q6_Vuh_vcvt_Vhf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_uh_hf)(Vu)
4662#endif /* __HEXAGON_ARCH___ >= 68 */
4058#endif
46634059
4664#if __HVX_ARCH__ >= 68
4060#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
46654061/* ==========================================================================
46664062 Assembly Syntax: Vd32.sf=vdmpy(Vu32.hf,Vv32.hf)
46674063 C Intrinsic Prototype: HVX_Vector Q6_Vsf_vdmpy_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -4670,9 +4066,9 @@
46704066 ========================================================================== */
46714067
46724068#define Q6_Vsf_vdmpy_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpy_sf_hf)(Vu,Vv)
4673#endif /* __HEXAGON_ARCH___ >= 68 */
4069#endif
46744070
4675#if __HVX_ARCH__ >= 68
4071#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
46764072/* ==========================================================================
46774073 Assembly Syntax: Vx32.sf+=vdmpy(Vu32.hf,Vv32.hf)
46784074 C Intrinsic Prototype: HVX_Vector Q6_Vsf_vdmpyacc_VsfVhfVhf(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -4681,9 +4077,9 @@
46814077 ========================================================================== */
46824078
46834079#define Q6_Vsf_vdmpyacc_VsfVhfVhf(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vdmpy_sf_hf_acc)(Vx,Vu,Vv)
4684#endif /* __HEXAGON_ARCH___ >= 68 */
4080#endif
46854081
4686#if __HVX_ARCH__ >= 68
4082#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
46874083/* ==========================================================================
46884084 Assembly Syntax: Vd32.hf=vfmax(Vu32.hf,Vv32.hf)
46894085 C Intrinsic Prototype: HVX_Vector Q6_Vhf_vfmax_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -4692,9 +4088,9 @@
46924088 ========================================================================== */
46934089
46944090#define Q6_Vhf_vfmax_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfmax_hf)(Vu,Vv)
4695#endif /* __HEXAGON_ARCH___ >= 68 */
4091#endif
46964092
4697#if __HVX_ARCH__ >= 68
4093#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
46984094/* ==========================================================================
46994095 Assembly Syntax: Vd32.sf=vfmax(Vu32.sf,Vv32.sf)
47004096 C Intrinsic Prototype: HVX_Vector Q6_Vsf_vfmax_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -4703,9 +4099,9 @@
47034099 ========================================================================== */
47044100
47054101#define Q6_Vsf_vfmax_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfmax_sf)(Vu,Vv)
4706#endif /* __HEXAGON_ARCH___ >= 68 */
4102#endif
47074103
4708#if __HVX_ARCH__ >= 68
4104#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
47094105/* ==========================================================================
47104106 Assembly Syntax: Vd32.hf=vfmin(Vu32.hf,Vv32.hf)
47114107 C Intrinsic Prototype: HVX_Vector Q6_Vhf_vfmin_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -4714,9 +4110,9 @@
47144110 ========================================================================== */
47154111
47164112#define Q6_Vhf_vfmin_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfmin_hf)(Vu,Vv)
4717#endif /* __HEXAGON_ARCH___ >= 68 */
4113#endif
47184114
4719#if __HVX_ARCH__ >= 68
4115#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
47204116/* ==========================================================================
47214117 Assembly Syntax: Vd32.sf=vfmin(Vu32.sf,Vv32.sf)
47224118 C Intrinsic Prototype: HVX_Vector Q6_Vsf_vfmin_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -4725,9 +4121,9 @@
47254121 ========================================================================== */
47264122
47274123#define Q6_Vsf_vfmin_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfmin_sf)(Vu,Vv)
4728#endif /* __HEXAGON_ARCH___ >= 68 */
4124#endif
47294125
4730#if __HVX_ARCH__ >= 68
4126#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
47314127/* ==========================================================================
47324128 Assembly Syntax: Vd32.hf=vfneg(Vu32.hf)
47334129 C Intrinsic Prototype: HVX_Vector Q6_Vhf_vfneg_Vhf(HVX_Vector Vu)
......@@ -4736,9 +4132,9 @@
47364132 ========================================================================== */
47374133
47384134#define Q6_Vhf_vfneg_Vhf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfneg_hf)(Vu)
4739#endif /* __HEXAGON_ARCH___ >= 68 */
4135#endif
47404136
4741#if __HVX_ARCH__ >= 68
4137#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
47424138/* ==========================================================================
47434139 Assembly Syntax: Vd32.sf=vfneg(Vu32.sf)
47444140 C Intrinsic Prototype: HVX_Vector Q6_Vsf_vfneg_Vsf(HVX_Vector Vu)
......@@ -4747,7 +4143,7 @@
47474143 ========================================================================== */
47484144
47494145#define Q6_Vsf_vfneg_Vsf(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfneg_sf)(Vu)
4750#endif /* __HEXAGON_ARCH___ >= 68 */
4146#endif
47514147
47524148#if __HVX_ARCH__ >= 68
47534149/* ==========================================================================
......@@ -4758,7 +4154,7 @@
47584154 ========================================================================== */
47594155
47604156#define Q6_Q_vcmp_gt_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgthf)(Vu,Vv)),-1)
4761#endif /* __HEXAGON_ARCH___ >= 68 */
4157#endif
47624158
47634159#if __HVX_ARCH__ >= 68
47644160/* ==========================================================================
......@@ -4769,7 +4165,7 @@
47694165 ========================================================================== */
47704166
47714167#define Q6_Q_vcmp_gtand_QVhfVhf(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgthf_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
4772#endif /* __HEXAGON_ARCH___ >= 68 */
4168#endif
47734169
47744170#if __HVX_ARCH__ >= 68
47754171/* ==========================================================================
......@@ -4780,7 +4176,7 @@
47804176 ========================================================================== */
47814177
47824178#define Q6_Q_vcmp_gtor_QVhfVhf(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgthf_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
4783#endif /* __HEXAGON_ARCH___ >= 68 */
4179#endif
47844180
47854181#if __HVX_ARCH__ >= 68
47864182/* ==========================================================================
......@@ -4791,7 +4187,7 @@
47914187 ========================================================================== */
47924188
47934189#define Q6_Q_vcmp_gtxacc_QVhfVhf(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgthf_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
4794#endif /* __HEXAGON_ARCH___ >= 68 */
4190#endif
47954191
47964192#if __HVX_ARCH__ >= 68
47974193/* ==========================================================================
......@@ -4802,7 +4198,7 @@
48024198 ========================================================================== */
48034199
48044200#define Q6_Q_vcmp_gt_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtsf)(Vu,Vv)),-1)
4805#endif /* __HEXAGON_ARCH___ >= 68 */
4201#endif
48064202
48074203#if __HVX_ARCH__ >= 68
48084204/* ==========================================================================
......@@ -4813,7 +4209,7 @@
48134209 ========================================================================== */
48144210
48154211#define Q6_Q_vcmp_gtand_QVsfVsf(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtsf_and)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
4816#endif /* __HEXAGON_ARCH___ >= 68 */
4212#endif
48174213
48184214#if __HVX_ARCH__ >= 68
48194215/* ==========================================================================
......@@ -4824,7 +4220,7 @@
48244220 ========================================================================== */
48254221
48264222#define Q6_Q_vcmp_gtor_QVsfVsf(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtsf_or)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
4827#endif /* __HEXAGON_ARCH___ >= 68 */
4223#endif
48284224
48294225#if __HVX_ARCH__ >= 68
48304226/* ==========================================================================
......@@ -4835,7 +4231,7 @@
48354231 ========================================================================== */
48364232
48374233#define Q6_Q_vcmp_gtxacc_QVsfVsf(Qx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtsf_xor)(__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx),-1),Vu,Vv)),-1)
4838#endif /* __HEXAGON_ARCH___ >= 68 */
4234#endif
48394235
48404236#if __HVX_ARCH__ >= 68
48414237/* ==========================================================================
......@@ -4846,7 +4242,7 @@
48464242 ========================================================================== */
48474243
48484244#define Q6_Vhf_vmax_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmax_hf)(Vu,Vv)
4849#endif /* __HEXAGON_ARCH___ >= 68 */
4245#endif
48504246
48514247#if __HVX_ARCH__ >= 68
48524248/* ==========================================================================
......@@ -4857,7 +4253,7 @@
48574253 ========================================================================== */
48584254
48594255#define Q6_Vsf_vmax_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmax_sf)(Vu,Vv)
4860#endif /* __HEXAGON_ARCH___ >= 68 */
4256#endif
48614257
48624258#if __HVX_ARCH__ >= 68
48634259/* ==========================================================================
......@@ -4868,7 +4264,7 @@
48684264 ========================================================================== */
48694265
48704266#define Q6_Vhf_vmin_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmin_hf)(Vu,Vv)
4871#endif /* __HEXAGON_ARCH___ >= 68 */
4267#endif
48724268
48734269#if __HVX_ARCH__ >= 68
48744270/* ==========================================================================
......@@ -4879,9 +4275,9 @@
48794275 ========================================================================== */
48804276
48814277#define Q6_Vsf_vmin_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmin_sf)(Vu,Vv)
4882#endif /* __HEXAGON_ARCH___ >= 68 */
4278#endif
48834279
4884#if __HVX_ARCH__ >= 68
4280#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
48854281/* ==========================================================================
48864282 Assembly Syntax: Vd32.hf=vmpy(Vu32.hf,Vv32.hf)
48874283 C Intrinsic Prototype: HVX_Vector Q6_Vhf_vmpy_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -4890,9 +4286,9 @@
48904286 ========================================================================== */
48914287
48924288#define Q6_Vhf_vmpy_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_hf_hf)(Vu,Vv)
4893#endif /* __HEXAGON_ARCH___ >= 68 */
4289#endif
48944290
4895#if __HVX_ARCH__ >= 68
4291#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
48964292/* ==========================================================================
48974293 Assembly Syntax: Vx32.hf+=vmpy(Vu32.hf,Vv32.hf)
48984294 C Intrinsic Prototype: HVX_Vector Q6_Vhf_vmpyacc_VhfVhfVhf(HVX_Vector Vx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -4901,7 +4297,7 @@
49014297 ========================================================================== */
49024298
49034299#define Q6_Vhf_vmpyacc_VhfVhfVhf(Vx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_hf_hf_acc)(Vx,Vu,Vv)
4904#endif /* __HEXAGON_ARCH___ >= 68 */
4300#endif
49054301
49064302#if __HVX_ARCH__ >= 68
49074303/* ==========================================================================
......@@ -4912,7 +4308,7 @@
49124308 ========================================================================== */
49134309
49144310#define Q6_Vqf16_vmpy_Vqf16Vqf16(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf16)(Vu,Vv)
4915#endif /* __HEXAGON_ARCH___ >= 68 */
4311#endif
49164312
49174313#if __HVX_ARCH__ >= 68
49184314/* ==========================================================================
......@@ -4923,7 +4319,7 @@
49234319 ========================================================================== */
49244320
49254321#define Q6_Vqf16_vmpy_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf16_hf)(Vu,Vv)
4926#endif /* __HEXAGON_ARCH___ >= 68 */
4322#endif
49274323
49284324#if __HVX_ARCH__ >= 68
49294325/* ==========================================================================
......@@ -4934,7 +4330,7 @@
49344330 ========================================================================== */
49354331
49364332#define Q6_Vqf16_vmpy_Vqf16Vhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf16_mix_hf)(Vu,Vv)
4937#endif /* __HEXAGON_ARCH___ >= 68 */
4333#endif
49384334
49394335#if __HVX_ARCH__ >= 68
49404336/* ==========================================================================
......@@ -4945,7 +4341,7 @@
49454341 ========================================================================== */
49464342
49474343#define Q6_Vqf32_vmpy_Vqf32Vqf32(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf32)(Vu,Vv)
4948#endif /* __HEXAGON_ARCH___ >= 68 */
4344#endif
49494345
49504346#if __HVX_ARCH__ >= 68
49514347/* ==========================================================================
......@@ -4956,7 +4352,7 @@
49564352 ========================================================================== */
49574353
49584354#define Q6_Wqf32_vmpy_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf32_hf)(Vu,Vv)
4959#endif /* __HEXAGON_ARCH___ >= 68 */
4355#endif
49604356
49614357#if __HVX_ARCH__ >= 68
49624358/* ==========================================================================
......@@ -4967,7 +4363,7 @@
49674363 ========================================================================== */
49684364
49694365#define Q6_Wqf32_vmpy_Vqf16Vhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf32_mix_hf)(Vu,Vv)
4970#endif /* __HEXAGON_ARCH___ >= 68 */
4366#endif
49714367
49724368#if __HVX_ARCH__ >= 68
49734369/* ==========================================================================
......@@ -4978,7 +4374,7 @@
49784374 ========================================================================== */
49794375
49804376#define Q6_Wqf32_vmpy_Vqf16Vqf16(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf32_qf16)(Vu,Vv)
4981#endif /* __HEXAGON_ARCH___ >= 68 */
4377#endif
49824378
49834379#if __HVX_ARCH__ >= 68
49844380/* ==========================================================================
......@@ -4989,9 +4385,9 @@
49894385 ========================================================================== */
49904386
49914387#define Q6_Vqf32_vmpy_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_qf32_sf)(Vu,Vv)
4992#endif /* __HEXAGON_ARCH___ >= 68 */
4388#endif
49934389
4994#if __HVX_ARCH__ >= 68
4390#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
49954391/* ==========================================================================
49964392 Assembly Syntax: Vdd32.sf=vmpy(Vu32.hf,Vv32.hf)
49974393 C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vmpy_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -5000,9 +4396,9 @@
50004396 ========================================================================== */
50014397
50024398#define Q6_Wsf_vmpy_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_sf_hf)(Vu,Vv)
5003#endif /* __HEXAGON_ARCH___ >= 68 */
4399#endif
50044400
5005#if __HVX_ARCH__ >= 68
4401#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
50064402/* ==========================================================================
50074403 Assembly Syntax: Vxx32.sf+=vmpy(Vu32.hf,Vv32.hf)
50084404 C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vmpyacc_WsfVhfVhf(HVX_VectorPair Vxx, HVX_Vector Vu, HVX_Vector Vv)
......@@ -5011,9 +4407,9 @@
50114407 ========================================================================== */
50124408
50134409#define Q6_Wsf_vmpyacc_WsfVhfVhf(Vxx,Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_sf_hf_acc)(Vxx,Vu,Vv)
5014#endif /* __HEXAGON_ARCH___ >= 68 */
4410#endif
50154411
5016#if __HVX_ARCH__ >= 68
4412#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
50174413/* ==========================================================================
50184414 Assembly Syntax: Vd32.sf=vmpy(Vu32.sf,Vv32.sf)
50194415 C Intrinsic Prototype: HVX_Vector Q6_Vsf_vmpy_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -5022,7 +4418,7 @@
50224418 ========================================================================== */
50234419
50244420#define Q6_Vsf_vmpy_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_sf_sf)(Vu,Vv)
5025#endif /* __HEXAGON_ARCH___ >= 68 */
4421#endif
50264422
50274423#if __HVX_ARCH__ >= 68
50284424/* ==========================================================================
......@@ -5033,9 +4429,9 @@
50334429 ========================================================================== */
50344430
50354431#define Q6_Vqf16_vsub_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_hf)(Vu,Vv)
5036#endif /* __HEXAGON_ARCH___ >= 68 */
4432#endif
50374433
5038#if __HVX_ARCH__ >= 68
4434#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
50394435/* ==========================================================================
50404436 Assembly Syntax: Vd32.hf=vsub(Vu32.hf,Vv32.hf)
50414437 C Intrinsic Prototype: HVX_Vector Q6_Vhf_vsub_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -5044,7 +4440,7 @@
50444440 ========================================================================== */
50454441
50464442#define Q6_Vhf_vsub_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_hf_hf)(Vu,Vv)
5047#endif /* __HEXAGON_ARCH___ >= 68 */
4443#endif
50484444
50494445#if __HVX_ARCH__ >= 68
50504446/* ==========================================================================
......@@ -5055,7 +4451,7 @@
50554451 ========================================================================== */
50564452
50574453#define Q6_Vqf16_vsub_Vqf16Vqf16(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_qf16)(Vu,Vv)
5058#endif /* __HEXAGON_ARCH___ >= 68 */
4454#endif
50594455
50604456#if __HVX_ARCH__ >= 68
50614457/* ==========================================================================
......@@ -5066,7 +4462,7 @@
50664462 ========================================================================== */
50674463
50684464#define Q6_Vqf16_vsub_Vqf16Vhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_qf16_mix)(Vu,Vv)
5069#endif /* __HEXAGON_ARCH___ >= 68 */
4465#endif
50704466
50714467#if __HVX_ARCH__ >= 68
50724468/* ==========================================================================
......@@ -5077,7 +4473,7 @@
50774473 ========================================================================== */
50784474
50794475#define Q6_Vqf32_vsub_Vqf32Vqf32(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_qf32)(Vu,Vv)
5080#endif /* __HEXAGON_ARCH___ >= 68 */
4476#endif
50814477
50824478#if __HVX_ARCH__ >= 68
50834479/* ==========================================================================
......@@ -5088,7 +4484,7 @@
50884484 ========================================================================== */
50894485
50904486#define Q6_Vqf32_vsub_Vqf32Vsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_qf32_mix)(Vu,Vv)
5091#endif /* __HEXAGON_ARCH___ >= 68 */
4487#endif
50924488
50934489#if __HVX_ARCH__ >= 68
50944490/* ==========================================================================
......@@ -5099,9 +4495,9 @@
50994495 ========================================================================== */
51004496
51014497#define Q6_Vqf32_vsub_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_sf)(Vu,Vv)
5102#endif /* __HEXAGON_ARCH___ >= 68 */
4498#endif
51034499
5104#if __HVX_ARCH__ >= 68
4500#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
51054501/* ==========================================================================
51064502 Assembly Syntax: Vdd32.sf=vsub(Vu32.hf,Vv32.hf)
51074503 C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vsub_VhfVhf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -5110,9 +4506,9 @@
51104506 ========================================================================== */
51114507
51124508#define Q6_Wsf_vsub_VhfVhf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_sf_hf)(Vu,Vv)
5113#endif /* __HEXAGON_ARCH___ >= 68 */
4509#endif
51144510
5115#if __HVX_ARCH__ >= 68
4511#if __HVX_ARCH__ >= 68 && defined __HVX_IEEE_FP__
51164512/* ==========================================================================
51174513 Assembly Syntax: Vd32.sf=vsub(Vu32.sf,Vv32.sf)
51184514 C Intrinsic Prototype: HVX_Vector Q6_Vsf_vsub_VsfVsf(HVX_Vector Vu, HVX_Vector Vv)
......@@ -5121,7 +4517,7 @@
51214517 ========================================================================== */
51224518
51234519#define Q6_Vsf_vsub_VsfVsf(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_sf_sf)(Vu,Vv)
5124#endif /* __HEXAGON_ARCH___ >= 68 */
4520#endif
51254521
51264522#if __HVX_ARCH__ >= 69
51274523/* ==========================================================================
......@@ -5132,7 +4528,7 @@
51324528 ========================================================================== */
51334529
51344530#define Q6_Vub_vasr_WuhVub_rnd_sat(Vuu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrvuhubrndsat)(Vuu,Vv)
5135#endif /* __HEXAGON_ARCH___ >= 69 */
4531#endif
51364532
51374533#if __HVX_ARCH__ >= 69
51384534/* ==========================================================================
......@@ -5143,7 +4539,7 @@
51434539 ========================================================================== */
51444540
51454541#define Q6_Vub_vasr_WuhVub_sat(Vuu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrvuhubsat)(Vuu,Vv)
5146#endif /* __HEXAGON_ARCH___ >= 69 */
4542#endif
51474543
51484544#if __HVX_ARCH__ >= 69
51494545/* ==========================================================================
......@@ -5154,7 +4550,7 @@
51544550 ========================================================================== */
51554551
51564552#define Q6_Vuh_vasr_WwVuh_rnd_sat(Vuu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrvwuhrndsat)(Vuu,Vv)
5157#endif /* __HEXAGON_ARCH___ >= 69 */
4553#endif
51584554
51594555#if __HVX_ARCH__ >= 69
51604556/* ==========================================================================
......@@ -5165,7 +4561,7 @@
51654561 ========================================================================== */
51664562
51674563#define Q6_Vuh_vasr_WwVuh_sat(Vuu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vasrvwuhsat)(Vuu,Vv)
5168#endif /* __HEXAGON_ARCH___ >= 69 */
4564#endif
51694565
51704566#if __HVX_ARCH__ >= 69
51714567/* ==========================================================================
......@@ -5176,9 +4572,9 @@
51764572 ========================================================================== */
51774573
51784574#define Q6_Vuh_vmpy_VuhVuh_rs16(Vu,Vv) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpyuhvs)(Vu,Vv)
5179#endif /* __HEXAGON_ARCH___ >= 69 */
4575#endif
51804576
5181#if __HVX_ARCH__ >= 73
4577#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
51824578/* ==========================================================================
51834579 Assembly Syntax: Vdd32.sf=vadd(Vu32.bf,Vv32.bf)
51844580 C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vadd_VbfVbf(HVX_Vector Vu,
......@@ -5187,7 +4583,7 @@
51874583
51884584#define Q6_Wsf_vadd_VbfVbf(Vu, Vv) \
51894585 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_sf_bf)(Vu, Vv)
5190#endif /* __HEXAGON_ARCH___ >= 73 */
4586#endif
51914587
51924588#if __HVX_ARCH__ >= 73
51934589/* ==========================================================================
......@@ -5199,7 +4595,7 @@
51994595
52004596#define Q6_Vh_equals_Vhf(Vu) \
52014597 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_h_hf)(Vu)
5202#endif /* __HEXAGON_ARCH___ >= 73 */
4598#endif
52034599
52044600#if __HVX_ARCH__ >= 73
52054601/* ==========================================================================
......@@ -5211,7 +4607,7 @@
52114607
52124608#define Q6_Vhf_equals_Vh(Vu) \
52134609 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_hf_h)(Vu)
5214#endif /* __HEXAGON_ARCH___ >= 73 */
4610#endif
52154611
52164612#if __HVX_ARCH__ >= 73
52174613/* ==========================================================================
......@@ -5223,7 +4619,7 @@
52234619
52244620#define Q6_Vsf_equals_Vw(Vu) \
52254621 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_sf_w)(Vu)
5226#endif /* __HEXAGON_ARCH___ >= 73 */
4622#endif
52274623
52284624#if __HVX_ARCH__ >= 73
52294625/* ==========================================================================
......@@ -5235,9 +4631,9 @@
52354631
52364632#define Q6_Vw_equals_Vsf(Vu) \
52374633 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_w_sf)(Vu)
5238#endif /* __HEXAGON_ARCH___ >= 73 */
4634#endif
52394635
5240#if __HVX_ARCH__ >= 73
4636#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
52414637/* ==========================================================================
52424638 Assembly Syntax: Vd32.bf=vcvt(Vu32.sf,Vv32.sf)
52434639 C Intrinsic Prototype: HVX_Vector Q6_Vbf_vcvt_VsfVsf(HVX_Vector Vu,
......@@ -5246,7 +4642,7 @@
52464642
52474643#define Q6_Vbf_vcvt_VsfVsf(Vu, Vv) \
52484644 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_bf_sf)(Vu, Vv)
5249#endif /* __HEXAGON_ARCH___ >= 73 */
4645#endif
52504646
52514647#if __HVX_ARCH__ >= 73
52524648/* ==========================================================================
......@@ -5258,7 +4654,7 @@
52584654#define Q6_Q_vcmp_gt_VbfVbf(Vu, Vv) \
52594655 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt) \
52604656 ((__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vgtbf)(Vu, Vv)), -1)
5261#endif /* __HEXAGON_ARCH___ >= 73 */
4657#endif
52624658
52634659#if __HVX_ARCH__ >= 73
52644660/* ==========================================================================
......@@ -5274,7 +4670,7 @@
52744670 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx), -1), Vu, \
52754671 Vv)), \
52764672 -1)
5277#endif /* __HEXAGON_ARCH___ >= 73 */
4673#endif
52784674
52794675#if __HVX_ARCH__ >= 73
52804676/* ==========================================================================
......@@ -5290,7 +4686,7 @@
52904686 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx), -1), Vu, \
52914687 Vv)), \
52924688 -1)
5293#endif /* __HEXAGON_ARCH___ >= 73 */
4689#endif
52944690
52954691#if __HVX_ARCH__ >= 73
52964692/* ==========================================================================
......@@ -5306,9 +4702,9 @@
53064702 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx), -1), Vu, \
53074703 Vv)), \
53084704 -1)
5309#endif /* __HEXAGON_ARCH___ >= 73 */
4705#endif
53104706
5311#if __HVX_ARCH__ >= 73
4707#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
53124708/* ==========================================================================
53134709 Assembly Syntax: Vd32.bf=vmax(Vu32.bf,Vv32.bf)
53144710 C Intrinsic Prototype: HVX_Vector Q6_Vbf_vmax_VbfVbf(HVX_Vector Vu,
......@@ -5317,9 +4713,9 @@
53174713
53184714#define Q6_Vbf_vmax_VbfVbf(Vu, Vv) \
53194715 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmax_bf)(Vu, Vv)
5320#endif /* __HEXAGON_ARCH___ >= 73 */
4716#endif
53214717
5322#if __HVX_ARCH__ >= 73
4718#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
53234719/* ==========================================================================
53244720 Assembly Syntax: Vd32.bf=vmin(Vu32.bf,Vv32.bf)
53254721 C Intrinsic Prototype: HVX_Vector Q6_Vbf_vmin_VbfVbf(HVX_Vector Vu,
......@@ -5328,9 +4724,9 @@
53284724
53294725#define Q6_Vbf_vmin_VbfVbf(Vu, Vv) \
53304726 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmin_bf)(Vu, Vv)
5331#endif /* __HEXAGON_ARCH___ >= 73 */
4727#endif
53324728
5333#if __HVX_ARCH__ >= 73
4729#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
53344730/* ==========================================================================
53354731 Assembly Syntax: Vdd32.sf=vmpy(Vu32.bf,Vv32.bf)
53364732 C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vmpy_VbfVbf(HVX_Vector Vu,
......@@ -5339,9 +4735,9 @@
53394735
53404736#define Q6_Wsf_vmpy_VbfVbf(Vu, Vv) \
53414737 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_sf_bf)(Vu, Vv)
5342#endif /* __HEXAGON_ARCH___ >= 73 */
4738#endif
53434739
5344#if __HVX_ARCH__ >= 73
4740#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
53454741/* ==========================================================================
53464742 Assembly Syntax: Vxx32.sf+=vmpy(Vu32.bf,Vv32.bf)
53474743 C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vmpyacc_WsfVbfVbf(HVX_VectorPair
......@@ -5351,9 +4747,9 @@
53514747
53524748#define Q6_Wsf_vmpyacc_WsfVbfVbf(Vxx, Vu, Vv) \
53534749 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_sf_bf_acc)(Vxx, Vu, Vv)
5354#endif /* __HEXAGON_ARCH___ >= 73 */
4750#endif
53554751
5356#if __HVX_ARCH__ >= 73
4752#if __HVX_ARCH__ >= 73 && defined __HVX_IEEE_FP__
53574753/* ==========================================================================
53584754 Assembly Syntax: Vdd32.sf=vsub(Vu32.bf,Vv32.bf)
53594755 C Intrinsic Prototype: HVX_VectorPair Q6_Wsf_vsub_VbfVbf(HVX_Vector Vu,
......@@ -5362,7 +4758,7 @@
53624758
53634759#define Q6_Wsf_vsub_VbfVbf(Vu, Vv) \
53644760 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_sf_bf)(Vu, Vv)
5365#endif /* __HEXAGON_ARCH___ >= 73 */
4761#endif
53664762
53674763#if __HVX_ARCH__ >= 79
53684764/* ==========================================================================
......@@ -5374,7 +4770,7 @@
53744770
53754771#define Q6_V_vgetqfext_VR(Vu, Rt) \
53764772 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_get_qfext)(Vu, Rt)
5377#endif /* __HEXAGON_ARCH___ >= 79 */
4773#endif
53784774
53794775#if __HVX_ARCH__ >= 79
53804776/* ==========================================================================
......@@ -5386,7 +4782,7 @@
53864782
53874783#define Q6_V_vgetqfextor_VVR(Vx, Vu, Rt) \
53884784 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_get_qfext_oracc)(Vx, Vu, Rt)
5389#endif /* __HEXAGON_ARCH___ >= 79 */
4785#endif
53904786
53914787#if __HVX_ARCH__ >= 79
53924788/* ==========================================================================
......@@ -5398,9 +4794,9 @@
53984794
53994795#define Q6_V_vsetqfext_VR(Vu, Rt) \
54004796 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_set_qfext)(Vu, Rt)
5401#endif /* __HEXAGON_ARCH___ >= 79 */
4797#endif
54024798
5403#if __HVX_ARCH__ >= 79
4799#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
54044800/* ==========================================================================
54054801 Assembly Syntax: Vd32.f8=vabs(Vu32.f8)
54064802 C Intrinsic Prototype: HVX_Vector Q6_V_vabs_V(HVX_Vector Vu)
......@@ -5409,9 +4805,9 @@
54094805 ========================================================================== */
54104806
54114807#define Q6_V_vabs_V(Vu) __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabs_f8)(Vu)
5412#endif /* __HEXAGON_ARCH___ >= 79 */
4808#endif
54134809
5414#if __HVX_ARCH__ >= 79
4810#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
54154811/* ==========================================================================
54164812 Assembly Syntax: Vdd32.hf=vadd(Vu32.f8,Vv32.f8)
54174813 C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vadd_VV(HVX_Vector Vu,
......@@ -5420,9 +4816,9 @@
54204816
54214817#define Q6_Whf_vadd_VV(Vu, Vv) \
54224818 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vadd_hf_f8)(Vu, Vv)
5423#endif /* __HEXAGON_ARCH___ >= 79 */
4819#endif
54244820
5425#if __HVX_ARCH__ >= 79
4821#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
54264822/* ==========================================================================
54274823 Assembly Syntax: Vd32.b=vcvt2(Vu32.hf,Vv32.hf)
54284824 C Intrinsic Prototype: HVX_Vector Q6_Vb_vcvt2_VhfVhf(HVX_Vector Vu,
......@@ -5431,9 +4827,9 @@
54314827
54324828#define Q6_Vb_vcvt2_VhfVhf(Vu, Vv) \
54334829 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt2_b_hf)(Vu, Vv)
5434#endif /* __HEXAGON_ARCH___ >= 79 */
4830#endif
54354831
5436#if __HVX_ARCH__ >= 79
4832#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
54374833/* ==========================================================================
54384834 Assembly Syntax: Vdd32.hf=vcvt2(Vu32.b)
54394835 C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vcvt2_Vb(HVX_Vector Vu)
......@@ -5443,9 +4839,9 @@
54434839
54444840#define Q6_Whf_vcvt2_Vb(Vu) \
54454841 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt2_hf_b)(Vu)
5446#endif /* __HEXAGON_ARCH___ >= 79 */
4842#endif
54474843
5448#if __HVX_ARCH__ >= 79
4844#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
54494845/* ==========================================================================
54504846 Assembly Syntax: Vdd32.hf=vcvt2(Vu32.ub)
54514847 C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vcvt2_Vub(HVX_Vector Vu)
......@@ -5455,9 +4851,9 @@
54554851
54564852#define Q6_Whf_vcvt2_Vub(Vu) \
54574853 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt2_hf_ub)(Vu)
5458#endif /* __HEXAGON_ARCH___ >= 79 */
4854#endif
54594855
5460#if __HVX_ARCH__ >= 79
4856#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
54614857/* ==========================================================================
54624858 Assembly Syntax: Vd32.ub=vcvt2(Vu32.hf,Vv32.hf)
54634859 C Intrinsic Prototype: HVX_Vector Q6_Vub_vcvt2_VhfVhf(HVX_Vector Vu,
......@@ -5466,9 +4862,9 @@
54664862
54674863#define Q6_Vub_vcvt2_VhfVhf(Vu, Vv) \
54684864 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt2_ub_hf)(Vu, Vv)
5469#endif /* __HEXAGON_ARCH___ >= 79 */
4865#endif
54704866
5471#if __HVX_ARCH__ >= 79
4867#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
54724868/* ==========================================================================
54734869 Assembly Syntax: Vd32.f8=vcvt(Vu32.hf,Vv32.hf)
54744870 C Intrinsic Prototype: HVX_Vector Q6_V_vcvt_VhfVhf(HVX_Vector Vu, HVX_Vector
......@@ -5477,9 +4873,9 @@
54774873
54784874#define Q6_V_vcvt_VhfVhf(Vu, Vv) \
54794875 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_f8_hf)(Vu, Vv)
5480#endif /* __HEXAGON_ARCH___ >= 79 */
4876#endif
54814877
5482#if __HVX_ARCH__ >= 79
4878#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
54834879/* ==========================================================================
54844880 Assembly Syntax: Vdd32.hf=vcvt(Vu32.f8)
54854881 C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vcvt_V(HVX_Vector Vu)
......@@ -5489,9 +4885,9 @@
54894885
54904886#define Q6_Whf_vcvt_V(Vu) \
54914887 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vcvt_hf_f8)(Vu)
5492#endif /* __HEXAGON_ARCH___ >= 79 */
4888#endif
54934889
5494#if __HVX_ARCH__ >= 79
4890#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
54954891/* ==========================================================================
54964892 Assembly Syntax: Vd32.f8=vfmax(Vu32.f8,Vv32.f8)
54974893 C Intrinsic Prototype: HVX_Vector Q6_V_vfmax_VV(HVX_Vector Vu, HVX_Vector Vv)
......@@ -5501,9 +4897,9 @@
55014897
55024898#define Q6_V_vfmax_VV(Vu, Vv) \
55034899 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfmax_f8)(Vu, Vv)
5504#endif /* __HEXAGON_ARCH___ >= 79 */
4900#endif
55054901
5506#if __HVX_ARCH__ >= 79
4902#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
55074903/* ==========================================================================
55084904 Assembly Syntax: Vd32.f8=vfmin(Vu32.f8,Vv32.f8)
55094905 C Intrinsic Prototype: HVX_Vector Q6_V_vfmin_VV(HVX_Vector Vu, HVX_Vector Vv)
......@@ -5513,9 +4909,9 @@
55134909
55144910#define Q6_V_vfmin_VV(Vu, Vv) \
55154911 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfmin_f8)(Vu, Vv)
5516#endif /* __HEXAGON_ARCH___ >= 79 */
4912#endif
55174913
5518#if __HVX_ARCH__ >= 79
4914#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
55194915/* ==========================================================================
55204916 Assembly Syntax: Vd32.f8=vfneg(Vu32.f8)
55214917 C Intrinsic Prototype: HVX_Vector Q6_V_vfneg_V(HVX_Vector Vu)
......@@ -5525,7 +4921,7 @@
55254921
55264922#define Q6_V_vfneg_V(Vu) \
55274923 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vfneg_f8)(Vu)
5528#endif /* __HEXAGON_ARCH___ >= 79 */
4924#endif
55294925
55304926#if __HVX_ARCH__ >= 79
55314927/* ==========================================================================
......@@ -5536,9 +4932,9 @@
55364932
55374933#define Q6_V_vmerge_VVw(Vu, Vv) \
55384934 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmerge_qf)(Vu, Vv)
5539#endif /* __HEXAGON_ARCH___ >= 79 */
4935#endif
55404936
5541#if __HVX_ARCH__ >= 79
4937#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
55424938/* ==========================================================================
55434939 Assembly Syntax: Vdd32.hf=vmpy(Vu32.f8,Vv32.f8)
55444940 C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vmpy_VV(HVX_Vector Vu,
......@@ -5547,9 +4943,9 @@
55474943
55484944#define Q6_Whf_vmpy_VV(Vu, Vv) \
55494945 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_hf_f8)(Vu, Vv)
5550#endif /* __HEXAGON_ARCH___ >= 79 */
4946#endif
55514947
5552#if __HVX_ARCH__ >= 79
4948#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
55534949/* ==========================================================================
55544950 Assembly Syntax: Vxx32.hf+=vmpy(Vu32.f8,Vv32.f8)
55554951 C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vmpyacc_WhfVV(HVX_VectorPair
......@@ -5559,7 +4955,7 @@
55594955
55604956#define Q6_Whf_vmpyacc_WhfVV(Vxx, Vu, Vv) \
55614957 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_hf_f8_acc)(Vxx, Vu, Vv)
5562#endif /* __HEXAGON_ARCH___ >= 79 */
4958#endif
55634959
55644960#if __HVX_ARCH__ >= 79
55654961/* ==========================================================================
......@@ -5570,7 +4966,7 @@
55704966
55714967#define Q6_Vqf16_vmpy_VhfRhf(Vu, Rt) \
55724968 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_rt_hf)(Vu, Rt)
5573#endif /* __HEXAGON_ARCH___ >= 79 */
4969#endif
55744970
55754971#if __HVX_ARCH__ >= 79
55764972/* ==========================================================================
......@@ -5581,7 +4977,7 @@
55814977
55824978#define Q6_Vqf16_vmpy_Vqf16Rhf(Vu, Rt) \
55834979 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_rt_qf16)(Vu, Rt)
5584#endif /* __HEXAGON_ARCH___ >= 79 */
4980#endif
55854981
55864982#if __HVX_ARCH__ >= 79
55874983/* ==========================================================================
......@@ -5592,9 +4988,9 @@
55924988
55934989#define Q6_Vqf32_vmpy_VsfRsf(Vu, Rt) \
55944990 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vmpy_rt_sf)(Vu, Rt)
5595#endif /* __HEXAGON_ARCH___ >= 79 */
4991#endif
55964992
5597#if __HVX_ARCH__ >= 79
4993#if __HVX_ARCH__ >= 79 && defined __HVX_IEEE_FP__
55984994/* ==========================================================================
55994995 Assembly Syntax: Vdd32.hf=vsub(Vu32.f8,Vv32.f8)
56004996 C Intrinsic Prototype: HVX_VectorPair Q6_Whf_vsub_VV(HVX_Vector Vu,
......@@ -5603,7 +4999,400 @@
56034999
56045000#define Q6_Whf_vsub_VV(Vu, Vv) \
56055001 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_hf_f8)(Vu, Vv)
5606#endif /* __HEXAGON_ARCH___ >= 79 */
5002#endif
5003
5004#if __HVX_ARCH__ >= 81
5005/* ==========================================================================
5006 Assembly Syntax: Vd32.qf16=vabs(Vu32.hf)
5007 C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vabs_Vhf(HVX_Vector Vu)
5008 Instruction Type: CVI_VS
5009 Execution Slots: SLOT0123
5010 ========================================================================== */
5011
5012#define Q6_Vqf16_vabs_Vhf(Vu) \
5013 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabs_qf16_hf)(Vu)
5014#endif
5015
5016#if __HVX_ARCH__ >= 81
5017/* ==========================================================================
5018 Assembly Syntax: Vd32.qf16=vabs(Vu32.qf16)
5019 C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vabs_Vqf16(HVX_Vector Vu)
5020 Instruction Type: CVI_VS
5021 Execution Slots: SLOT0123
5022 ========================================================================== */
5023
5024#define Q6_Vqf16_vabs_Vqf16(Vu) \
5025 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabs_qf16_qf16)(Vu)
5026#endif
5027
5028#if __HVX_ARCH__ >= 81
5029/* ==========================================================================
5030 Assembly Syntax: Vd32.qf32=vabs(Vu32.qf32)
5031 C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vabs_Vqf32(HVX_Vector Vu)
5032 Instruction Type: CVI_VS
5033 Execution Slots: SLOT0123
5034 ========================================================================== */
5035
5036#define Q6_Vqf32_vabs_Vqf32(Vu) \
5037 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabs_qf32_qf32)(Vu)
5038#endif
5039
5040#if __HVX_ARCH__ >= 81
5041/* ==========================================================================
5042 Assembly Syntax: Vd32.qf32=vabs(Vu32.sf)
5043 C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vabs_Vsf(HVX_Vector Vu)
5044 Instruction Type: CVI_VS
5045 Execution Slots: SLOT0123
5046 ========================================================================== */
5047
5048#define Q6_Vqf32_vabs_Vsf(Vu) \
5049 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vabs_qf32_sf)(Vu)
5050#endif
5051
5052#if __HVX_ARCH__ >= 81
5053/* ==========================================================================
5054 Assembly Syntax: Vd32=valign4(Vu32,Vv32,Rt8)
5055 C Intrinsic Prototype: HVX_Vector Q6_V_valign4_VVR(HVX_Vector Vu, HVX_Vector
5056 Vv, Word32 Rt) Instruction Type: CVI_VA Execution Slots: SLOT0123
5057 ========================================================================== */
5058
5059#define Q6_V_valign4_VVR(Vu, Vv, Rt) \
5060 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_valign4)(Vu, Vv, Rt)
5061#endif
5062
5063#if __HVX_ARCH__ >= 81
5064/* ==========================================================================
5065 Assembly Syntax: Vd32.bf=Vuu32.qf32
5066 C Intrinsic Prototype: HVX_Vector Q6_Vbf_equals_Wqf32(HVX_VectorPair Vuu)
5067 Instruction Type: CVI_VS
5068 Execution Slots: SLOT0123
5069 ========================================================================== */
5070
5071#define Q6_Vbf_equals_Wqf32(Vuu) \
5072 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_bf_qf32)(Vuu)
5073#endif
5074
5075#if __HVX_ARCH__ >= 81
5076/* ==========================================================================
5077 Assembly Syntax: Vd32.f8=Vu32.qf16
5078 C Intrinsic Prototype: HVX_Vector Q6_V_equals_Vqf16(HVX_Vector Vu)
5079 Instruction Type: CVI_VS
5080 Execution Slots: SLOT0123
5081 ========================================================================== */
5082
5083#define Q6_V_equals_Vqf16(Vu) \
5084 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_f8_qf16)(Vu)
5085#endif
5086
5087#if __HVX_ARCH__ >= 81
5088/* ==========================================================================
5089 Assembly Syntax: Vd32.h=Vu32.hf:rnd
5090 C Intrinsic Prototype: HVX_Vector Q6_Vh_equals_Vhf_rnd(HVX_Vector Vu)
5091 Instruction Type: CVI_VS
5092 Execution Slots: SLOT0123
5093 ========================================================================== */
5094
5095#define Q6_Vh_equals_Vhf_rnd(Vu) \
5096 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_h_hf_rnd)(Vu)
5097#endif
5098
5099#if __HVX_ARCH__ >= 81
5100/* ==========================================================================
5101 Assembly Syntax: Vdd32.qf16=Vu32.f8
5102 C Intrinsic Prototype: HVX_VectorPair Q6_Wqf16_equals_V(HVX_Vector Vu)
5103 Instruction Type: CVI_VP_VS
5104 Execution Slots: SLOT0123
5105 ========================================================================== */
5106
5107#define Q6_Wqf16_equals_V(Vu) \
5108 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_qf16_f8)(Vu)
5109#endif
5110
5111#if __HVX_ARCH__ >= 81
5112/* ==========================================================================
5113 Assembly Syntax: Vd32.qf16=Vu32.hf
5114 C Intrinsic Prototype: HVX_Vector Q6_Vqf16_equals_Vhf(HVX_Vector Vu)
5115 Instruction Type: CVI_VS
5116 Execution Slots: SLOT0123
5117 ========================================================================== */
5118
5119#define Q6_Vqf16_equals_Vhf(Vu) \
5120 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_qf16_hf)(Vu)
5121#endif
5122
5123#if __HVX_ARCH__ >= 81
5124/* ==========================================================================
5125 Assembly Syntax: Vd32.qf16=Vu32.qf16
5126 C Intrinsic Prototype: HVX_Vector Q6_Vqf16_equals_Vqf16(HVX_Vector Vu)
5127 Instruction Type: CVI_VS
5128 Execution Slots: SLOT0123
5129 ========================================================================== */
5130
5131#define Q6_Vqf16_equals_Vqf16(Vu) \
5132 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_qf16_qf16)(Vu)
5133#endif
5134
5135#if __HVX_ARCH__ >= 81
5136/* ==========================================================================
5137 Assembly Syntax: Vd32.qf32=Vu32.qf32
5138 C Intrinsic Prototype: HVX_Vector Q6_Vqf32_equals_Vqf32(HVX_Vector Vu)
5139 Instruction Type: CVI_VS
5140 Execution Slots: SLOT0123
5141 ========================================================================== */
5142
5143#define Q6_Vqf32_equals_Vqf32(Vu) \
5144 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_qf32_qf32)(Vu)
5145#endif
5146
5147#if __HVX_ARCH__ >= 81
5148/* ==========================================================================
5149 Assembly Syntax: Vd32.qf32=Vu32.sf
5150 C Intrinsic Prototype: HVX_Vector Q6_Vqf32_equals_Vsf(HVX_Vector Vu)
5151 Instruction Type: CVI_VS
5152 Execution Slots: SLOT0123
5153 ========================================================================== */
5154
5155#define Q6_Vqf32_equals_Vsf(Vu) \
5156 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vconv_qf32_sf)(Vu)
5157#endif
5158
5159#if __HVX_ARCH__ >= 81
5160/* ==========================================================================
5161 Assembly Syntax: Qd4=vcmp.eq(Vu32.hf,Vv32.hf)
5162 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VhfVhf(HVX_Vector Vu,
5163 HVX_Vector Vv) Instruction Type: CVI_VA Execution Slots: SLOT0123
5164 ========================================================================== */
5165
5166#define Q6_Q_vcmp_eq_VhfVhf(Vu, Vv) \
5167 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)( \
5168 (__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqhf)(Vu, Vv)), -1)
5169#endif
5170
5171#if __HVX_ARCH__ >= 81
5172/* ==========================================================================
5173 Assembly Syntax: Qx4&=vcmp.eq(Vu32.hf,Vv32.hf)
5174 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVhfVhf(HVX_VectorPred
5175 Qx, HVX_Vector Vu, HVX_Vector Vv) Instruction Type: CVI_VA Execution
5176 Slots: SLOT0123
5177 ========================================================================== */
5178
5179#define Q6_Q_vcmp_eqand_QVhfVhf(Qx, Vu, Vv) \
5180 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)( \
5181 (__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqhf_and)( \
5182 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx), -1), Vu, \
5183 Vv)), \
5184 -1)
5185#endif
5186
5187#if __HVX_ARCH__ >= 81
5188/* ==========================================================================
5189 Assembly Syntax: Qx4|=vcmp.eq(Vu32.hf,Vv32.hf)
5190 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVhfVhf(HVX_VectorPred
5191 Qx, HVX_Vector Vu, HVX_Vector Vv) Instruction Type: CVI_VA Execution
5192 Slots: SLOT0123
5193 ========================================================================== */
5194
5195#define Q6_Q_vcmp_eqor_QVhfVhf(Qx, Vu, Vv) \
5196 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)( \
5197 (__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqhf_or)( \
5198 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx), -1), Vu, \
5199 Vv)), \
5200 -1)
5201#endif
5202
5203#if __HVX_ARCH__ >= 81
5204/* ==========================================================================
5205 Assembly Syntax: Qx4^=vcmp.eq(Vu32.hf,Vv32.hf)
5206 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVhfVhf(HVX_VectorPred
5207 Qx, HVX_Vector Vu, HVX_Vector Vv) Instruction Type: CVI_VA Execution
5208 Slots: SLOT0123
5209 ========================================================================== */
5210
5211#define Q6_Q_vcmp_eqxacc_QVhfVhf(Qx, Vu, Vv) \
5212 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)( \
5213 (__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqhf_xor)( \
5214 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx), -1), Vu, \
5215 Vv)), \
5216 -1)
5217#endif
5218
5219#if __HVX_ARCH__ >= 81
5220/* ==========================================================================
5221 Assembly Syntax: Qd4=vcmp.eq(Vu32.sf,Vv32.sf)
5222 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eq_VsfVsf(HVX_Vector Vu,
5223 HVX_Vector Vv) Instruction Type: CVI_VA Execution Slots: SLOT0123
5224 ========================================================================== */
5225
5226#define Q6_Q_vcmp_eq_VsfVsf(Vu, Vv) \
5227 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)( \
5228 (__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqsf)(Vu, Vv)), -1)
5229#endif
5230
5231#if __HVX_ARCH__ >= 81
5232/* ==========================================================================
5233 Assembly Syntax: Qx4&=vcmp.eq(Vu32.sf,Vv32.sf)
5234 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqand_QVsfVsf(HVX_VectorPred
5235 Qx, HVX_Vector Vu, HVX_Vector Vv) Instruction Type: CVI_VA Execution
5236 Slots: SLOT0123
5237 ========================================================================== */
5238
5239#define Q6_Q_vcmp_eqand_QVsfVsf(Qx, Vu, Vv) \
5240 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)( \
5241 (__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqsf_and)( \
5242 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx), -1), Vu, \
5243 Vv)), \
5244 -1)
5245#endif
5246
5247#if __HVX_ARCH__ >= 81
5248/* ==========================================================================
5249 Assembly Syntax: Qx4|=vcmp.eq(Vu32.sf,Vv32.sf)
5250 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqor_QVsfVsf(HVX_VectorPred
5251 Qx, HVX_Vector Vu, HVX_Vector Vv) Instruction Type: CVI_VA Execution
5252 Slots: SLOT0123
5253 ========================================================================== */
5254
5255#define Q6_Q_vcmp_eqor_QVsfVsf(Qx, Vu, Vv) \
5256 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)( \
5257 (__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqsf_or)( \
5258 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx), -1), Vu, \
5259 Vv)), \
5260 -1)
5261#endif
5262
5263#if __HVX_ARCH__ >= 81
5264/* ==========================================================================
5265 Assembly Syntax: Qx4^=vcmp.eq(Vu32.sf,Vv32.sf)
5266 C Intrinsic Prototype: HVX_VectorPred Q6_Q_vcmp_eqxacc_QVsfVsf(HVX_VectorPred
5267 Qx, HVX_Vector Vu, HVX_Vector Vv) Instruction Type: CVI_VA Execution
5268 Slots: SLOT0123
5269 ========================================================================== */
5270
5271#define Q6_Q_vcmp_eqxacc_QVsfVsf(Qx, Vu, Vv) \
5272 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandqrt)( \
5273 (__BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_veqsf_xor)( \
5274 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vandvrt)((Qx), -1), Vu, \
5275 Vv)), \
5276 -1)
5277#endif
5278
5279#if __HVX_ARCH__ >= 81
5280/* ==========================================================================
5281 Assembly Syntax: Vd32.w=vilog2(Vu32.hf)
5282 C Intrinsic Prototype: HVX_Vector Q6_Vw_vilog2_Vhf(HVX_Vector Vu)
5283 Instruction Type: CVI_VS
5284 Execution Slots: SLOT0123
5285 ========================================================================== */
5286
5287#define Q6_Vw_vilog2_Vhf(Vu) \
5288 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vilog2_hf)(Vu)
5289#endif
5290
5291#if __HVX_ARCH__ >= 81
5292/* ==========================================================================
5293 Assembly Syntax: Vd32.w=vilog2(Vu32.qf16)
5294 C Intrinsic Prototype: HVX_Vector Q6_Vw_vilog2_Vqf16(HVX_Vector Vu)
5295 Instruction Type: CVI_VS
5296 Execution Slots: SLOT0123
5297 ========================================================================== */
5298
5299#define Q6_Vw_vilog2_Vqf16(Vu) \
5300 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vilog2_qf16)(Vu)
5301#endif
5302
5303#if __HVX_ARCH__ >= 81
5304/* ==========================================================================
5305 Assembly Syntax: Vd32.w=vilog2(Vu32.qf32)
5306 C Intrinsic Prototype: HVX_Vector Q6_Vw_vilog2_Vqf32(HVX_Vector Vu)
5307 Instruction Type: CVI_VS
5308 Execution Slots: SLOT0123
5309 ========================================================================== */
5310
5311#define Q6_Vw_vilog2_Vqf32(Vu) \
5312 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vilog2_qf32)(Vu)
5313#endif
5314
5315#if __HVX_ARCH__ >= 81
5316/* ==========================================================================
5317 Assembly Syntax: Vd32.w=vilog2(Vu32.sf)
5318 C Intrinsic Prototype: HVX_Vector Q6_Vw_vilog2_Vsf(HVX_Vector Vu)
5319 Instruction Type: CVI_VS
5320 Execution Slots: SLOT0123
5321 ========================================================================== */
5322
5323#define Q6_Vw_vilog2_Vsf(Vu) \
5324 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vilog2_sf)(Vu)
5325#endif
5326
5327#if __HVX_ARCH__ >= 81
5328/* ==========================================================================
5329 Assembly Syntax: Vd32.qf16=vneg(Vu32.hf)
5330 C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vneg_Vhf(HVX_Vector Vu)
5331 Instruction Type: CVI_VS
5332 Execution Slots: SLOT0123
5333 ========================================================================== */
5334
5335#define Q6_Vqf16_vneg_Vhf(Vu) \
5336 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vneg_qf16_hf)(Vu)
5337#endif
5338
5339#if __HVX_ARCH__ >= 81
5340/* ==========================================================================
5341 Assembly Syntax: Vd32.qf16=vneg(Vu32.qf16)
5342 C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vneg_Vqf16(HVX_Vector Vu)
5343 Instruction Type: CVI_VS
5344 Execution Slots: SLOT0123
5345 ========================================================================== */
5346
5347#define Q6_Vqf16_vneg_Vqf16(Vu) \
5348 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vneg_qf16_qf16)(Vu)
5349#endif
5350
5351#if __HVX_ARCH__ >= 81
5352/* ==========================================================================
5353 Assembly Syntax: Vd32.qf32=vneg(Vu32.qf32)
5354 C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vneg_Vqf32(HVX_Vector Vu)
5355 Instruction Type: CVI_VS
5356 Execution Slots: SLOT0123
5357 ========================================================================== */
5358
5359#define Q6_Vqf32_vneg_Vqf32(Vu) \
5360 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vneg_qf32_qf32)(Vu)
5361#endif
5362
5363#if __HVX_ARCH__ >= 81
5364/* ==========================================================================
5365 Assembly Syntax: Vd32.qf32=vneg(Vu32.sf)
5366 C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vneg_Vsf(HVX_Vector Vu)
5367 Instruction Type: CVI_VS
5368 Execution Slots: SLOT0123
5369 ========================================================================== */
5370
5371#define Q6_Vqf32_vneg_Vsf(Vu) \
5372 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vneg_qf32_sf)(Vu)
5373#endif
5374
5375#if __HVX_ARCH__ >= 81
5376/* ==========================================================================
5377 Assembly Syntax: Vd32.qf16=vsub(Vu32.hf,Vv32.qf16)
5378 C Intrinsic Prototype: HVX_Vector Q6_Vqf16_vsub_VhfVqf16(HVX_Vector Vu,
5379 HVX_Vector Vv) Instruction Type: CVI_VS Execution Slots: SLOT0123
5380 ========================================================================== */
5381
5382#define Q6_Vqf16_vsub_VhfVqf16(Vu, Vv) \
5383 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_hf_mix)(Vu, Vv)
5384#endif
5385
5386#if __HVX_ARCH__ >= 81
5387/* ==========================================================================
5388 Assembly Syntax: Vd32.qf32=vsub(Vu32.sf,Vv32.qf32)
5389 C Intrinsic Prototype: HVX_Vector Q6_Vqf32_vsub_VsfVqf32(HVX_Vector Vu,
5390 HVX_Vector Vv) Instruction Type: CVI_VS Execution Slots: SLOT0123
5391 ========================================================================== */
5392
5393#define Q6_Vqf32_vsub_VsfVqf32(Vu, Vv) \
5394 __BUILTIN_VECTOR_WRAP(__builtin_HEXAGON_V6_vsub_sf_mix)(Vu, Vv)
5395#endif
56075396
56085397#endif /* __HVX__ */
56095398
lib/include/immintrin.h-12
......@@ -475,24 +475,12 @@ _storebe_i64(void * __P, long long __D) {
475475
476476#include <amxfp8intrin.h>
477477
478#include <amxtransposeintrin.h>
479
480478#include <amxmovrsintrin.h>
481479
482#include <amxmovrstransposeintrin.h>
483
484480#include <amxavx512intrin.h>
485481
486482#include <amxtf32intrin.h>
487483
488#include <amxtf32transposeintrin.h>
489
490#include <amxbf16transposeintrin.h>
491
492#include <amxfp16transposeintrin.h>
493
494#include <amxcomplextransposeintrin.h>
495
496484#include <avx512vp2intersectintrin.h>
497485
498486#include <avx512vlvp2intersectintrin.h>
lib/include/intrin.h+4
......@@ -30,6 +30,10 @@
3030#include <arm64intr.h>
3131#endif
3232
33#if defined(__ARM_ACLE)
34#include <arm_acle.h>
35#endif
36
3337/* For the definition of jmp_buf. */
3438#if __STDC_HOSTED__
3539#include <setjmp.h>
lib/include/lasxintrin.h+113
......@@ -10,6 +10,8 @@
1010#ifndef _LOONGSON_ASXINTRIN_H
1111#define _LOONGSON_ASXINTRIN_H 1
1212
13#include <lsxintrin.h>
14
1315#if defined(__loongarch_asx)
1416
1517typedef signed char v32i8 __attribute__((vector_size(32), aligned(32)));
......@@ -3882,5 +3884,116 @@ extern __inline
38823884
38833885#define __lasx_xvrepli_w(/*si10*/ _1) ((__m256i)__builtin_lasx_xvrepli_w((_1)))
38843886
3887#if defined(__loongarch_asx_sx_conv)
3888
3889extern __inline
3890 __attribute__((__gnu_inline__, __always_inline__,
3891 __artificial__)) __m256 __lasx_cast_128_s(__m128 _1) {
3892 return (__m256)__builtin_lasx_cast_128_s((v4f32)_1);
3893}
3894
3895extern __inline
3896 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d
3897 __lasx_cast_128_d(__m128d _1) {
3898 return (__m256d)__builtin_lasx_cast_128_d((v2f64)_1);
3899}
3900
3901extern __inline
3902 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i
3903 __lasx_cast_128(__m128i _1) {
3904 return (__m256i)__builtin_lasx_cast_128((v2i64)_1);
3905}
3906
3907extern __inline
3908 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256
3909 __lasx_concat_128_s(__m128 _1, __m128 _2) {
3910 return (__m256)__builtin_lasx_concat_128_s((v4f32)_1, (v4f32)_2);
3911}
3912
3913extern __inline
3914 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d
3915 __lasx_concat_128_d(__m128d _1, __m128d _2) {
3916 return (__m256d)__builtin_lasx_concat_128_d((v2f64)_1, (v2f64)_2);
3917}
3918
3919extern __inline
3920 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i
3921 __lasx_concat_128(__m128i _1, __m128i _2) {
3922 return (__m256i)__builtin_lasx_concat_128((v2i64)_1, (v2i64)_2);
3923}
3924
3925extern __inline
3926 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
3927 __lasx_extract_128_lo_s(__m256 _1) {
3928 return (__m128)__builtin_lasx_extract_128_lo_s((v8f32)_1);
3929}
3930
3931extern __inline
3932 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
3933 __lasx_extract_128_lo_d(__m256d _1) {
3934 return (__m128d)__builtin_lasx_extract_128_lo_d((v4f64)_1);
3935}
3936
3937extern __inline
3938 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3939 __lasx_extract_128_lo(__m256i _1) {
3940 return (__m128i)__builtin_lasx_extract_128_lo((v4i64)_1);
3941}
3942
3943extern __inline
3944 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128
3945 __lasx_extract_128_hi_s(__m256 _1) {
3946 return (__m128)__builtin_lasx_extract_128_hi_s((v8f32)_1);
3947}
3948
3949extern __inline
3950 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128d
3951 __lasx_extract_128_hi_d(__m256d _1) {
3952 return (__m128d)__builtin_lasx_extract_128_hi_d((v4f64)_1);
3953}
3954
3955extern __inline
3956 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m128i
3957 __lasx_extract_128_hi(__m256i _1) {
3958 return (__m128i)__builtin_lasx_extract_128_hi((v4i64)_1);
3959}
3960
3961extern __inline
3962 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256
3963 __lasx_insert_128_lo_s(__m256 _1, __m128 _2) {
3964 return (__m256)__builtin_lasx_insert_128_lo_s((v8f32)_1, (v4f32)_2);
3965}
3966
3967extern __inline
3968 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d
3969 __lasx_insert_128_lo_d(__m256d _1, __m128d _2) {
3970 return (__m256d)__builtin_lasx_insert_128_lo_d((v4f64)_1, (v2f64)_2);
3971}
3972
3973extern __inline
3974 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i
3975 __lasx_insert_128_lo(__m256i _1, __m128i _2) {
3976 return (__m256i)__builtin_lasx_insert_128_lo((v4i64)_1, (v2i64)_2);
3977}
3978
3979extern __inline
3980 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256
3981 __lasx_insert_128_hi_s(__m256 _1, __m128 _2) {
3982 return (__m256)__builtin_lasx_insert_128_hi_s((v8f32)_1, (v4f32)_2);
3983}
3984
3985extern __inline
3986 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256d
3987 __lasx_insert_128_hi_d(__m256d _1, __m128d _2) {
3988 return (__m256d)__builtin_lasx_insert_128_hi_d((v4f64)_1, (v2f64)_2);
3989}
3990
3991extern __inline
3992 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) __m256i
3993 __lasx_insert_128_hi(__m256i _1, __m128i _2) {
3994 return (__m256i)__builtin_lasx_insert_128_hi((v4i64)_1, (v2i64)_2);
3995}
3996
3997#endif /* defined(__loongarch_asx_sx_conv). */
38853998#endif /* defined(__loongarch_asx). */
38863999#endif /* _LOONGSON_ASXINTRIN_H. */
lib/include/llvm_libc_wrappers/assert.h+3-5
......@@ -19,13 +19,11 @@
1919
2020#if defined(__HIP__) || defined(__CUDA__)
2121#define __LIBC_ATTRS __attribute__((device))
22#else
23#define __LIBC_ATTRS
2224#endif
2325
24#pragma omp begin declare target
25
26#include <llvm-libc-decls/assert.h>
27
28#pragma omp end declare target
26// TODO: Define these for CUDA / HIP.
2927
3028#undef __LIBC_ATTRS
3129
lib/include/llvm_libc_wrappers/ctype.h+3-115
......@@ -13,128 +13,16 @@
1313#error "This file is for GPU offloading compilation only"
1414#endif
1515
16// The GNU headers like to define 'toupper' and 'tolower' redundantly. This is
17// necessary to prevent it from doing that and remapping our implementation.
18#if (defined(__NVPTX__) || defined(__AMDGPU__)) && defined(__GLIBC__)
19#pragma push_macro("__USE_EXTERN_INLINES")
20#undef __USE_EXTERN_INLINES
21#endif
22
2316#include_next <ctype.h>
2417
25#if (defined(__NVPTX__) || defined(__AMDGPU__)) && defined(__GLIBC__)
26#pragma pop_macro("__USE_EXTERN_INLINES")
27#endif
28
29#if __has_include(<llvm-libc-decls/ctype.h>)
30
3118#if defined(__HIP__) || defined(__CUDA__)
3219#define __LIBC_ATTRS __attribute__((device))
20#else
21#define __LIBC_ATTRS
3322#endif
3423
35// The GNU headers like to provide these as macros, we need to undefine them so
36// they do not conflict with the following definitions for the GPU.
37
38#pragma push_macro("isalnum")
39#pragma push_macro("isalpha")
40#pragma push_macro("isascii")
41#pragma push_macro("isblank")
42#pragma push_macro("iscntrl")
43#pragma push_macro("isdigit")
44#pragma push_macro("isgraph")
45#pragma push_macro("islower")
46#pragma push_macro("isprint")
47#pragma push_macro("ispunct")
48#pragma push_macro("isspace")
49#pragma push_macro("isupper")
50#pragma push_macro("isxdigit")
51#pragma push_macro("toascii")
52#pragma push_macro("tolower")
53#pragma push_macro("toupper")
54#pragma push_macro("isalnum_l")
55#pragma push_macro("isalpha_l")
56#pragma push_macro("isascii_l")
57#pragma push_macro("isblank_l")
58#pragma push_macro("iscntrl_l")
59#pragma push_macro("isdigit_l")
60#pragma push_macro("isgraph_l")
61#pragma push_macro("islower_l")
62#pragma push_macro("isprint_l")
63#pragma push_macro("ispunct_l")
64#pragma push_macro("isspace_l")
65#pragma push_macro("isupper_l")
66#pragma push_macro("isxdigit_l")
67
68#undef isalnum
69#undef isalpha
70#undef isascii
71#undef iscntrl
72#undef isdigit
73#undef islower
74#undef isgraph
75#undef isprint
76#undef ispunct
77#undef isspace
78#undef isupper
79#undef isblank
80#undef isxdigit
81#undef toascii
82#undef tolower
83#undef toupper
84#undef isalnum_l
85#undef isalpha_l
86#undef iscntrl_l
87#undef isdigit_l
88#undef islower_l
89#undef isgraph_l
90#undef isprint_l
91#undef ispunct_l
92#undef isspace_l
93#undef isupper_l
94#undef isblank_l
95#undef isxdigit_l
96
97#pragma omp begin declare target
98
99#include <llvm-libc-decls/ctype.h>
100
101#pragma omp end declare target
102
103// Restore the original macros when compiling on the host.
104#if !defined(__NVPTX__) && !defined(__AMDGPU__)
105#pragma pop_macro("isalnum")
106#pragma pop_macro("isalpha")
107#pragma pop_macro("isascii")
108#pragma pop_macro("isblank")
109#pragma pop_macro("iscntrl")
110#pragma pop_macro("isdigit")
111#pragma pop_macro("isgraph")
112#pragma pop_macro("islower")
113#pragma pop_macro("isprint")
114#pragma pop_macro("ispunct")
115#pragma pop_macro("isspace")
116#pragma pop_macro("isupper")
117#pragma pop_macro("isxdigit")
118#pragma pop_macro("toascii")
119#pragma pop_macro("tolower")
120#pragma pop_macro("toupper")
121#pragma pop_macro("isalnum_l")
122#pragma pop_macro("isalpha_l")
123#pragma pop_macro("isascii_l")
124#pragma pop_macro("isblank_l")
125#pragma pop_macro("iscntrl_l")
126#pragma pop_macro("isdigit_l")
127#pragma pop_macro("isgraph_l")
128#pragma pop_macro("islower_l")
129#pragma pop_macro("isprint_l")
130#pragma pop_macro("ispunct_l")
131#pragma pop_macro("isspace_l")
132#pragma pop_macro("isupper_l")
133#pragma pop_macro("isxdigit_l")
134#endif
24// TODO: Define these for CUDA / HIP.
13525
13626#undef __LIBC_ATTRS
13727
138#endif
139
14028#endif // __CLANG_LLVM_LIBC_WRAPPERS_CTYPE_H__
lib/include/llvm_libc_wrappers/inttypes.h+3-5
......@@ -19,13 +19,11 @@
1919
2020#if defined(__HIP__) || defined(__CUDA__)
2121#define __LIBC_ATTRS __attribute__((device))
22#else
23#define __LIBC_ATTRS
2224#endif
2325
24#pragma omp begin declare target
25
26#include <llvm-libc-decls/inttypes.h>
27
28#pragma omp end declare target
26// TODO: Define these for CUDA / HIP.
2927
3028#undef __LIBC_ATTRS
3129
lib/include/llvm_libc_wrappers/stdio.h+10-38
......@@ -6,45 +6,19 @@
66//
77//===----------------------------------------------------------------------===//
88
9#ifndef __CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__
10#define __CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__
11
912#if !defined(_OPENMP) && !defined(__HIP__) && !defined(__CUDA__)
1013#error "This file is for GPU offloading compilation only"
1114#endif
1215
1316#include_next <stdio.h>
1417
15// In some old versions of glibc, other standard headers sometimes define
16// special macros (e.g., __need_FILE) before including stdio.h to cause stdio.h
17// to produce special definitions. Future includes of stdio.h when those
18// special macros are undefined are expected to produce the normal definitions
19// from stdio.h.
20//
21// We do not apply our include guard (__CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__)
22// unconditionally to the above include_next. Otherwise, after an occurrence of
23// the first glibc stdio.h use case described above, the include_next would be
24// skipped for remaining includes of stdio.h, leaving required symbols
25// undefined.
26//
27// We make the following assumptions to handle all use cases:
28//
29// 1. If the above include_next produces special glibc definitions, then (a) it
30// does not produce the normal definitions that we must intercept below, (b)
31// the current file was included from a glibc header that already defined
32// __GLIBC__ (usually by including glibc's <features.h>), and (c) the above
33// include_next does not define _STDIO_H. In that case, we skip the rest of
34// the current file and don't guard against future includes.
35// 2. If the above include_next produces the normal stdio.h definitions, then
36// either (a) __GLIBC__ is not defined because C headers are from some other
37// libc implementation or (b) the above include_next defines _STDIO_H to
38// prevent the above include_next from having any effect in the future.
39#if !defined(__GLIBC__) || defined(_STDIO_H)
40
41#ifndef __CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__
42#define __CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__
43
44#if __has_include(<llvm-libc-decls/stdio.h>)
45
4618#if defined(__HIP__) || defined(__CUDA__)
4719#define __LIBC_ATTRS __attribute__((device))
20#else
21#define __LIBC_ATTRS
4822#endif
4923
5024// Some headers provide these as macros. Temporarily undefine them so they do
......@@ -60,21 +34,19 @@
6034
6135#pragma omp begin declare target
6236
63#include <llvm-libc-decls/stdio.h>
37__LIBC_ATTRS extern FILE *stderr;
38__LIBC_ATTRS extern FILE *stdin;
39__LIBC_ATTRS extern FILE *stdout;
6440
6541#pragma omp end declare target
6642
67#undef __LIBC_ATTRS
68
6943// Restore the original macros when compiling on the host.
7044#if !defined(__NVPTX__) && !defined(__AMDGPU__)
71#pragma pop_macro("stdout")
7245#pragma pop_macro("stderr")
7346#pragma pop_macro("stdin")
47#pragma pop_macro("stdout")
7448#endif
7549
76#endif
50#undef __LIBC_ATTRS
7751
7852#endif // __CLANG_LLVM_LIBC_WRAPPERS_STDIO_H__
79
80#endif
lib/include/llvm_libc_wrappers/stdlib.h+3-24
......@@ -15,39 +15,18 @@
1515
1616#include_next <stdlib.h>
1717
18#if __has_include(<llvm-libc-decls/stdlib.h>)
19
2018#if defined(__HIP__) || defined(__CUDA__)
2119#define __LIBC_ATTRS __attribute__((device))
20#else
21#define __LIBC_ATTRS
2222#endif
2323
2424#pragma omp begin declare target
2525
26// The LLVM C library uses these named types so we forward declare them.
27typedef void (*__atexithandler_t)(void);
28typedef int (*__search_compare_t)(const void *, const void *);
29typedef int (*__qsortcompare_t)(const void *, const void *);
30typedef int (*__qsortrcompare_t)(const void *, const void *, void *);
31
32// Enforce ABI compatibility with the structs used by the LLVM C library.
33_Static_assert(__builtin_offsetof(div_t, quot) == 0, "ABI mismatch!");
34_Static_assert(__builtin_offsetof(ldiv_t, quot) == 0, "ABI mismatch!");
35_Static_assert(__builtin_offsetof(lldiv_t, quot) == 0, "ABI mismatch!");
36
37#if defined(__GLIBC__) && __cplusplus >= 201703L
38#define at_quick_exit atexit
39#endif
40
41#include <llvm-libc-decls/stdlib.h>
42
43#if defined(__GLIBC__) && __cplusplus >= 201703L
44#undef at_quick_exit
45#endif
26// TODO: Define these for CUDA / HIP.
4627
4728#pragma omp end declare target
4829
4930#undef __LIBC_ATTRS
5031
51#endif
52
5332#endif // __CLANG_LLVM_LIBC_WRAPPERS_STDLIB_H__
lib/include/llvm_libc_wrappers/string.h+2-70
......@@ -15,82 +15,14 @@
1515
1616#include_next <string.h>
1717
18#if __has_include(<llvm-libc-decls/string.h>)
19
2018#if defined(__HIP__) || defined(__CUDA__)
2119#define __LIBC_ATTRS __attribute__((device))
22#endif
23
24#pragma omp begin declare target
25
26// The GNU headers provide C++ standard compliant headers when in C++ mode and
27// the LLVM libc does not. We need to manually provide the definitions using the
28// same prototypes.
29#if defined(__cplusplus) && defined(__GLIBC__) && \
30 defined(__CORRECT_ISO_CPP_STRING_H_PROTO)
31
32#ifndef __LIBC_ATTRS
33#define __LIBC_ATTRS
34#endif
35
36extern "C" {
37void *memccpy(void *__restrict, const void *__restrict, int,
38 size_t) __LIBC_ATTRS;
39int memcmp(const void *, const void *, size_t) __LIBC_ATTRS;
40void *memcpy(void *__restrict, const void *__restrict, size_t) __LIBC_ATTRS;
41void *memmem(const void *, size_t, const void *, size_t) __LIBC_ATTRS;
42void *memmove(void *, const void *, size_t) __LIBC_ATTRS;
43void *mempcpy(void *__restrict, const void *__restrict, size_t) __LIBC_ATTRS;
44void *memset(void *, int, size_t) __LIBC_ATTRS;
45char *stpcpy(char *__restrict, const char *__restrict) __LIBC_ATTRS;
46char *stpncpy(char *__restrict, const char *__restrict, size_t) __LIBC_ATTRS;
47char *strcat(char *__restrict, const char *__restrict) __LIBC_ATTRS;
48int strcmp(const char *, const char *) __LIBC_ATTRS;
49int strcoll(const char *, const char *) __LIBC_ATTRS;
50char *strcpy(char *__restrict, const char *__restrict) __LIBC_ATTRS;
51size_t strcspn(const char *, const char *) __LIBC_ATTRS;
52char *strdup(const char *) __LIBC_ATTRS;
53size_t strlen(const char *) __LIBC_ATTRS;
54char *strncat(char *__restrict, const char *__restrict, size_t) __LIBC_ATTRS;
55int strncmp(const char *, const char *, size_t) __LIBC_ATTRS;
56char *strncpy(char *__restrict, const char *__restrict, size_t) __LIBC_ATTRS;
57char *strndup(const char *, size_t) __LIBC_ATTRS;
58size_t strnlen(const char *, size_t) __LIBC_ATTRS;
59size_t strspn(const char *, const char *) __LIBC_ATTRS;
60char *strtok(char *__restrict, const char *__restrict) __LIBC_ATTRS;
61char *strtok_r(char *__restrict, const char *__restrict,
62 char **__restrict) __LIBC_ATTRS;
63size_t strxfrm(char *__restrict, const char *__restrict, size_t) __LIBC_ATTRS;
64}
65
66extern "C++" {
67char *strstr(char *, const char *) noexcept __LIBC_ATTRS;
68const char *strstr(const char *, const char *) noexcept __LIBC_ATTRS;
69char *strpbrk(char *, const char *) noexcept __LIBC_ATTRS;
70const char *strpbrk(const char *, const char *) noexcept __LIBC_ATTRS;
71char *strrchr(char *, int) noexcept __LIBC_ATTRS;
72const char *strrchr(const char *, int) noexcept __LIBC_ATTRS;
73char *strchr(char *, int) noexcept __LIBC_ATTRS;
74const char *strchr(const char *, int) noexcept __LIBC_ATTRS;
75char *strchrnul(char *, int) noexcept __LIBC_ATTRS;
76const char *strchrnul(const char *, int) noexcept __LIBC_ATTRS;
77char *strcasestr(char *, const char *) noexcept __LIBC_ATTRS;
78const char *strcasestr(const char *, const char *) noexcept __LIBC_ATTRS;
79void *memrchr(void *__s, int __c, size_t __n) noexcept __LIBC_ATTRS;
80const void *memrchr(const void *__s, int __c, size_t __n) noexcept __LIBC_ATTRS;
81void *memchr(void *__s, int __c, size_t __n) noexcept __LIBC_ATTRS;
82const void *memchr(const void *__s, int __c, size_t __n) noexcept __LIBC_ATTRS;
83}
84
8520#else
86#include <llvm-libc-decls/string.h>
87
21#define __LIBC_ATTRS
8822#endif
8923
90#pragma omp end declare target
24// TODO: Define these for CUDA / HIP.
9125
9226#undef __LIBC_ATTRS
9327
94#endif
95
9628#endif // __CLANG_LLVM_LIBC_WRAPPERS_STRING_H__
lib/include/llvm_libc_wrappers/time.h+4-10
......@@ -15,20 +15,14 @@
1515
1616#include_next <time.h>
1717
18#if __has_include(<llvm-libc-decls/time.h>)
19
2018#if defined(__HIP__) || defined(__CUDA__)
2119#define __LIBC_ATTRS __attribute__((device))
20#else
21#define __LIBC_ATTRS
2222#endif
2323
24#pragma omp begin declare target
25
26_Static_assert(sizeof(clock_t) == sizeof(long), "ABI mismatch!");
27
28#include <llvm-libc-decls/time.h>
24// TODO: Define these for CUDA / HIP.
2925
30#pragma omp end declare target
31
32#endif
26#undef __LIBC_ATTRS
3327
3428#endif // __CLANG_LLVM_LIBC_WRAPPERS_TIME_H__
lib/include/mmintrin.h+188-257
......@@ -39,27 +39,21 @@ typedef short __v8hi __attribute__((__vector_size__(16)));
3939typedef char __v16qi __attribute__((__vector_size__(16)));
4040
4141/* Define the default attributes for the functions in this file. */
42#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
42#if defined(__cplusplus) && (__cplusplus >= 201103L)
4343#define __DEFAULT_FN_ATTRS_SSE2 \
44 __attribute__((__always_inline__, __nodebug__, \
45 __target__("sse2,no-evex512"), __min_vector_width__(128)))
44 __attribute__((__always_inline__, __nodebug__, __target__("sse2"), \
45 __min_vector_width__(128))) constexpr
4646#else
4747#define __DEFAULT_FN_ATTRS_SSE2 \
4848 __attribute__((__always_inline__, __nodebug__, __target__("sse2"), \
4949 __min_vector_width__(128)))
5050#endif
5151
52#if defined(__cplusplus) && (__cplusplus >= 201103L)
53#define __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR __DEFAULT_FN_ATTRS_SSE2 constexpr
54#else
55#define __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR __DEFAULT_FN_ATTRS_SSE2
56#endif
57
5852#define __trunc64(x) \
5953 (__m64) __builtin_shufflevector((__v2di)(x), __extension__(__v2di){}, 0)
60#define __anyext128(x) \
54#define __zext128(x) \
6155 (__m128i) __builtin_shufflevector((__v2si)(x), __extension__(__v2si){}, 0, \
62 1, -1, -1)
56 1, 2, 3)
6357
6458/// Clears the MMX state by setting the state of the x87 stack registers
6559/// to empty.
......@@ -68,9 +62,9 @@ typedef char __v16qi __attribute__((__vector_size__(16)));
6862///
6963/// This intrinsic corresponds to the <c> EMMS </c> instruction.
7064///
71static __inline__ void __attribute__((__always_inline__, __nodebug__,
72 __target__("mmx,no-evex512")))
73_mm_empty(void) {
65static __inline__ void
66 __attribute__((__always_inline__, __nodebug__, __target__("mmx")))
67 _mm_empty(void) {
7468 __builtin_ia32_emms();
7569}
7670
......@@ -85,10 +79,8 @@ _mm_empty(void) {
8579/// A 32-bit integer value.
8680/// \returns A 64-bit integer vector. The lower 32 bits contain the value of the
8781/// parameter. The upper 32 bits are set to 0.
88static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
89_mm_cvtsi32_si64(int __i)
90{
91 return __extension__ (__m64)(__v2si){__i, 0};
82static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_cvtsi32_si64(int __i) {
83 return __extension__(__m64)(__v2si){__i, 0};
9284}
9385
9486/// Returns the lower 32 bits of a 64-bit integer vector as a 32-bit
......@@ -102,10 +94,8 @@ _mm_cvtsi32_si64(int __i)
10294/// A 64-bit integer vector.
10395/// \returns A 32-bit signed integer value containing the lower 32 bits of the
10496/// parameter.
105static __inline__ int __DEFAULT_FN_ATTRS_SSE2
106_mm_cvtsi64_si32(__m64 __m)
107{
108 return ((__v2si)__m)[0];
97static __inline__ int __DEFAULT_FN_ATTRS_SSE2 _mm_cvtsi64_si32(__m64 __m) {
98 return ((__v2si)__m)[0];
10999}
110100
111101/// Casts a 64-bit signed integer value into a 64-bit integer vector.
......@@ -118,10 +108,8 @@ _mm_cvtsi64_si32(__m64 __m)
118108/// A 64-bit signed integer.
119109/// \returns A 64-bit integer vector containing the same bitwise pattern as the
120110/// parameter.
121static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
122_mm_cvtsi64_m64(long long __i)
123{
124 return (__m64)__i;
111static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_cvtsi64_m64(long long __i) {
112 return __extension__(__m64)(__v1di){__i};
125113}
126114
127115/// Casts a 64-bit integer vector into a 64-bit signed integer value.
......@@ -134,10 +122,8 @@ _mm_cvtsi64_m64(long long __i)
134122/// A 64-bit integer vector.
135123/// \returns A 64-bit signed integer containing the same bitwise pattern as the
136124/// parameter.
137static __inline__ long long __DEFAULT_FN_ATTRS_SSE2
138_mm_cvtm64_si64(__m64 __m)
139{
140 return (long long)__m;
125static __inline__ long long __DEFAULT_FN_ATTRS_SSE2 _mm_cvtm64_si64(__m64 __m) {
126 return ((__v1di)__m)[0];
141127}
142128
143129/// Converts, with saturation, 16-bit signed integers from both 64-bit integer
......@@ -159,11 +145,10 @@ _mm_cvtm64_si64(__m64 __m)
159145/// written to the upper 32 bits of the result.
160146/// \returns A 64-bit integer vector of [8 x i8] containing the converted
161147/// values.
162static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
163_mm_packs_pi16(__m64 __m1, __m64 __m2)
164{
165 return __trunc64(__builtin_ia32_packsswb128(
166 (__v8hi)__builtin_shufflevector(__m1, __m2, 0, 1), (__v8hi){}));
148static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_packs_pi16(__m64 __m1,
149 __m64 __m2) {
150 return __trunc64(__builtin_ia32_packsswb128(
151 (__v8hi)__builtin_shufflevector(__m1, __m2, 0, 1), (__v8hi){}));
167152}
168153
169154/// Converts, with saturation, 32-bit signed integers from both 64-bit integer
......@@ -185,11 +170,10 @@ _mm_packs_pi16(__m64 __m1, __m64 __m2)
185170/// written to the upper 32 bits of the result.
186171/// \returns A 64-bit integer vector of [4 x i16] containing the converted
187172/// values.
188static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
189_mm_packs_pi32(__m64 __m1, __m64 __m2)
190{
191 return __trunc64(__builtin_ia32_packssdw128(
192 (__v4si)__builtin_shufflevector(__m1, __m2, 0, 1), (__v4si){}));
173static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_packs_pi32(__m64 __m1,
174 __m64 __m2) {
175 return __trunc64(__builtin_ia32_packssdw128(
176 (__v4si)__builtin_shufflevector(__m1, __m2, 0, 1), (__v4si){}));
193177}
194178
195179/// Converts, with saturation, 16-bit signed integers from both 64-bit integer
......@@ -211,11 +195,10 @@ _mm_packs_pi32(__m64 __m1, __m64 __m2)
211195/// written to the upper 32 bits of the result.
212196/// \returns A 64-bit integer vector of [8 x i8] containing the converted
213197/// values.
214static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
215_mm_packs_pu16(__m64 __m1, __m64 __m2)
216{
217 return __trunc64(__builtin_ia32_packuswb128(
218 (__v8hi)__builtin_shufflevector(__m1, __m2, 0, 1), (__v8hi){}));
198static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_packs_pu16(__m64 __m1,
199 __m64 __m2) {
200 return __trunc64(__builtin_ia32_packuswb128(
201 (__v8hi)__builtin_shufflevector(__m1, __m2, 0, 1), (__v8hi){}));
219202}
220203
221204/// Unpacks the upper 32 bits from two 64-bit integer vectors of [8 x i8]
......@@ -239,11 +222,10 @@ _mm_packs_pu16(__m64 __m1, __m64 __m2)
239222/// Bits [63:56] are written to bits [63:56] of the result.
240223/// \returns A 64-bit integer vector of [8 x i8] containing the interleaved
241224/// values.
242static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
243_mm_unpackhi_pi8(__m64 __m1, __m64 __m2)
244{
245 return (__m64)__builtin_shufflevector((__v8qi)__m1, (__v8qi)__m2,
246 4, 12, 5, 13, 6, 14, 7, 15);
225static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_unpackhi_pi8(__m64 __m1,
226 __m64 __m2) {
227 return (__m64)__builtin_shufflevector((__v8qi)__m1, (__v8qi)__m2, 4, 12, 5,
228 13, 6, 14, 7, 15);
247229}
248230
249231/// Unpacks the upper 32 bits from two 64-bit integer vectors of
......@@ -263,11 +245,9 @@ _mm_unpackhi_pi8(__m64 __m1, __m64 __m2)
263245/// Bits [63:48] are written to bits [63:48] of the result.
264246/// \returns A 64-bit integer vector of [4 x i16] containing the interleaved
265247/// values.
266static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
267_mm_unpackhi_pi16(__m64 __m1, __m64 __m2)
268{
269 return (__m64)__builtin_shufflevector((__v4hi)__m1, (__v4hi)__m2,
270 2, 6, 3, 7);
248static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_unpackhi_pi16(__m64 __m1,
249 __m64 __m2) {
250 return (__m64)__builtin_shufflevector((__v4hi)__m1, (__v4hi)__m2, 2, 6, 3, 7);
271251}
272252
273253/// Unpacks the upper 32 bits from two 64-bit integer vectors of
......@@ -285,10 +265,9 @@ _mm_unpackhi_pi16(__m64 __m1, __m64 __m2)
285265/// the upper 32 bits of the result.
286266/// \returns A 64-bit integer vector of [2 x i32] containing the interleaved
287267/// values.
288static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
289_mm_unpackhi_pi32(__m64 __m1, __m64 __m2)
290{
291 return (__m64)__builtin_shufflevector((__v2si)__m1, (__v2si)__m2, 1, 3);
268static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_unpackhi_pi32(__m64 __m1,
269 __m64 __m2) {
270 return (__m64)__builtin_shufflevector((__v2si)__m1, (__v2si)__m2, 1, 3);
292271}
293272
294273/// Unpacks the lower 32 bits from two 64-bit integer vectors of [8 x i8]
......@@ -312,11 +291,10 @@ _mm_unpackhi_pi32(__m64 __m1, __m64 __m2)
312291/// Bits [31:24] are written to bits [63:56] of the result.
313292/// \returns A 64-bit integer vector of [8 x i8] containing the interleaved
314293/// values.
315static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
316_mm_unpacklo_pi8(__m64 __m1, __m64 __m2)
317{
318 return (__m64)__builtin_shufflevector((__v8qi)__m1, (__v8qi)__m2,
319 0, 8, 1, 9, 2, 10, 3, 11);
294static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_unpacklo_pi8(__m64 __m1,
295 __m64 __m2) {
296 return (__m64)__builtin_shufflevector((__v8qi)__m1, (__v8qi)__m2, 0, 8, 1, 9,
297 2, 10, 3, 11);
320298}
321299
322300/// Unpacks the lower 32 bits from two 64-bit integer vectors of
......@@ -336,11 +314,9 @@ _mm_unpacklo_pi8(__m64 __m1, __m64 __m2)
336314/// Bits [31:16] are written to bits [63:48] of the result.
337315/// \returns A 64-bit integer vector of [4 x i16] containing the interleaved
338316/// values.
339static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
340_mm_unpacklo_pi16(__m64 __m1, __m64 __m2)
341{
342 return (__m64)__builtin_shufflevector((__v4hi)__m1, (__v4hi)__m2,
343 0, 4, 1, 5);
317static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_unpacklo_pi16(__m64 __m1,
318 __m64 __m2) {
319 return (__m64)__builtin_shufflevector((__v4hi)__m1, (__v4hi)__m2, 0, 4, 1, 5);
344320}
345321
346322/// Unpacks the lower 32 bits from two 64-bit integer vectors of
......@@ -358,10 +334,9 @@ _mm_unpacklo_pi16(__m64 __m1, __m64 __m2)
358334/// the upper 32 bits of the result.
359335/// \returns A 64-bit integer vector of [2 x i32] containing the interleaved
360336/// values.
361static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
362_mm_unpacklo_pi32(__m64 __m1, __m64 __m2)
363{
364 return (__m64)__builtin_shufflevector((__v2si)__m1, (__v2si)__m2, 0, 2);
337static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_unpacklo_pi32(__m64 __m1,
338 __m64 __m2) {
339 return (__m64)__builtin_shufflevector((__v2si)__m1, (__v2si)__m2, 0, 2);
365340}
366341
367342/// Adds each 8-bit integer element of the first 64-bit integer vector
......@@ -379,10 +354,9 @@ _mm_unpacklo_pi32(__m64 __m1, __m64 __m2)
379354/// A 64-bit integer vector of [8 x i8].
380355/// \returns A 64-bit integer vector of [8 x i8] containing the sums of both
381356/// parameters.
382static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
383_mm_add_pi8(__m64 __m1, __m64 __m2)
384{
385 return (__m64)(((__v8qu)__m1) + ((__v8qu)__m2));
357static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_add_pi8(__m64 __m1,
358 __m64 __m2) {
359 return (__m64)(((__v8qu)__m1) + ((__v8qu)__m2));
386360}
387361
388362/// Adds each 16-bit integer element of the first 64-bit integer vector
......@@ -400,10 +374,9 @@ _mm_add_pi8(__m64 __m1, __m64 __m2)
400374/// A 64-bit integer vector of [4 x i16].
401375/// \returns A 64-bit integer vector of [4 x i16] containing the sums of both
402376/// parameters.
403static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
404_mm_add_pi16(__m64 __m1, __m64 __m2)
405{
406 return (__m64)(((__v4hu)__m1) + ((__v4hu)__m2));
377static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_add_pi16(__m64 __m1,
378 __m64 __m2) {
379 return (__m64)(((__v4hu)__m1) + ((__v4hu)__m2));
407380}
408381
409382/// Adds each 32-bit integer element of the first 64-bit integer vector
......@@ -421,10 +394,9 @@ _mm_add_pi16(__m64 __m1, __m64 __m2)
421394/// A 64-bit integer vector of [2 x i32].
422395/// \returns A 64-bit integer vector of [2 x i32] containing the sums of both
423396/// parameters.
424static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
425_mm_add_pi32(__m64 __m1, __m64 __m2)
426{
427 return (__m64)(((__v2su)__m1) + ((__v2su)__m2));
397static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_add_pi32(__m64 __m1,
398 __m64 __m2) {
399 return (__m64)(((__v2su)__m1) + ((__v2su)__m2));
428400}
429401
430402/// Adds, with saturation, each 8-bit signed integer element of the first
......@@ -445,10 +417,9 @@ _mm_add_pi32(__m64 __m1, __m64 __m2)
445417/// A 64-bit integer vector of [8 x i8].
446418/// \returns A 64-bit integer vector of [8 x i8] containing the saturated sums
447419/// of both parameters.
448static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
449_mm_adds_pi8(__m64 __m1, __m64 __m2)
450{
451 return (__m64)__builtin_elementwise_add_sat((__v8qs)__m1, (__v8qs)__m2);
420static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_adds_pi8(__m64 __m1,
421 __m64 __m2) {
422 return (__m64)__builtin_elementwise_add_sat((__v8qs)__m1, (__v8qs)__m2);
452423}
453424
454425/// Adds, with saturation, each 16-bit signed integer element of the first
......@@ -469,10 +440,9 @@ _mm_adds_pi8(__m64 __m1, __m64 __m2)
469440/// A 64-bit integer vector of [4 x i16].
470441/// \returns A 64-bit integer vector of [4 x i16] containing the saturated sums
471442/// of both parameters.
472static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
473_mm_adds_pi16(__m64 __m1, __m64 __m2)
474{
475 return (__m64)__builtin_elementwise_add_sat((__v4hi)__m1, (__v4hi)__m2);
443static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_adds_pi16(__m64 __m1,
444 __m64 __m2) {
445 return (__m64)__builtin_elementwise_add_sat((__v4hi)__m1, (__v4hi)__m2);
476446}
477447
478448/// Adds, with saturation, each 8-bit unsigned integer element of the first
......@@ -492,10 +462,9 @@ _mm_adds_pi16(__m64 __m1, __m64 __m2)
492462/// A 64-bit integer vector of [8 x i8].
493463/// \returns A 64-bit integer vector of [8 x i8] containing the saturated
494464/// unsigned sums of both parameters.
495static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
496_mm_adds_pu8(__m64 __m1, __m64 __m2)
497{
498 return (__m64)__builtin_elementwise_add_sat((__v8qu)__m1, (__v8qu)__m2);
465static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_adds_pu8(__m64 __m1,
466 __m64 __m2) {
467 return (__m64)__builtin_elementwise_add_sat((__v8qu)__m1, (__v8qu)__m2);
499468}
500469
501470/// Adds, with saturation, each 16-bit unsigned integer element of the first
......@@ -515,10 +484,9 @@ _mm_adds_pu8(__m64 __m1, __m64 __m2)
515484/// A 64-bit integer vector of [4 x i16].
516485/// \returns A 64-bit integer vector of [4 x i16] containing the saturated
517486/// unsigned sums of both parameters.
518static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
519_mm_adds_pu16(__m64 __m1, __m64 __m2)
520{
521 return (__m64)__builtin_elementwise_add_sat((__v4hu)__m1, (__v4hu)__m2);
487static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_adds_pu16(__m64 __m1,
488 __m64 __m2) {
489 return (__m64)__builtin_elementwise_add_sat((__v4hu)__m1, (__v4hu)__m2);
522490}
523491
524492/// Subtracts each 8-bit integer element of the second 64-bit integer
......@@ -536,10 +504,9 @@ _mm_adds_pu16(__m64 __m1, __m64 __m2)
536504/// A 64-bit integer vector of [8 x i8] containing the subtrahends.
537505/// \returns A 64-bit integer vector of [8 x i8] containing the differences of
538506/// both parameters.
539static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
540_mm_sub_pi8(__m64 __m1, __m64 __m2)
541{
542 return (__m64)(((__v8qu)__m1) - ((__v8qu)__m2));
507static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_sub_pi8(__m64 __m1,
508 __m64 __m2) {
509 return (__m64)(((__v8qu)__m1) - ((__v8qu)__m2));
543510}
544511
545512/// Subtracts each 16-bit integer element of the second 64-bit integer
......@@ -557,10 +524,9 @@ _mm_sub_pi8(__m64 __m1, __m64 __m2)
557524/// A 64-bit integer vector of [4 x i16] containing the subtrahends.
558525/// \returns A 64-bit integer vector of [4 x i16] containing the differences of
559526/// both parameters.
560static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
561_mm_sub_pi16(__m64 __m1, __m64 __m2)
562{
563 return (__m64)(((__v4hu)__m1) - ((__v4hu)__m2));
527static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_sub_pi16(__m64 __m1,
528 __m64 __m2) {
529 return (__m64)(((__v4hu)__m1) - ((__v4hu)__m2));
564530}
565531
566532/// Subtracts each 32-bit integer element of the second 64-bit integer
......@@ -578,10 +544,9 @@ _mm_sub_pi16(__m64 __m1, __m64 __m2)
578544/// A 64-bit integer vector of [2 x i32] containing the subtrahends.
579545/// \returns A 64-bit integer vector of [2 x i32] containing the differences of
580546/// both parameters.
581static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
582_mm_sub_pi32(__m64 __m1, __m64 __m2)
583{
584 return (__m64)(((__v2su)__m1) - ((__v2su)__m2));
547static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_sub_pi32(__m64 __m1,
548 __m64 __m2) {
549 return (__m64)(((__v2su)__m1) - ((__v2su)__m2));
585550}
586551
587552/// Subtracts, with saturation, each 8-bit signed integer element of the second
......@@ -602,10 +567,9 @@ _mm_sub_pi32(__m64 __m1, __m64 __m2)
602567/// A 64-bit integer vector of [8 x i8] containing the subtrahends.
603568/// \returns A 64-bit integer vector of [8 x i8] containing the saturated
604569/// differences of both parameters.
605static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
606_mm_subs_pi8(__m64 __m1, __m64 __m2)
607{
608 return (__m64)__builtin_elementwise_sub_sat((__v8qs)__m1, (__v8qs)__m2);
570static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_subs_pi8(__m64 __m1,
571 __m64 __m2) {
572 return (__m64)__builtin_elementwise_sub_sat((__v8qs)__m1, (__v8qs)__m2);
609573}
610574
611575/// Subtracts, with saturation, each 16-bit signed integer element of the
......@@ -626,10 +590,9 @@ _mm_subs_pi8(__m64 __m1, __m64 __m2)
626590/// A 64-bit integer vector of [4 x i16] containing the subtrahends.
627591/// \returns A 64-bit integer vector of [4 x i16] containing the saturated
628592/// differences of both parameters.
629static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
630_mm_subs_pi16(__m64 __m1, __m64 __m2)
631{
632 return (__m64)__builtin_elementwise_sub_sat((__v4hi)__m1, (__v4hi)__m2);
593static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_subs_pi16(__m64 __m1,
594 __m64 __m2) {
595 return (__m64)__builtin_elementwise_sub_sat((__v4hi)__m1, (__v4hi)__m2);
633596}
634597
635598/// Subtracts each 8-bit unsigned integer element of the second 64-bit
......@@ -650,10 +613,9 @@ _mm_subs_pi16(__m64 __m1, __m64 __m2)
650613/// A 64-bit integer vector of [8 x i8] containing the subtrahends.
651614/// \returns A 64-bit integer vector of [8 x i8] containing the saturated
652615/// differences of both parameters.
653static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
654_mm_subs_pu8(__m64 __m1, __m64 __m2)
655{
656 return (__m64)__builtin_elementwise_sub_sat((__v8qu)__m1, (__v8qu)__m2);
616static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_subs_pu8(__m64 __m1,
617 __m64 __m2) {
618 return (__m64)__builtin_elementwise_sub_sat((__v8qu)__m1, (__v8qu)__m2);
657619}
658620
659621/// Subtracts each 16-bit unsigned integer element of the second 64-bit
......@@ -674,10 +636,9 @@ _mm_subs_pu8(__m64 __m1, __m64 __m2)
674636/// A 64-bit integer vector of [4 x i16] containing the subtrahends.
675637/// \returns A 64-bit integer vector of [4 x i16] containing the saturated
676638/// differences of both parameters.
677static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
678_mm_subs_pu16(__m64 __m1, __m64 __m2)
679{
680 return (__m64)__builtin_elementwise_sub_sat((__v4hu)__m1, (__v4hu)__m2);
639static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_subs_pu16(__m64 __m1,
640 __m64 __m2) {
641 return (__m64)__builtin_elementwise_sub_sat((__v4hu)__m1, (__v4hu)__m2);
681642}
682643
683644/// Multiplies each 16-bit signed integer element of the first 64-bit
......@@ -701,11 +662,10 @@ _mm_subs_pu16(__m64 __m1, __m64 __m2)
701662/// A 64-bit integer vector of [4 x i16].
702663/// \returns A 64-bit integer vector of [2 x i32] containing the sums of
703664/// products of both parameters.
704static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
705_mm_madd_pi16(__m64 __m1, __m64 __m2)
706{
707 return __trunc64(__builtin_ia32_pmaddwd128((__v8hi)__anyext128(__m1),
708 (__v8hi)__anyext128(__m2)));
665static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_madd_pi16(__m64 __m1,
666 __m64 __m2) {
667 return __trunc64(__builtin_ia32_pmaddwd128((__v8hi)__zext128(__m1),
668 (__v8hi)__zext128(__m2)));
709669}
710670
711671/// Multiplies each 16-bit signed integer element of the first 64-bit
......@@ -723,11 +683,10 @@ _mm_madd_pi16(__m64 __m1, __m64 __m2)
723683/// A 64-bit integer vector of [4 x i16].
724684/// \returns A 64-bit integer vector of [4 x i16] containing the upper 16 bits
725685/// of the products of both parameters.
726static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
727_mm_mulhi_pi16(__m64 __m1, __m64 __m2)
728{
729 return __trunc64(__builtin_ia32_pmulhw128((__v8hi)__anyext128(__m1),
730 (__v8hi)__anyext128(__m2)));
686static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_mulhi_pi16(__m64 __m1,
687 __m64 __m2) {
688 return __trunc64(__builtin_ia32_pmulhw128((__v8hi)__zext128(__m1),
689 (__v8hi)__zext128(__m2)));
731690}
732691
733692/// Multiplies each 16-bit signed integer element of the first 64-bit
......@@ -745,10 +704,9 @@ _mm_mulhi_pi16(__m64 __m1, __m64 __m2)
745704/// A 64-bit integer vector of [4 x i16].
746705/// \returns A 64-bit integer vector of [4 x i16] containing the lower 16 bits
747706/// of the products of both parameters.
748static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
749_mm_mullo_pi16(__m64 __m1, __m64 __m2)
750{
751 return (__m64)(((__v4hu)__m1) * ((__v4hu)__m2));
707static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_mullo_pi16(__m64 __m1,
708 __m64 __m2) {
709 return (__m64)(((__v4hu)__m1) * ((__v4hu)__m2));
752710}
753711
754712/// Left-shifts each 16-bit signed integer element of the first
......@@ -771,8 +729,8 @@ _mm_mullo_pi16(__m64 __m1, __m64 __m2)
771729static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
772730_mm_sll_pi16(__m64 __m, __m64 __count)
773731{
774 return __trunc64(__builtin_ia32_psllw128((__v8hi)__anyext128(__m),
775 (__v8hi)__anyext128(__count)));
732 return __trunc64(__builtin_ia32_psllw128((__v8hi)__zext128(__m),
733 (__v8hi)__zext128(__count)));
776734}
777735
778736/// Left-shifts each 16-bit signed integer element of a 64-bit integer
......@@ -791,11 +749,9 @@ _mm_sll_pi16(__m64 __m, __m64 __count)
791749/// \returns A 64-bit integer vector of [4 x i16] containing the left-shifted
792750/// values. If \a __count is greater or equal to 16, the result is set to all
793751/// 0.
794static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
795_mm_slli_pi16(__m64 __m, int __count)
796{
797 return __trunc64(__builtin_ia32_psllwi128((__v8hi)__anyext128(__m),
798 __count));
752static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_slli_pi16(__m64 __m,
753 int __count) {
754 return __trunc64(__builtin_ia32_psllwi128((__v8hi)__zext128(__m), __count));
799755}
800756
801757/// Left-shifts each 32-bit signed integer element of the first
......@@ -818,8 +774,8 @@ _mm_slli_pi16(__m64 __m, int __count)
818774static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
819775_mm_sll_pi32(__m64 __m, __m64 __count)
820776{
821 return __trunc64(__builtin_ia32_pslld128((__v4si)__anyext128(__m),
822 (__v4si)__anyext128(__count)));
777 return __trunc64(__builtin_ia32_pslld128((__v4si)__zext128(__m),
778 (__v4si)__zext128(__count)));
823779}
824780
825781/// Left-shifts each 32-bit signed integer element of a 64-bit integer
......@@ -838,11 +794,9 @@ _mm_sll_pi32(__m64 __m, __m64 __count)
838794/// \returns A 64-bit integer vector of [2 x i32] containing the left-shifted
839795/// values. If \a __count is greater or equal to 32, the result is set to all
840796/// 0.
841static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
842_mm_slli_pi32(__m64 __m, int __count)
843{
844 return __trunc64(__builtin_ia32_pslldi128((__v4si)__anyext128(__m),
845 __count));
797static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_slli_pi32(__m64 __m,
798 int __count) {
799 return __trunc64(__builtin_ia32_pslldi128((__v4si)__zext128(__m), __count));
846800}
847801
848802/// Left-shifts the first 64-bit integer parameter by the number of bits
......@@ -862,8 +816,8 @@ _mm_slli_pi32(__m64 __m, int __count)
862816static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
863817_mm_sll_si64(__m64 __m, __m64 __count)
864818{
865 return __trunc64(__builtin_ia32_psllq128((__v2di)__anyext128(__m),
866 (__v2di)__anyext128(__count)));
819 return __trunc64(__builtin_ia32_psllq128((__v2di)__zext128(__m),
820 (__v2di)__zext128(__count)));
867821}
868822
869823/// Left-shifts the first parameter, which is a 64-bit integer, by the
......@@ -880,11 +834,9 @@ _mm_sll_si64(__m64 __m, __m64 __count)
880834/// A 32-bit integer value.
881835/// \returns A 64-bit integer vector containing the left-shifted value. If
882836/// \a __count is greater or equal to 64, the result is set to 0.
883static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
884_mm_slli_si64(__m64 __m, int __count)
885{
886 return __trunc64(__builtin_ia32_psllqi128((__v2di)__anyext128(__m),
887 __count));
837static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_slli_si64(__m64 __m,
838 int __count) {
839 return __trunc64(__builtin_ia32_psllqi128((__v2di)__zext128(__m), __count));
888840}
889841
890842/// Right-shifts each 16-bit integer element of the first parameter,
......@@ -908,8 +860,8 @@ _mm_slli_si64(__m64 __m, int __count)
908860static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
909861_mm_sra_pi16(__m64 __m, __m64 __count)
910862{
911 return __trunc64(__builtin_ia32_psraw128((__v8hi)__anyext128(__m),
912 (__v8hi)__anyext128(__count)));
863 return __trunc64(__builtin_ia32_psraw128((__v8hi)__zext128(__m),
864 (__v8hi)__zext128(__count)));
913865}
914866
915867/// Right-shifts each 16-bit integer element of a 64-bit integer vector
......@@ -929,11 +881,9 @@ _mm_sra_pi16(__m64 __m, __m64 __count)
929881/// A 32-bit integer value.
930882/// \returns A 64-bit integer vector of [4 x i16] containing the right-shifted
931883/// values.
932static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
933_mm_srai_pi16(__m64 __m, int __count)
934{
935 return __trunc64(__builtin_ia32_psrawi128((__v8hi)__anyext128(__m),
936 __count));
884static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_srai_pi16(__m64 __m,
885 int __count) {
886 return __trunc64(__builtin_ia32_psrawi128((__v8hi)__zext128(__m), __count));
937887}
938888
939889/// Right-shifts each 32-bit integer element of the first parameter,
......@@ -957,8 +907,8 @@ _mm_srai_pi16(__m64 __m, int __count)
957907static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
958908_mm_sra_pi32(__m64 __m, __m64 __count)
959909{
960 return __trunc64(__builtin_ia32_psrad128((__v4si)__anyext128(__m),
961 (__v4si)__anyext128(__count)));
910 return __trunc64(__builtin_ia32_psrad128((__v4si)__zext128(__m),
911 (__v4si)__zext128(__count)));
962912}
963913
964914/// Right-shifts each 32-bit integer element of a 64-bit integer vector
......@@ -978,11 +928,9 @@ _mm_sra_pi32(__m64 __m, __m64 __count)
978928/// A 32-bit integer value.
979929/// \returns A 64-bit integer vector of [2 x i32] containing the right-shifted
980930/// values.
981static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
982_mm_srai_pi32(__m64 __m, int __count)
983{
984 return __trunc64(__builtin_ia32_psradi128((__v4si)__anyext128(__m),
985 __count));
931static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_srai_pi32(__m64 __m,
932 int __count) {
933 return __trunc64(__builtin_ia32_psradi128((__v4si)__zext128(__m), __count));
986934}
987935
988936/// Right-shifts each 16-bit integer element of the first parameter,
......@@ -1005,8 +953,8 @@ _mm_srai_pi32(__m64 __m, int __count)
1005953static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1006954_mm_srl_pi16(__m64 __m, __m64 __count)
1007955{
1008 return __trunc64(__builtin_ia32_psrlw128((__v8hi)__anyext128(__m),
1009 (__v8hi)__anyext128(__count)));
956 return __trunc64(__builtin_ia32_psrlw128((__v8hi)__zext128(__m),
957 (__v8hi)__zext128(__count)));
1010958}
1011959
1012960/// Right-shifts each 16-bit integer element of a 64-bit integer vector
......@@ -1025,11 +973,9 @@ _mm_srl_pi16(__m64 __m, __m64 __count)
1025973/// A 32-bit integer value.
1026974/// \returns A 64-bit integer vector of [4 x i16] containing the right-shifted
1027975/// values.
1028static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1029_mm_srli_pi16(__m64 __m, int __count)
1030{
1031 return __trunc64(__builtin_ia32_psrlwi128((__v8hi)__anyext128(__m),
1032 __count));
976static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_srli_pi16(__m64 __m,
977 int __count) {
978 return __trunc64(__builtin_ia32_psrlwi128((__v8hi)__zext128(__m), __count));
1033979}
1034980
1035981/// Right-shifts each 32-bit integer element of the first parameter,
......@@ -1052,8 +998,8 @@ _mm_srli_pi16(__m64 __m, int __count)
1052998static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1053999_mm_srl_pi32(__m64 __m, __m64 __count)
10541000{
1055 return __trunc64(__builtin_ia32_psrld128((__v4si)__anyext128(__m),
1056 (__v4si)__anyext128(__count)));
1001 return __trunc64(__builtin_ia32_psrld128((__v4si)__zext128(__m),
1002 (__v4si)__zext128(__count)));
10571003}
10581004
10591005/// Right-shifts each 32-bit integer element of a 64-bit integer vector
......@@ -1072,11 +1018,9 @@ _mm_srl_pi32(__m64 __m, __m64 __count)
10721018/// A 32-bit integer value.
10731019/// \returns A 64-bit integer vector of [2 x i32] containing the right-shifted
10741020/// values.
1075static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1076_mm_srli_pi32(__m64 __m, int __count)
1077{
1078 return __trunc64(__builtin_ia32_psrldi128((__v4si)__anyext128(__m),
1079 __count));
1021static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_srli_pi32(__m64 __m,
1022 int __count) {
1023 return __trunc64(__builtin_ia32_psrldi128((__v4si)__zext128(__m), __count));
10801024}
10811025
10821026/// Right-shifts the first 64-bit integer parameter by the number of bits
......@@ -1096,8 +1040,8 @@ _mm_srli_pi32(__m64 __m, int __count)
10961040static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
10971041_mm_srl_si64(__m64 __m, __m64 __count)
10981042{
1099 return __trunc64(__builtin_ia32_psrlq128((__v2di)__anyext128(__m),
1100 (__v2di)__anyext128(__count)));
1043 return __trunc64(__builtin_ia32_psrlq128((__v2di)__zext128(__m),
1044 (__v2di)__zext128(__count)));
11011045}
11021046
11031047/// Right-shifts the first parameter, which is a 64-bit integer, by the
......@@ -1115,11 +1059,9 @@ _mm_srl_si64(__m64 __m, __m64 __count)
11151059/// \param __count
11161060/// A 32-bit integer value.
11171061/// \returns A 64-bit integer vector containing the right-shifted value.
1118static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1119_mm_srli_si64(__m64 __m, int __count)
1120{
1121 return __trunc64(__builtin_ia32_psrlqi128((__v2di)__anyext128(__m),
1122 __count));
1062static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_srli_si64(__m64 __m,
1063 int __count) {
1064 return __trunc64(__builtin_ia32_psrlqi128((__v2di)__zext128(__m), __count));
11231065}
11241066
11251067/// Performs a bitwise AND of two 64-bit integer vectors.
......@@ -1134,10 +1076,9 @@ _mm_srli_si64(__m64 __m, int __count)
11341076/// A 64-bit integer vector.
11351077/// \returns A 64-bit integer vector containing the bitwise AND of both
11361078/// parameters.
1137static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1138_mm_and_si64(__m64 __m1, __m64 __m2)
1139{
1140 return (__m64)(((__v1du)__m1) & ((__v1du)__m2));
1079static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_and_si64(__m64 __m1,
1080 __m64 __m2) {
1081 return (__m64)(((__v1du)__m1) & ((__v1du)__m2));
11411082}
11421083
11431084/// Performs a bitwise NOT of the first 64-bit integer vector, and then
......@@ -1155,10 +1096,9 @@ _mm_and_si64(__m64 __m1, __m64 __m2)
11551096/// A 64-bit integer vector.
11561097/// \returns A 64-bit integer vector containing the bitwise AND of the second
11571098/// parameter and the one's complement of the first parameter.
1158static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1159_mm_andnot_si64(__m64 __m1, __m64 __m2)
1160{
1161 return (__m64)(~((__v1du)__m1) & ((__v1du)__m2));
1099static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_andnot_si64(__m64 __m1,
1100 __m64 __m2) {
1101 return (__m64)(~((__v1du)__m1) & ((__v1du)__m2));
11621102}
11631103
11641104/// Performs a bitwise OR of two 64-bit integer vectors.
......@@ -1173,10 +1113,9 @@ _mm_andnot_si64(__m64 __m1, __m64 __m2)
11731113/// A 64-bit integer vector.
11741114/// \returns A 64-bit integer vector containing the bitwise OR of both
11751115/// parameters.
1176static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1177_mm_or_si64(__m64 __m1, __m64 __m2)
1178{
1179 return (__m64)(((__v1du)__m1) | ((__v1du)__m2));
1116static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_or_si64(__m64 __m1,
1117 __m64 __m2) {
1118 return (__m64)(((__v1du)__m1) | ((__v1du)__m2));
11801119}
11811120
11821121/// Performs a bitwise exclusive OR of two 64-bit integer vectors.
......@@ -1191,10 +1130,9 @@ _mm_or_si64(__m64 __m1, __m64 __m2)
11911130/// A 64-bit integer vector.
11921131/// \returns A 64-bit integer vector containing the bitwise exclusive OR of both
11931132/// parameters.
1194static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1195_mm_xor_si64(__m64 __m1, __m64 __m2)
1196{
1197 return (__m64)(((__v1du)__m1) ^ ((__v1du)__m2));
1133static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_xor_si64(__m64 __m1,
1134 __m64 __m2) {
1135 return (__m64)(((__v1du)__m1) ^ ((__v1du)__m2));
11981136}
11991137
12001138/// Compares the 8-bit integer elements of two 64-bit integer vectors of
......@@ -1213,10 +1151,9 @@ _mm_xor_si64(__m64 __m1, __m64 __m2)
12131151/// A 64-bit integer vector of [8 x i8].
12141152/// \returns A 64-bit integer vector of [8 x i8] containing the comparison
12151153/// results.
1216static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1217_mm_cmpeq_pi8(__m64 __m1, __m64 __m2)
1218{
1219 return (__m64)(((__v8qi)__m1) == ((__v8qi)__m2));
1154static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_cmpeq_pi8(__m64 __m1,
1155 __m64 __m2) {
1156 return (__m64)(((__v8qi)__m1) == ((__v8qi)__m2));
12201157}
12211158
12221159/// Compares the 16-bit integer elements of two 64-bit integer vectors of
......@@ -1235,10 +1172,9 @@ _mm_cmpeq_pi8(__m64 __m1, __m64 __m2)
12351172/// A 64-bit integer vector of [4 x i16].
12361173/// \returns A 64-bit integer vector of [4 x i16] containing the comparison
12371174/// results.
1238static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1239_mm_cmpeq_pi16(__m64 __m1, __m64 __m2)
1240{
1241 return (__m64)(((__v4hi)__m1) == ((__v4hi)__m2));
1175static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_cmpeq_pi16(__m64 __m1,
1176 __m64 __m2) {
1177 return (__m64)(((__v4hi)__m1) == ((__v4hi)__m2));
12421178}
12431179
12441180/// Compares the 32-bit integer elements of two 64-bit integer vectors of
......@@ -1257,10 +1193,9 @@ _mm_cmpeq_pi16(__m64 __m1, __m64 __m2)
12571193/// A 64-bit integer vector of [2 x i32].
12581194/// \returns A 64-bit integer vector of [2 x i32] containing the comparison
12591195/// results.
1260static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1261_mm_cmpeq_pi32(__m64 __m1, __m64 __m2)
1262{
1263 return (__m64)(((__v2si)__m1) == ((__v2si)__m2));
1196static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_cmpeq_pi32(__m64 __m1,
1197 __m64 __m2) {
1198 return (__m64)(((__v2si)__m1) == ((__v2si)__m2));
12641199}
12651200
12661201/// Compares the 8-bit integer elements of two 64-bit integer vectors of
......@@ -1279,9 +1214,8 @@ _mm_cmpeq_pi32(__m64 __m1, __m64 __m2)
12791214/// A 64-bit integer vector of [8 x i8].
12801215/// \returns A 64-bit integer vector of [8 x i8] containing the comparison
12811216/// results.
1282static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1283_mm_cmpgt_pi8(__m64 __m1, __m64 __m2)
1284{
1217static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_cmpgt_pi8(__m64 __m1,
1218 __m64 __m2) {
12851219 /* This function always performs a signed comparison, but __v8qi is a char
12861220 which may be signed or unsigned, so use __v8qs. */
12871221 return (__m64)((__v8qs)__m1 > (__v8qs)__m2);
......@@ -1303,10 +1237,9 @@ _mm_cmpgt_pi8(__m64 __m1, __m64 __m2)
13031237/// A 64-bit integer vector of [4 x i16].
13041238/// \returns A 64-bit integer vector of [4 x i16] containing the comparison
13051239/// results.
1306static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1307_mm_cmpgt_pi16(__m64 __m1, __m64 __m2)
1308{
1309 return (__m64)((__v4hi)__m1 > (__v4hi)__m2);
1240static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_cmpgt_pi16(__m64 __m1,
1241 __m64 __m2) {
1242 return (__m64)((__v4hi)__m1 > (__v4hi)__m2);
13101243}
13111244
13121245/// Compares the 32-bit integer elements of two 64-bit integer vectors of
......@@ -1325,10 +1258,9 @@ _mm_cmpgt_pi16(__m64 __m1, __m64 __m2)
13251258/// A 64-bit integer vector of [2 x i32].
13261259/// \returns A 64-bit integer vector of [2 x i32] containing the comparison
13271260/// results.
1328static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
1329_mm_cmpgt_pi32(__m64 __m1, __m64 __m2)
1330{
1331 return (__m64)((__v2si)__m1 > (__v2si)__m2);
1261static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_cmpgt_pi32(__m64 __m1,
1262 __m64 __m2) {
1263 return (__m64)((__v2si)__m1 > (__v2si)__m2);
13321264}
13331265
13341266/// Constructs a 64-bit integer vector initialized to zero.
......@@ -1338,8 +1270,7 @@ _mm_cmpgt_pi32(__m64 __m1, __m64 __m2)
13381270/// This intrinsic corresponds to the <c> PXOR </c> instruction.
13391271///
13401272/// \returns An initialized 64-bit integer vector with all elements set to zero.
1341static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1342_mm_setzero_si64(void) {
1273static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_setzero_si64(void) {
13431274 return __extension__(__m64){0LL};
13441275}
13451276
......@@ -1358,8 +1289,8 @@ _mm_setzero_si64(void) {
13581289/// A 32-bit integer value used to initialize the lower 32 bits of the
13591290/// result.
13601291/// \returns An initialized 64-bit integer vector.
1361static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1362_mm_set_pi32(int __i1, int __i0) {
1292static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_set_pi32(int __i1,
1293 int __i0) {
13631294 return __extension__(__m64)(__v2si){__i0, __i1};
13641295}
13651296
......@@ -1380,8 +1311,10 @@ _mm_set_pi32(int __i1, int __i0) {
13801311/// \param __s0
13811312/// A 16-bit integer value used to initialize bits [15:0] of the result.
13821313/// \returns An initialized 64-bit integer vector.
1383static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1384_mm_set_pi16(short __s3, short __s2, short __s1, short __s0) {
1314static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_set_pi16(short __s3,
1315 short __s2,
1316 short __s1,
1317 short __s0) {
13851318 return __extension__(__m64)(__v4hi){__s0, __s1, __s2, __s3};
13861319}
13871320
......@@ -1410,7 +1343,7 @@ _mm_set_pi16(short __s3, short __s2, short __s1, short __s0) {
14101343/// \param __b0
14111344/// An 8-bit integer value used to initialize bits [7:0] of the result.
14121345/// \returns An initialized 64-bit integer vector.
1413static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1346static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
14141347_mm_set_pi8(char __b7, char __b6, char __b5, char __b4, char __b3, char __b2,
14151348 char __b1, char __b0) {
14161349 return __extension__(__m64)(__v8qi){__b0, __b1, __b2, __b3,
......@@ -1430,8 +1363,7 @@ _mm_set_pi8(char __b7, char __b6, char __b5, char __b4, char __b3, char __b2,
14301363/// A 32-bit integer value used to initialize each vector element of the
14311364/// result.
14321365/// \returns An initialized 64-bit integer vector of [2 x i32].
1433static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1434_mm_set1_pi32(int __i) {
1366static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_set1_pi32(int __i) {
14351367 return _mm_set_pi32(__i, __i);
14361368}
14371369
......@@ -1448,8 +1380,7 @@ _mm_set1_pi32(int __i) {
14481380/// A 16-bit integer value used to initialize each vector element of the
14491381/// result.
14501382/// \returns An initialized 64-bit integer vector of [4 x i16].
1451static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1452_mm_set1_pi16(short __w) {
1383static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_set1_pi16(short __w) {
14531384 return _mm_set_pi16(__w, __w, __w, __w);
14541385}
14551386
......@@ -1465,8 +1396,7 @@ _mm_set1_pi16(short __w) {
14651396/// An 8-bit integer value used to initialize each vector element of the
14661397/// result.
14671398/// \returns An initialized 64-bit integer vector of [8 x i8].
1468static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1469_mm_set1_pi8(char __b) {
1399static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_set1_pi8(char __b) {
14701400 return _mm_set_pi8(__b, __b, __b, __b, __b, __b, __b, __b);
14711401}
14721402
......@@ -1485,8 +1415,8 @@ _mm_set1_pi8(char __b) {
14851415/// A 32-bit integer value used to initialize the upper 32 bits of the
14861416/// result.
14871417/// \returns An initialized 64-bit integer vector.
1488static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1489_mm_setr_pi32(int __i0, int __i1) {
1418static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_setr_pi32(int __i0,
1419 int __i1) {
14901420 return _mm_set_pi32(__i1, __i0);
14911421}
14921422
......@@ -1507,8 +1437,10 @@ _mm_setr_pi32(int __i0, int __i1) {
15071437/// \param __w3
15081438/// A 16-bit integer value used to initialize bits [63:48] of the result.
15091439/// \returns An initialized 64-bit integer vector.
1510static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1511_mm_setr_pi16(short __w0, short __w1, short __w2, short __w3) {
1440static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2 _mm_setr_pi16(short __w0,
1441 short __w1,
1442 short __w2,
1443 short __w3) {
15121444 return _mm_set_pi16(__w3, __w2, __w1, __w0);
15131445}
15141446
......@@ -1537,13 +1469,12 @@ _mm_setr_pi16(short __w0, short __w1, short __w2, short __w3) {
15371469/// \param __b7
15381470/// An 8-bit integer value used to initialize bits [63:56] of the result.
15391471/// \returns An initialized 64-bit integer vector.
1540static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
1472static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
15411473_mm_setr_pi8(char __b0, char __b1, char __b2, char __b3, char __b4, char __b5,
15421474 char __b6, char __b7) {
15431475 return _mm_set_pi8(__b7, __b6, __b5, __b4, __b3, __b2, __b1, __b0);
15441476}
15451477
1546#undef __anyext128
15471478#undef __trunc64
15481479#undef __DEFAULT_FN_ATTRS_SSE2
15491480
lib/include/module.modulemap+23-4
......@@ -171,8 +171,22 @@ module _Builtin_intrinsics [system] [extern_c] {
171171// that module. The system float.h (if present) will be treated
172172// as a textual header in the sytem module.
173173module _Builtin_float [system] {
174 header "float.h"
175 export *
174 textual header "float.h"
175
176 explicit module float {
177 header "__float_float.h"
178 export *
179 }
180
181 explicit module header_macro {
182 header "__float_header_macro.h"
183 export *
184 }
185
186 explicit module infinity_nan {
187 header "__float_infinity_nan.h"
188 export *
189 }
176190}
177191
178192module _Builtin_inttypes [system] {
......@@ -239,6 +253,11 @@ module _Builtin_stdbool [system] {
239253 export *
240254}
241255
256module _Builtin_stdckdint [system] {
257 header "stdckdint.h"
258 export *
259}
260
242261module _Builtin_stdcountof [system] {
243262 header "stdcountof.h"
244263 export *
......@@ -329,13 +348,13 @@ module _Builtin_unwind [system] {
329348}
330349// End -fbuiltin-headers-in-system-modules affected modules
331350
332module opencl_c {
351module opencl_c [system] {
333352 requires opencl
334353 header "opencl-c.h"
335354 header "opencl-c-base.h"
336355}
337356
338module ptrauth {
357module ptrauth [system] {
339358 header "ptrauth.h"
340359 export *
341360}
lib/include/movrs_avx10_2_512intrin.h+2-2
......@@ -17,8 +17,8 @@
1717
1818/* Define the default attributes for the functions in this file. */
1919#define __DEFAULT_FN_ATTRS512 \
20 __attribute__((__always_inline__, __nodebug__, \
21 __target__("movrs, avx10.2-512"), __min_vector_width__(512)))
20 __attribute__((__always_inline__, __nodebug__, __target__("movrs, avx10.2"), \
21 __min_vector_width__(512)))
2222
2323static __inline__ __m512i __DEFAULT_FN_ATTRS512
2424_mm512_loadrs_epi8(void const *__A) {
lib/include/movrs_avx10_2intrin.h+4-4
......@@ -17,11 +17,11 @@
1717
1818/* Define the default attributes for the functions in this file. */
1919#define __DEFAULT_FN_ATTRS128 \
20 __attribute__((__always_inline__, __nodebug__, \
21 __target__("movrs,avx10.2-256"), __min_vector_width__(128)))
20 __attribute__((__always_inline__, __nodebug__, __target__("movrs,avx10.2"), \
21 __min_vector_width__(128)))
2222#define __DEFAULT_FN_ATTRS256 \
23 __attribute__((__always_inline__, __nodebug__, \
24 __target__("movrs,avx10.2-256"), __min_vector_width__(256)))
23 __attribute__((__always_inline__, __nodebug__, __target__("movrs,avx10.2"), \
24 __min_vector_width__(256)))
2525
2626static __inline__ __m128i __DEFAULT_FN_ATTRS128
2727_mm_loadrs_epi8(void const *__A) {
lib/include/pmmintrin.h+12-24
......@@ -17,15 +17,9 @@
1717#include <emmintrin.h>
1818
1919/* Define the default attributes for the functions in this file. */
20#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
21#define __DEFAULT_FN_ATTRS \
22 __attribute__((__always_inline__, __nodebug__, \
23 __target__("sse3,no-evex512"), __min_vector_width__(128)))
24#else
2520#define __DEFAULT_FN_ATTRS \
2621 __attribute__((__always_inline__, __nodebug__, __target__("sse3"), \
2722 __min_vector_width__(128)))
28#endif
2923
3024#if defined(__cplusplus) && (__cplusplus >= 201103L)
3125#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
......@@ -66,9 +60,8 @@ _mm_lddqu_si128(__m128i_u const *__p)
6660/// A 128-bit vector of [4 x float] containing the right source operand.
6761/// \returns A 128-bit vector of [4 x float] containing the alternating sums and
6862/// differences of both operands.
69static __inline__ __m128 __DEFAULT_FN_ATTRS
70_mm_addsub_ps(__m128 __a, __m128 __b)
71{
63static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
64_mm_addsub_ps(__m128 __a, __m128 __b) {
7265 return __builtin_ia32_addsubps((__v4sf)__a, (__v4sf)__b);
7366}
7467
......@@ -89,9 +82,8 @@ _mm_addsub_ps(__m128 __a, __m128 __b)
8982/// destination.
9083/// \returns A 128-bit vector of [4 x float] containing the horizontal sums of
9184/// both operands.
92static __inline__ __m128 __DEFAULT_FN_ATTRS
93_mm_hadd_ps(__m128 __a, __m128 __b)
94{
85static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_hadd_ps(__m128 __a,
86 __m128 __b) {
9587 return __builtin_ia32_haddps((__v4sf)__a, (__v4sf)__b);
9688}
9789
......@@ -112,9 +104,8 @@ _mm_hadd_ps(__m128 __a, __m128 __b)
112104/// bits of the destination.
113105/// \returns A 128-bit vector of [4 x float] containing the horizontal
114106/// differences of both operands.
115static __inline__ __m128 __DEFAULT_FN_ATTRS
116_mm_hsub_ps(__m128 __a, __m128 __b)
117{
107static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_hsub_ps(__m128 __a,
108 __m128 __b) {
118109 return __builtin_ia32_hsubps((__v4sf)__a, (__v4sf)__b);
119110}
120111
......@@ -174,9 +165,8 @@ _mm_moveldup_ps(__m128 __a)
174165/// A 128-bit vector of [2 x double] containing the right source operand.
175166/// \returns A 128-bit vector of [2 x double] containing the alternating sums
176167/// and differences of both operands.
177static __inline__ __m128d __DEFAULT_FN_ATTRS
178_mm_addsub_pd(__m128d __a, __m128d __b)
179{
168static __inline__ __m128d __DEFAULT_FN_ATTRS_CONSTEXPR
169_mm_addsub_pd(__m128d __a, __m128d __b) {
180170 return __builtin_ia32_addsubpd((__v2df)__a, (__v2df)__b);
181171}
182172
......@@ -197,9 +187,8 @@ _mm_addsub_pd(__m128d __a, __m128d __b)
197187/// destination.
198188/// \returns A 128-bit vector of [2 x double] containing the horizontal sums of
199189/// both operands.
200static __inline__ __m128d __DEFAULT_FN_ATTRS
201_mm_hadd_pd(__m128d __a, __m128d __b)
202{
190static __inline__ __m128d __DEFAULT_FN_ATTRS_CONSTEXPR
191_mm_hadd_pd(__m128d __a, __m128d __b) {
203192 return __builtin_ia32_haddpd((__v2df)__a, (__v2df)__b);
204193}
205194
......@@ -220,9 +209,8 @@ _mm_hadd_pd(__m128d __a, __m128d __b)
220209/// the destination.
221210/// \returns A 128-bit vector of [2 x double] containing the horizontal
222211/// differences of both operands.
223static __inline__ __m128d __DEFAULT_FN_ATTRS
224_mm_hsub_pd(__m128d __a, __m128d __b)
225{
212static __inline__ __m128d __DEFAULT_FN_ATTRS_CONSTEXPR
213_mm_hsub_pd(__m128d __a, __m128d __b) {
226214 return __builtin_ia32_hsubpd((__v2df)__a, (__v2df)__b);
227215}
228216
lib/include/ptrauth.h+16-2
......@@ -95,7 +95,7 @@ typedef __UINTPTR_TYPE__ ptrauth_generic_signature_t;
9595 __ptrauth qualifier; the compiler will perform this check
9696 automatically. */
9797
98#if __has_feature(ptrauth_intrinsics)
98#if __has_feature(ptrauth_intrinsics) || defined(__PTRAUTH__)
9999
100100/* Strip the signature from a value without authenticating it.
101101
......@@ -241,6 +241,18 @@ typedef __UINTPTR_TYPE__ ptrauth_generic_signature_t;
241241#define ptrauth_type_discriminator(__type) \
242242 __builtin_ptrauth_type_discriminator(__type)
243243
244/* Compute the constant discriminator used by Clang to sign pointers with the
245 given C function pointer type.
246
247 A call to this function is an integer constant expression. */
248#if __has_feature(ptrauth_function_pointer_type_discrimination)
249#define ptrauth_function_pointer_type_discriminator(__type) \
250 __builtin_ptrauth_type_discriminator(__type)
251#else
252#define ptrauth_function_pointer_type_discriminator(__type) \
253 ((ptrauth_extra_data_t)0)
254#endif
255
244256/* Compute a signature for the given pair of pointer-sized values.
245257 The order of the arguments is significant.
246258
......@@ -372,6 +384,8 @@ typedef __UINTPTR_TYPE__ ptrauth_generic_signature_t;
372384 })
373385
374386#define ptrauth_type_discriminator(__type) ((ptrauth_extra_data_t)0)
387#define ptrauth_function_pointer_type_discriminator(__type) \
388 ((ptrauth_extra_data_t)0)
375389
376390#define ptrauth_sign_generic_data(__value, __data) \
377391 ({ \
......@@ -388,6 +402,6 @@ typedef __UINTPTR_TYPE__ ptrauth_generic_signature_t;
388402#define __ptrauth_objc_isa_uintptr
389403#define __ptrauth_objc_super_pointer
390404
391#endif /* __has_feature(ptrauth_intrinsics) */
405#endif /* __has_feature(ptrauth_intrinsics) || defined(__PTRAUTH__) */
392406
393407#endif /* __PTRAUTH_H */
lib/include/riscv_mips.h created+34
......@@ -0,0 +1,34 @@
1//===----- riscv_mips.h - RISC-V MIPS Intrinsic definitions
2//----------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef __RISCV_MIPS_H
11#define __RISCV_MIPS_H
12
13#if !defined(__riscv)
14#error "This header is only meant to be used on riscv architecture"
15#endif
16
17#define __DEFAULT_FN_ATTRS \
18 __attribute__((__always_inline__, __nodebug__, __target__("xmipsexectl")))
19
20static __inline__ void __DEFAULT_FN_ATTRS __mips_pause() {
21 __builtin_riscv_mips_pause();
22}
23
24static __inline__ void __DEFAULT_FN_ATTRS __mips_ehb() {
25 __builtin_riscv_mips_ehb();
26}
27
28static __inline__ void __DEFAULT_FN_ATTRS __mips_ihb() {
29 __builtin_riscv_mips_ihb();
30}
31
32#undef __DEFAULT_FN_ATTRS
33
34#endif
lib/include/riscv_nds.h created+89
......@@ -0,0 +1,89 @@
1/*===---- riscv_nds.h - Andes intrinsics -----------------------------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===-----------------------------------------------------------------------===
8 */
9
10#ifndef __RISCV_NDS_H
11#define __RISCV_NDS_H
12
13#include <stdint.h>
14
15#if defined(__cplusplus)
16extern "C" {
17#endif
18
19#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
20
21#if defined(__riscv_xandesperf)
22
23#if __riscv_xlen == 32
24
25static __inline__ int32_t __DEFAULT_FN_ATTRS __riscv_nds_ffb_32(uint32_t __a,
26 uint32_t __b) {
27 return __builtin_riscv_nds_ffb_32(__a, __b);
28}
29
30static __inline__ int32_t __DEFAULT_FN_ATTRS
31__riscv_nds_ffzmism_32(uint32_t __a, uint32_t __b) {
32 return __builtin_riscv_nds_ffzmism_32(__a, __b);
33}
34
35static __inline__ int32_t __DEFAULT_FN_ATTRS
36__riscv_nds_ffmism_32(uint32_t __a, uint32_t __b) {
37 return __builtin_riscv_nds_ffmism_32(__a, __b);
38}
39
40static __inline__ int32_t __DEFAULT_FN_ATTRS
41__riscv_nds_flmism_32(uint32_t __a, uint32_t __b) {
42 return __builtin_riscv_nds_flmism_32(__a, __b);
43}
44
45#endif
46
47#if __riscv_xlen == 64
48
49static __inline__ int64_t __DEFAULT_FN_ATTRS __riscv_nds_ffb_64(uint64_t __a,
50 uint64_t __b) {
51 return __builtin_riscv_nds_ffb_64(__a, __b);
52}
53
54static __inline__ int64_t __DEFAULT_FN_ATTRS
55__riscv_nds_ffzmism_64(uint64_t __a, uint64_t __b) {
56 return __builtin_riscv_nds_ffzmism_64(__a, __b);
57}
58
59static __inline__ int64_t __DEFAULT_FN_ATTRS
60__riscv_nds_ffmism_64(uint64_t __a, uint64_t __b) {
61 return __builtin_riscv_nds_ffmism_64(__a, __b);
62}
63
64static __inline__ int64_t __DEFAULT_FN_ATTRS
65__riscv_nds_flmism_64(uint64_t __a, uint64_t __b) {
66 return __builtin_riscv_nds_flmism_64(__a, __b);
67}
68
69#endif
70
71#endif // defined(__riscv_xandesperf)
72
73#if defined(__riscv_xandesbfhcvt)
74
75static __inline__ float __DEFAULT_FN_ATTRS __riscv_nds_fcvt_s_bf16(__bf16 bf) {
76 return __builtin_riscv_nds_fcvt_s_bf16(bf);
77}
78
79static __inline__ __bf16 __DEFAULT_FN_ATTRS __riscv_nds_fcvt_bf16_s(float sf) {
80 return __builtin_riscv_nds_fcvt_bf16_s(sf);
81}
82
83#endif // defined(__riscv_xandesbfhcvt)
84
85#if defined(__cplusplus)
86}
87#endif
88
89#endif // define __RISCV_NDS_H
lib/include/sifive_vector.h+58-2
......@@ -47,9 +47,9 @@
4747 __riscv_sf_vc_x_se(p27_26, p24_20, p11_7, (uint32_t)rs1, 32, 3, vl)
4848
4949#define __riscv_sf_vc_i_se_u8mf4(p27_26, p24_20, p11_7, simm5, vl) \
50 __riscv_sf_vc_i_se(p27_26, p24_20, p11_7, simm5, 8, 7, vl)
51#define __riscv_sf_vc_i_se_u8mf2(p27_26, p24_20, p11_7, simm5, vl) \
5250 __riscv_sf_vc_i_se(p27_26, p24_20, p11_7, simm5, 8, 6, vl)
51#define __riscv_sf_vc_i_se_u8mf2(p27_26, p24_20, p11_7, simm5, vl) \
52 __riscv_sf_vc_i_se(p27_26, p24_20, p11_7, simm5, 8, 7, vl)
5353#define __riscv_sf_vc_i_se_u8m1(p27_26, p24_20, p11_7, simm5, vl) \
5454 __riscv_sf_vc_i_se(p27_26, p24_20, p11_7, simm5, 8, 0, vl)
5555#define __riscv_sf_vc_i_se_u8m2(p27_26, p24_20, p11_7, simm5, vl) \
......@@ -115,4 +115,60 @@
115115#endif
116116#endif
117117
118#define __riscv_sf_vsettnt_e8w1(atn) __riscv_sf_vsettnt(atn, 0, 1);
119#define __riscv_sf_vsettnt_e8w2(atn) __riscv_sf_vsettnt(atn, 0, 2);
120#define __riscv_sf_vsettnt_e8w4(atn) __riscv_sf_vsettnt(atn, 0, 3);
121#define __riscv_sf_vsettnt_e16w1(atn) __riscv_sf_vsettnt(atn, 1, 1);
122#define __riscv_sf_vsettnt_e16w2(atn) __riscv_sf_vsettnt(atn, 1, 2);
123#define __riscv_sf_vsettnt_e16w4(atn) __riscv_sf_vsettnt(atn, 1, 3);
124#define __riscv_sf_vsettnt_e32w1(atn) __riscv_sf_vsettnt(atn, 2, 1);
125#define __riscv_sf_vsettnt_e32w2(atn) __riscv_sf_vsettnt(atn, 2, 2);
126#define __riscv_sf_vsettm_e8w1(atm) __riscv_sf_vsettm(atm, 0, 1);
127#define __riscv_sf_vsettm_e8w2(atm) __riscv_sf_vsettm(atm, 0, 2);
128#define __riscv_sf_vsettm_e8w4(atm) __riscv_sf_vsettm(atm, 0, 3);
129#define __riscv_sf_vsettm_e16w1(atm) __riscv_sf_vsettm(atm, 1, 1);
130#define __riscv_sf_vsettm_e16w2(atm) __riscv_sf_vsettm(atm, 1, 2);
131#define __riscv_sf_vsettm_e16w4(atm) __riscv_sf_vsettm(atm, 1, 3);
132#define __riscv_sf_vsettm_e32w1(atm) __riscv_sf_vsettm(atm, 2, 1);
133#define __riscv_sf_vsettm_e32w2(atm) __riscv_sf_vsettm(atm, 2, 2);
134#define __riscv_sf_vsettn_e8w1(atn) __riscv_sf_vsettn(atn, 0, 1);
135#define __riscv_sf_vsettn_e8w2(atn) __riscv_sf_vsettn(atn, 0, 2);
136#define __riscv_sf_vsettn_e8w4(atn) __riscv_sf_vsettn(atn, 0, 3);
137#define __riscv_sf_vsettn_e16w1(atn) __riscv_sf_vsettn(atn, 1, 1);
138#define __riscv_sf_vsettn_e16w2(atn) __riscv_sf_vsettn(atn, 1, 2);
139#define __riscv_sf_vsettn_e16w4(atn) __riscv_sf_vsettn(atn, 1, 3);
140#define __riscv_sf_vsettn_e32w1(atn) __riscv_sf_vsettn(atn, 2, 1);
141#define __riscv_sf_vsettn_e32w2(atn) __riscv_sf_vsettn(atn, 2, 2);
142#define __riscv_sf_vsettk_e8w1(atk) __riscv_sf_vsettk(atk, 0, 1);
143#define __riscv_sf_vsettk_e8w2(atk) __riscv_sf_vsettk(atk, 0, 2);
144#define __riscv_sf_vsettk_e8w4(atk) __riscv_sf_vsettk(atk, 0, 3);
145#define __riscv_sf_vsettk_e16w1(atk) __riscv_sf_vsettk(atk, 1, 1);
146#define __riscv_sf_vsettk_e16w2(atk) __riscv_sf_vsettk(atk, 1, 2);
147#define __riscv_sf_vsettk_e16w4(atk) __riscv_sf_vsettk(atk, 1, 3);
148#define __riscv_sf_vsettk_e32w1(atk) __riscv_sf_vsettk(atk, 2, 1);
149#define __riscv_sf_vsettk_e32w2(atk) __riscv_sf_vsettk(atk, 2, 2);
150#define __riscv_sf_vtzero_t_e8w1(tile, atm, atn) \
151 __riscv_sf_vtzero_t(tile, atm, atn, 3, 1);
152#define __riscv_sf_vtzero_t_e8w2(tile, atm, atn) \
153 __riscv_sf_vtzero_t(tile, atm, atn, 3, 2);
154#define __riscv_sf_vtzero_t_e8w4(tile, atm, atn) \
155 __riscv_sf_vtzero_t(tile, atm, atn, 3, 4);
156#define __riscv_sf_vtzero_t_e16w1(tile, atm, atn) \
157 __riscv_sf_vtzero_t(tile, atm, atn, 4, 1);
158#define __riscv_sf_vtzero_t_e16w2(tile, atm, atn) \
159 __riscv_sf_vtzero_t(tile, atm, atn, 4, 2);
160#define __riscv_sf_vtzero_t_e16w4(tile, atm, atn) \
161 __riscv_sf_vtzero_t(tile, atm, atn, 4, 4);
162#define __riscv_sf_vtzero_t_e32w1(tile, atm, atn) \
163 __riscv_sf_vtzero_t(tile, atm, atn, 5, 1);
164#define __riscv_sf_vtzero_t_e32w2(tile, atm, atn) \
165 __riscv_sf_vtzero_t(tile, atm, atn, 5, 2);
166#if __riscv_v_elen >= 64
167#define __riscv_sf_vsettnt_e64w1(atn) __riscv_sf_vsettnt(atn, 3, 1);
168#define __riscv_sf_vsettm_e64w1(atm) __riscv_sf_vsettm(atm, 3, 1);
169#define __riscv_sf_vsettn_e64w1(atn) __riscv_sf_vsettn(atn, 3, 1);
170#define __riscv_sf_vsettk_e64w1(atk) __riscv_sf_vsettk(atk, 3, 1);
171#define __riscv_sf_vtzero_t_e64w1(tile, atm, atn) \
172 __riscv_sf_vtzero_t(tile, atm, atn, 6, 1);
173#endif
118174#endif //_SIFIVE_VECTOR_H_
lib/include/sm4evexintrin.h+2-2
......@@ -14,8 +14,8 @@
1414#define __SM4EVEXINTRIN_H
1515
1616#define __DEFAULT_FN_ATTRS512 \
17 __attribute__((__always_inline__, __nodebug__, \
18 __target__("sm4,avx10.2-512"), __min_vector_width__(512)))
17 __attribute__((__always_inline__, __nodebug__, __target__("sm4,avx10.2"), \
18 __min_vector_width__(512)))
1919
2020static __inline__ __m512i __DEFAULT_FN_ATTRS512
2121_mm512_sm4key4_epi32(__m512i __A, __m512i __B) {
lib/include/smmintrin.h+77-59
......@@ -17,14 +17,14 @@
1717#include <tmmintrin.h>
1818
1919/* Define the default attributes for the functions in this file. */
20#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
21#define __DEFAULT_FN_ATTRS \
22 __attribute__((__always_inline__, __nodebug__, \
23 __target__("sse4.1,no-evex512"), __min_vector_width__(128)))
24#else
2520#define __DEFAULT_FN_ATTRS \
2621 __attribute__((__always_inline__, __nodebug__, __target__("sse4.1"), \
2722 __min_vector_width__(128)))
23
24#if defined(__cplusplus) && (__cplusplus >= 201103L)
25#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
26#else
27#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
2828#endif
2929
3030/* SSE4 Rounding macros. */
......@@ -439,9 +439,8 @@
439439/// position in the result. When a mask bit is 1, the corresponding 64-bit
440440/// element in operand \a __V2 is copied to the same position in the result.
441441/// \returns A 128-bit vector of [2 x double] containing the copied values.
442static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_blendv_pd(__m128d __V1,
443 __m128d __V2,
444 __m128d __M) {
442static __inline__ __m128d __DEFAULT_FN_ATTRS_CONSTEXPR
443_mm_blendv_pd(__m128d __V1, __m128d __V2, __m128d __M) {
445444 return (__m128d)__builtin_ia32_blendvpd((__v2df)__V1, (__v2df)__V2,
446445 (__v2df)__M);
447446}
......@@ -466,9 +465,8 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_blendv_pd(__m128d __V1,
466465/// position in the result. When a mask bit is 1, the corresponding 32-bit
467466/// element in operand \a __V2 is copied to the same position in the result.
468467/// \returns A 128-bit vector of [4 x float] containing the copied values.
469static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_blendv_ps(__m128 __V1,
470 __m128 __V2,
471 __m128 __M) {
468static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
469_mm_blendv_ps(__m128 __V1, __m128 __V2, __m128 __M) {
472470 return (__m128)__builtin_ia32_blendvps((__v4sf)__V1, (__v4sf)__V2,
473471 (__v4sf)__M);
474472}
......@@ -493,9 +491,8 @@ static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_blendv_ps(__m128 __V1,
493491/// position in the result. When a mask bit is 1, the corresponding 8-bit
494492/// element in operand \a __V2 is copied to the same position in the result.
495493/// \returns A 128-bit vector of [16 x i8] containing the copied values.
496static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_blendv_epi8(__m128i __V1,
497 __m128i __V2,
498 __m128i __M) {
494static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
495_mm_blendv_epi8(__m128i __V1, __m128i __V2, __m128i __M) {
499496 return (__m128i)__builtin_ia32_pblendvb128((__v16qi)__V1, (__v16qi)__V2,
500497 (__v16qi)__M);
501498}
......@@ -542,8 +539,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_blendv_epi8(__m128i __V1,
542539/// \param __V2
543540/// A 128-bit integer vector.
544541/// \returns A 128-bit integer vector containing the products of both operands.
545static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mullo_epi32(__m128i __V1,
546 __m128i __V2) {
542static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
543_mm_mullo_epi32(__m128i __V1, __m128i __V2) {
547544 return (__m128i)((__v4su)__V1 * (__v4su)__V2);
548545}
549546
......@@ -561,8 +558,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mullo_epi32(__m128i __V1,
561558/// A 128-bit vector of [4 x i32].
562559/// \returns A 128-bit vector of [2 x i64] containing the products of both
563560/// operands.
564static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_mul_epi32(__m128i __V1,
565 __m128i __V2) {
561static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
562_mm_mul_epi32(__m128i __V1, __m128i __V2) {
566563 return (__m128i)__builtin_ia32_pmuldq128((__v4si)__V1, (__v4si)__V2);
567564}
568565
......@@ -669,8 +666,8 @@ _mm_stream_load_si128(const void *__V) {
669666/// \param __V2
670667/// A 128-bit vector of [16 x i8]
671668/// \returns A 128-bit vector of [16 x i8] containing the lesser values.
672static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epi8(__m128i __V1,
673 __m128i __V2) {
669static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
670_mm_min_epi8(__m128i __V1, __m128i __V2) {
674671 return (__m128i)__builtin_elementwise_min((__v16qs)__V1, (__v16qs)__V2);
675672}
676673
......@@ -687,8 +684,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epi8(__m128i __V1,
687684/// \param __V2
688685/// A 128-bit vector of [16 x i8].
689686/// \returns A 128-bit vector of [16 x i8] containing the greater values.
690static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epi8(__m128i __V1,
691 __m128i __V2) {
687static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
688_mm_max_epi8(__m128i __V1, __m128i __V2) {
692689 return (__m128i)__builtin_elementwise_max((__v16qs)__V1, (__v16qs)__V2);
693690}
694691
......@@ -705,8 +702,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epi8(__m128i __V1,
705702/// \param __V2
706703/// A 128-bit vector of [8 x u16].
707704/// \returns A 128-bit vector of [8 x u16] containing the lesser values.
708static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epu16(__m128i __V1,
709 __m128i __V2) {
705static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
706_mm_min_epu16(__m128i __V1, __m128i __V2) {
710707 return (__m128i)__builtin_elementwise_min((__v8hu)__V1, (__v8hu)__V2);
711708}
712709
......@@ -723,8 +720,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epu16(__m128i __V1,
723720/// \param __V2
724721/// A 128-bit vector of [8 x u16].
725722/// \returns A 128-bit vector of [8 x u16] containing the greater values.
726static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epu16(__m128i __V1,
727 __m128i __V2) {
723static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
724_mm_max_epu16(__m128i __V1, __m128i __V2) {
728725 return (__m128i)__builtin_elementwise_max((__v8hu)__V1, (__v8hu)__V2);
729726}
730727
......@@ -741,8 +738,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epu16(__m128i __V1,
741738/// \param __V2
742739/// A 128-bit vector of [4 x i32].
743740/// \returns A 128-bit vector of [4 x i32] containing the lesser values.
744static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epi32(__m128i __V1,
745 __m128i __V2) {
741static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
742_mm_min_epi32(__m128i __V1, __m128i __V2) {
746743 return (__m128i)__builtin_elementwise_min((__v4si)__V1, (__v4si)__V2);
747744}
748745
......@@ -759,8 +756,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epi32(__m128i __V1,
759756/// \param __V2
760757/// A 128-bit vector of [4 x i32].
761758/// \returns A 128-bit vector of [4 x i32] containing the greater values.
762static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epi32(__m128i __V1,
763 __m128i __V2) {
759static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
760_mm_max_epi32(__m128i __V1, __m128i __V2) {
764761 return (__m128i)__builtin_elementwise_max((__v4si)__V1, (__v4si)__V2);
765762}
766763
......@@ -777,8 +774,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epi32(__m128i __V1,
777774/// \param __V2
778775/// A 128-bit vector of [4 x u32].
779776/// \returns A 128-bit vector of [4 x u32] containing the lesser values.
780static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epu32(__m128i __V1,
781 __m128i __V2) {
777static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
778_mm_min_epu32(__m128i __V1, __m128i __V2) {
782779 return (__m128i)__builtin_elementwise_min((__v4su)__V1, (__v4su)__V2);
783780}
784781
......@@ -795,8 +792,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_min_epu32(__m128i __V1,
795792/// \param __V2
796793/// A 128-bit vector of [4 x u32].
797794/// \returns A 128-bit vector of [4 x u32] containing the greater values.
798static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epu32(__m128i __V1,
799 __m128i __V2) {
795static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
796_mm_max_epu32(__m128i __V1, __m128i __V2) {
800797 return (__m128i)__builtin_elementwise_max((__v4su)__V1, (__v4su)__V2);
801798}
802799
......@@ -1096,8 +1093,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_max_epu32(__m128i __V1,
10961093/// \param __V
10971094/// A 128-bit integer vector selecting which bits to test in operand \a __M.
10981095/// \returns TRUE if the specified bits are all zeros; FALSE otherwise.
1099static __inline__ int __DEFAULT_FN_ATTRS _mm_testz_si128(__m128i __M,
1100 __m128i __V) {
1096static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
1097_mm_testz_si128(__m128i __M, __m128i __V) {
11011098 return __builtin_ia32_ptestz128((__v2di)__M, (__v2di)__V);
11021099}
11031100
......@@ -1113,8 +1110,8 @@ static __inline__ int __DEFAULT_FN_ATTRS _mm_testz_si128(__m128i __M,
11131110/// \param __V
11141111/// A 128-bit integer vector selecting which bits to test in operand \a __M.
11151112/// \returns TRUE if the specified bits are all ones; FALSE otherwise.
1116static __inline__ int __DEFAULT_FN_ATTRS _mm_testc_si128(__m128i __M,
1117 __m128i __V) {
1113static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
1114_mm_testc_si128(__m128i __M, __m128i __V) {
11181115 return __builtin_ia32_ptestc128((__v2di)__M, (__v2di)__V);
11191116}
11201117
......@@ -1131,8 +1128,8 @@ static __inline__ int __DEFAULT_FN_ATTRS _mm_testc_si128(__m128i __M,
11311128/// A 128-bit integer vector selecting which bits to test in operand \a __M.
11321129/// \returns TRUE if the specified bits are neither all zeros nor all ones;
11331130/// FALSE otherwise.
1134static __inline__ int __DEFAULT_FN_ATTRS _mm_testnzc_si128(__m128i __M,
1135 __m128i __V) {
1131static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR
1132_mm_testnzc_si128(__m128i __M, __m128i __V) {
11361133 return __builtin_ia32_ptestnzc128((__v2di)__M, (__v2di)__V);
11371134}
11381135
......@@ -1205,8 +1202,8 @@ static __inline__ int __DEFAULT_FN_ATTRS _mm_testnzc_si128(__m128i __M,
12051202/// \param __V2
12061203/// A 128-bit integer vector.
12071204/// \returns A 128-bit integer vector containing the comparison results.
1208static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi64(__m128i __V1,
1209 __m128i __V2) {
1205static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1206_mm_cmpeq_epi64(__m128i __V1, __m128i __V2) {
12101207 return (__m128i)((__v2di)__V1 == (__v2di)__V2);
12111208}
12121209
......@@ -1224,7 +1221,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpeq_epi64(__m128i __V1,
12241221/// A 128-bit vector of [16 x i8]. The lower eight 8-bit elements are
12251222/// sign-extended to 16-bit values.
12261223/// \returns A 128-bit vector of [8 x i16] containing the sign-extended values.
1227static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi8_epi16(__m128i __V) {
1224static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1225_mm_cvtepi8_epi16(__m128i __V) {
12281226 /* This function always performs a signed extension, but __v16qi is a char
12291227 which may be signed or unsigned, so use __v16qs. */
12301228 return (__m128i) __builtin_convertvector(
......@@ -1246,7 +1244,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi8_epi16(__m128i __V) {
12461244/// A 128-bit vector of [16 x i8]. The lower four 8-bit elements are
12471245/// sign-extended to 32-bit values.
12481246/// \returns A 128-bit vector of [4 x i32] containing the sign-extended values.
1249static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi8_epi32(__m128i __V) {
1247static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1248_mm_cvtepi8_epi32(__m128i __V) {
12501249 /* This function always performs a signed extension, but __v16qi is a char
12511250 which may be signed or unsigned, so use __v16qs. */
12521251 return (__m128i) __builtin_convertvector(
......@@ -1266,7 +1265,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi8_epi32(__m128i __V) {
12661265/// A 128-bit vector of [16 x i8]. The lower two 8-bit elements are
12671266/// sign-extended to 64-bit values.
12681267/// \returns A 128-bit vector of [2 x i64] containing the sign-extended values.
1269static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi8_epi64(__m128i __V) {
1268static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1269_mm_cvtepi8_epi64(__m128i __V) {
12701270 /* This function always performs a signed extension, but __v16qi is a char
12711271 which may be signed or unsigned, so use __v16qs. */
12721272 return (__m128i) __builtin_convertvector(
......@@ -1286,7 +1286,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi8_epi64(__m128i __V) {
12861286/// A 128-bit vector of [8 x i16]. The lower four 16-bit elements are
12871287/// sign-extended to 32-bit values.
12881288/// \returns A 128-bit vector of [4 x i32] containing the sign-extended values.
1289static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi16_epi32(__m128i __V) {
1289static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1290_mm_cvtepi16_epi32(__m128i __V) {
12901291 return (__m128i) __builtin_convertvector(
12911292 __builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1, 2, 3), __v4si);
12921293}
......@@ -1304,7 +1305,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi16_epi32(__m128i __V) {
13041305/// A 128-bit vector of [8 x i16]. The lower two 16-bit elements are
13051306/// sign-extended to 64-bit values.
13061307/// \returns A 128-bit vector of [2 x i64] containing the sign-extended values.
1307static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi16_epi64(__m128i __V) {
1308static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1309_mm_cvtepi16_epi64(__m128i __V) {
13081310 return (__m128i) __builtin_convertvector(
13091311 __builtin_shufflevector((__v8hi)__V, (__v8hi)__V, 0, 1), __v2di);
13101312}
......@@ -1322,7 +1324,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi16_epi64(__m128i __V) {
13221324/// A 128-bit vector of [4 x i32]. The lower two 32-bit elements are
13231325/// sign-extended to 64-bit values.
13241326/// \returns A 128-bit vector of [2 x i64] containing the sign-extended values.
1325static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi32_epi64(__m128i __V) {
1327static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1328_mm_cvtepi32_epi64(__m128i __V) {
13261329 return (__m128i) __builtin_convertvector(
13271330 __builtin_shufflevector((__v4si)__V, (__v4si)__V, 0, 1), __v2di);
13281331}
......@@ -1341,7 +1344,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepi32_epi64(__m128i __V) {
13411344/// A 128-bit vector of [16 x i8]. The lower eight 8-bit elements are
13421345/// zero-extended to 16-bit values.
13431346/// \returns A 128-bit vector of [8 x i16] containing the zero-extended values.
1344static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu8_epi16(__m128i __V) {
1347static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1348_mm_cvtepu8_epi16(__m128i __V) {
13451349 return (__m128i) __builtin_convertvector(
13461350 __builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3, 4, 5, 6,
13471351 7),
......@@ -1361,7 +1365,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu8_epi16(__m128i __V) {
13611365/// A 128-bit vector of [16 x i8]. The lower four 8-bit elements are
13621366/// zero-extended to 32-bit values.
13631367/// \returns A 128-bit vector of [4 x i32] containing the zero-extended values.
1364static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu8_epi32(__m128i __V) {
1368static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1369_mm_cvtepu8_epi32(__m128i __V) {
13651370 return (__m128i) __builtin_convertvector(
13661371 __builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1, 2, 3), __v4si);
13671372}
......@@ -1379,7 +1384,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu8_epi32(__m128i __V) {
13791384/// A 128-bit vector of [16 x i8]. The lower two 8-bit elements are
13801385/// zero-extended to 64-bit values.
13811386/// \returns A 128-bit vector of [2 x i64] containing the zero-extended values.
1382static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu8_epi64(__m128i __V) {
1387static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1388_mm_cvtepu8_epi64(__m128i __V) {
13831389 return (__m128i) __builtin_convertvector(
13841390 __builtin_shufflevector((__v16qu)__V, (__v16qu)__V, 0, 1), __v2di);
13851391}
......@@ -1397,7 +1403,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu8_epi64(__m128i __V) {
13971403/// A 128-bit vector of [8 x i16]. The lower four 16-bit elements are
13981404/// zero-extended to 32-bit values.
13991405/// \returns A 128-bit vector of [4 x i32] containing the zero-extended values.
1400static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu16_epi32(__m128i __V) {
1406static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1407_mm_cvtepu16_epi32(__m128i __V) {
14011408 return (__m128i) __builtin_convertvector(
14021409 __builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1, 2, 3), __v4si);
14031410}
......@@ -1415,7 +1422,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu16_epi32(__m128i __V) {
14151422/// A 128-bit vector of [8 x i16]. The lower two 16-bit elements are
14161423/// zero-extended to 64-bit values.
14171424/// \returns A 128-bit vector of [2 x i64] containing the zero-extended values.
1418static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu16_epi64(__m128i __V) {
1425static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1426_mm_cvtepu16_epi64(__m128i __V) {
14191427 return (__m128i) __builtin_convertvector(
14201428 __builtin_shufflevector((__v8hu)__V, (__v8hu)__V, 0, 1), __v2di);
14211429}
......@@ -1433,7 +1441,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu16_epi64(__m128i __V) {
14331441/// A 128-bit vector of [4 x i32]. The lower two 32-bit elements are
14341442/// zero-extended to 64-bit values.
14351443/// \returns A 128-bit vector of [2 x i64] containing the zero-extended values.
1436static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu32_epi64(__m128i __V) {
1444static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1445_mm_cvtepu32_epi64(__m128i __V) {
14371446 return (__m128i) __builtin_convertvector(
14381447 __builtin_shufflevector((__v4su)__V, (__v4su)__V, 0, 1), __v2di);
14391448}
......@@ -1457,8 +1466,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cvtepu32_epi64(__m128i __V) {
14571466/// A 128-bit vector of [4 x i32]. The converted [4 x i16] values are
14581467/// written to the higher 64 bits of the result.
14591468/// \returns A 128-bit vector of [8 x i16] containing the converted values.
1460static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packus_epi32(__m128i __V1,
1461 __m128i __V2) {
1469static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1470_mm_packus_epi32(__m128i __V1, __m128i __V2) {
14621471 return (__m128i)__builtin_ia32_packusdw128((__v4si)__V1, (__v4si)__V2);
14631472}
14641473
......@@ -1515,7 +1524,8 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_packus_epi32(__m128i __V1,
15151524/// \returns A 128-bit value where bits [15:0] contain the minimum value found
15161525/// in parameter \a __V, bits [18:16] contain the index of the minimum value
15171526/// and the remaining bits are set to 0.
1518static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_minpos_epu16(__m128i __V) {
1527static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
1528_mm_minpos_epu16(__m128i __V) {
15191529 return (__m128i)__builtin_ia32_phminposuw128((__v8hi)__V);
15201530}
15211531
......@@ -1525,9 +1535,16 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_minpos_epu16(__m128i __V) {
15251535 so we'll do the same. */
15261536
15271537#undef __DEFAULT_FN_ATTRS
1538#undef __DEFAULT_FN_ATTRS_CONSTEXPR
15281539#define __DEFAULT_FN_ATTRS \
15291540 __attribute__((__always_inline__, __nodebug__, __target__("sse4.2")))
15301541
1542#if defined(__cplusplus) && (__cplusplus >= 201103L)
1543#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
1544#else
1545#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
1546#endif
1547
15311548/* These specify the type of data that we're comparing. */
15321549#define _SIDD_UBYTE_OPS 0x00
15331550#define _SIDD_UWORD_OPS 0x01
......@@ -2320,12 +2337,13 @@ static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_minpos_epu16(__m128i __V) {
23202337/// \param __V2
23212338/// A 128-bit integer vector.
23222339/// \returns A 128-bit integer vector containing the comparison results.
2323static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_cmpgt_epi64(__m128i __V1,
2324 __m128i __V2) {
2340static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
2341_mm_cmpgt_epi64(__m128i __V1, __m128i __V2) {
23252342 return (__m128i)((__v2di)__V1 > (__v2di)__V2);
23262343}
23272344
23282345#undef __DEFAULT_FN_ATTRS
2346#undef __DEFAULT_FN_ATTRS_CONSTEXPR
23292347
23302348#include <popcntintrin.h>
23312349
lib/include/spirvintrin.h created+194
......@@ -0,0 +1,194 @@
1//===-- spirvintrin.h - SPIR-V intrinsic functions ------------------------===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef __SPIRVINTRIN_H
10#define __SPIRVINTRIN_H
11
12#ifndef __SPIRV__
13#error "This file is intended for SPIR-V targets or offloading to SPIR-V"
14#endif
15
16#ifndef __GPUINTRIN_H
17#error "Never use <spirvintrin.h> directly; include <gpuintrin.h> instead"
18#endif
19
20_Pragma("omp begin declare target device_type(nohost)");
21_Pragma("omp begin declare variant match(device = {arch(spirv64)})");
22
23// Type aliases to the address spaces used by the SPIR-V backend.
24#define __gpu_private __attribute__((address_space(0)))
25#define __gpu_constant __attribute__((address_space(2)))
26#define __gpu_local __attribute__((address_space(3)))
27#define __gpu_global __attribute__((address_space(1)))
28#define __gpu_generic __attribute__((address_space(4)))
29
30// Attribute to declare a function as a kernel.
31#define __gpu_kernel __attribute__((device_kernel, visibility("protected")))
32
33// Returns the number of workgroups in the 'x' dimension of the grid.
34_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_x(void) {
35 return __builtin_spirv_num_workgroups(0);
36}
37
38// Returns the number of workgroups in the 'y' dimension of the grid.
39_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_y(void) {
40 return __builtin_spirv_num_workgroups(1);
41}
42
43// Returns the number of workgroups in the 'z' dimension of the grid.
44_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_blocks_z(void) {
45 return __builtin_spirv_num_workgroups(2);
46}
47
48// Returns the 'x' dimension of the current workgroup's id.
49_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_x(void) {
50 return __builtin_spirv_workgroup_id(0);
51}
52
53// Returns the 'y' dimension of the current workgroup's id.
54_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_y(void) {
55 return __builtin_spirv_workgroup_id(1);
56}
57
58// Returns the 'z' dimension of the current workgroup's id.
59_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_block_id_z(void) {
60 return __builtin_spirv_workgroup_id(2);
61}
62
63// Returns the number of workitems in the 'x' dimension.
64_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_x(void) {
65 return __builtin_spirv_workgroup_size(0);
66}
67
68// Returns the number of workitems in the 'y' dimension.
69_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_y(void) {
70 return __builtin_spirv_workgroup_size(1);
71}
72
73// Returns the number of workitems in the 'z' dimension.
74_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_threads_z(void) {
75 return __builtin_spirv_workgroup_size(2);
76}
77
78// Returns the 'x' dimension id of the workitem in the current workgroup.
79_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_x(void) {
80 return __builtin_spirv_local_invocation_id(0);
81}
82
83// Returns the 'y' dimension id of the workitem in the current workgroup.
84_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_y(void) {
85 return __builtin_spirv_local_invocation_id(1);
86}
87
88// Returns the 'z' dimension id of the workitem in the current workgroup.
89_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_thread_id_z(void) {
90 return __builtin_spirv_local_invocation_id(2);
91}
92
93// Returns the size of an wavefront, either 32 or 64 depending on hardware
94// and compilation options.
95_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_num_lanes(void) {
96 return __builtin_spirv_subgroup_size();
97}
98
99// Returns the id of the thread inside of an wavefront executing together.
100_DEFAULT_FN_ATTRS static __inline__ uint32_t __gpu_lane_id(void) {
101 return __builtin_spirv_subgroup_local_invocation_id();
102}
103
104// Returns the bit-mask of active threads in the current wavefront. This
105// implementation is incorrect if the target uses more than 64 lanes.
106_DEFAULT_FN_ATTRS static __inline__ uint64_t __gpu_lane_mask(void) {
107 uint32_t [[clang::ext_vector_type(4)]] __mask =
108 __builtin_spirv_subgroup_ballot(1);
109 return __builtin_bit_cast(uint64_t,
110 __builtin_shufflevector(__mask, __mask, 0, 1));
111}
112
113// Copies the value from the first active thread in the wavefront to the rest.
114_DEFAULT_FN_ATTRS static __inline__ uint32_t
115__gpu_read_first_lane_u32(uint64_t __lane_mask, uint32_t __x) {
116 return __builtin_spirv_subgroup_shuffle(__x,
117 __builtin_ctzg(__gpu_lane_mask()));
118}
119
120// Returns a bitmask of threads in the current lane for which \p x is true. This
121// implementation is incorrect if the target uses more than 64 lanes.
122_DEFAULT_FN_ATTRS static __inline__ uint64_t __gpu_ballot(uint64_t __lane_mask,
123 bool __x) {
124 // The lane_mask & gives the nvptx semantics when lane_mask is a subset of
125 // the active threads.
126 uint32_t [[clang::ext_vector_type(4)]] __mask =
127 __builtin_spirv_subgroup_ballot(__x);
128 return __lane_mask & __builtin_bit_cast(uint64_t, __builtin_shufflevector(
129 __mask, __mask, 0, 1));
130}
131
132// Waits for all the threads in the block to converge and issues a fence.
133_DEFAULT_FN_ATTRS static __inline__ void __gpu_sync_threads(void) {
134 __builtin_spirv_group_barrier();
135}
136
137// Wait for all threads in the wavefront to converge, this is a noop on SPIR-V.
138_DEFAULT_FN_ATTRS static __inline__ void __gpu_sync_lane(uint64_t __lane_mask) {
139}
140
141// Shuffles the the lanes inside the wavefront according to the given index.
142_DEFAULT_FN_ATTRS static __inline__ uint32_t
143__gpu_shuffle_idx_u32(uint64_t __lane_mask, uint32_t __idx, uint32_t __x,
144 uint32_t __width) {
145 uint32_t __lane = __idx + (__gpu_lane_id() & ~(__width - 1));
146 return __builtin_spirv_subgroup_shuffle(__x, __lane);
147}
148
149// Returns a bitmask marking all lanes that have the same value of __x.
150_DEFAULT_FN_ATTRS static __inline__ uint64_t
151__gpu_match_any_u32(uint64_t __lane_mask, uint32_t __x) {
152 return __gpu_match_any_u32_impl(__lane_mask, __x);
153}
154
155// Returns a bitmask marking all lanes that have the same value of __x.
156_DEFAULT_FN_ATTRS static __inline__ uint64_t
157__gpu_match_any_u64(uint64_t __lane_mask, uint64_t __x) {
158 return __gpu_match_any_u64_impl(__lane_mask, __x);
159}
160
161// Returns the current lane mask if every lane contains __x.
162_DEFAULT_FN_ATTRS static __inline__ uint64_t
163__gpu_match_all_u32(uint64_t __lane_mask, uint32_t __x) {
164 return __gpu_match_all_u32_impl(__lane_mask, __x);
165}
166
167// Returns the current lane mask if every lane contains __x.
168_DEFAULT_FN_ATTRS static __inline__ uint64_t
169__gpu_match_all_u64(uint64_t __lane_mask, uint64_t __x) {
170 return __gpu_match_all_u64_impl(__lane_mask, __x);
171}
172
173// SPIR-V does not expose this, always return false.
174_DEFAULT_FN_ATTRS static __inline__ bool __gpu_is_ptr_local(void *ptr) {
175 return 0;
176}
177
178// SPIR-V does not expose this, always return false.
179_DEFAULT_FN_ATTRS static __inline__ bool __gpu_is_ptr_private(void *ptr) {
180 return 0;
181}
182
183// SPIR-V only supports 'OpTerminateInvocation' in fragment shaders.
184_DEFAULT_FN_ATTRS [[noreturn]] static __inline__ void __gpu_exit(void) {
185 __builtin_trap();
186}
187
188// This is a no-op as SPIR-V does not support it.
189_DEFAULT_FN_ATTRS static __inline__ void __gpu_thread_suspend(void) {}
190
191_Pragma("omp end declare variant");
192_Pragma("omp end declare target");
193
194#endif // __SPIRVINTRIN_H
lib/include/stddefer.h created+19
......@@ -0,0 +1,19 @@
1/*===---- stddefer.h - Standard header for 'defer' -------------------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===-----------------------------------------------------------------------===
8 */
9
10#ifndef __CLANG_STDDEFER_H
11#define __CLANG_STDDEFER_H
12
13/* Provide 'defer' if '_Defer' is supported. */
14#ifdef __STDC_DEFER_TS25755__
15#define __STDC_VERSION_STDDEFER_H__ 202602L
16#define defer _Defer
17#endif
18
19#endif /* __CLANG_STDDEFER_H */
lib/include/tmmintrin.h+116-147
......@@ -17,21 +17,21 @@
1717#include <pmmintrin.h>
1818
1919/* Define the default attributes for the functions in this file. */
20#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
21#define __DEFAULT_FN_ATTRS \
22 __attribute__((__always_inline__, __nodebug__, \
23 __target__("ssse3,no-evex512"), __min_vector_width__(128)))
24#else
2520#define __DEFAULT_FN_ATTRS \
2621 __attribute__((__always_inline__, __nodebug__, __target__("ssse3"), \
2722 __min_vector_width__(128)))
28#endif
2923
3024#define __trunc64(x) \
3125 (__m64) __builtin_shufflevector((__v2di)(x), __extension__(__v2di){}, 0)
32#define __anyext128(x) \
26#define __zext128(x) \
3327 (__m128i) __builtin_shufflevector((__v2si)(x), __extension__(__v2si){}, 0, \
34 1, -1, -1)
28 1, 2, 3)
29
30#if defined(__cplusplus) && (__cplusplus >= 201103L)
31#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
32#else
33#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
34#endif
3535
3636/// Computes the absolute value of each of the packed 8-bit signed
3737/// integers in the source operand and stores the 8-bit unsigned integer
......@@ -45,9 +45,7 @@
4545/// A 64-bit vector of [8 x i8].
4646/// \returns A 64-bit integer vector containing the absolute values of the
4747/// elements in the operand.
48static __inline__ __m64 __DEFAULT_FN_ATTRS
49_mm_abs_pi8(__m64 __a)
50{
48static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_abs_pi8(__m64 __a) {
5149 return (__m64)__builtin_elementwise_abs((__v8qs)__a);
5250}
5351
......@@ -63,10 +61,9 @@ _mm_abs_pi8(__m64 __a)
6361/// A 128-bit vector of [16 x i8].
6462/// \returns A 128-bit integer vector containing the absolute values of the
6563/// elements in the operand.
66static __inline__ __m128i __DEFAULT_FN_ATTRS
67_mm_abs_epi8(__m128i __a)
68{
69 return (__m128i)__builtin_elementwise_abs((__v16qs)__a);
64static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
65_mm_abs_epi8(__m128i __a) {
66 return (__m128i)__builtin_elementwise_abs((__v16qs)__a);
7067}
7168
7269/// Computes the absolute value of each of the packed 16-bit signed
......@@ -81,10 +78,8 @@ _mm_abs_epi8(__m128i __a)
8178/// A 64-bit vector of [4 x i16].
8279/// \returns A 64-bit integer vector containing the absolute values of the
8380/// elements in the operand.
84static __inline__ __m64 __DEFAULT_FN_ATTRS
85_mm_abs_pi16(__m64 __a)
86{
87 return (__m64)__builtin_elementwise_abs((__v4hi)__a);
81static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_abs_pi16(__m64 __a) {
82 return (__m64)__builtin_elementwise_abs((__v4hi)__a);
8883}
8984
9085/// Computes the absolute value of each of the packed 16-bit signed
......@@ -99,10 +94,9 @@ _mm_abs_pi16(__m64 __a)
9994/// A 128-bit vector of [8 x i16].
10095/// \returns A 128-bit integer vector containing the absolute values of the
10196/// elements in the operand.
102static __inline__ __m128i __DEFAULT_FN_ATTRS
103_mm_abs_epi16(__m128i __a)
104{
105 return (__m128i)__builtin_elementwise_abs((__v8hi)__a);
97static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
98_mm_abs_epi16(__m128i __a) {
99 return (__m128i)__builtin_elementwise_abs((__v8hi)__a);
106100}
107101
108102/// Computes the absolute value of each of the packed 32-bit signed
......@@ -117,10 +111,8 @@ _mm_abs_epi16(__m128i __a)
117111/// A 64-bit vector of [2 x i32].
118112/// \returns A 64-bit integer vector containing the absolute values of the
119113/// elements in the operand.
120static __inline__ __m64 __DEFAULT_FN_ATTRS
121_mm_abs_pi32(__m64 __a)
122{
123 return (__m64)__builtin_elementwise_abs((__v2si)__a);
114static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_abs_pi32(__m64 __a) {
115 return (__m64)__builtin_elementwise_abs((__v2si)__a);
124116}
125117
126118/// Computes the absolute value of each of the packed 32-bit signed
......@@ -135,10 +127,9 @@ _mm_abs_pi32(__m64 __a)
135127/// A 128-bit vector of [4 x i32].
136128/// \returns A 128-bit integer vector containing the absolute values of the
137129/// elements in the operand.
138static __inline__ __m128i __DEFAULT_FN_ATTRS
139_mm_abs_epi32(__m128i __a)
140{
141 return (__m128i)__builtin_elementwise_abs((__v4si)__a);
130static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
131_mm_abs_epi32(__m128i __a) {
132 return (__m128i)__builtin_elementwise_abs((__v4si)__a);
142133}
143134
144135/// Concatenates the two 128-bit integer vector operands, and
......@@ -184,11 +175,12 @@ _mm_abs_epi32(__m128i __a)
184175/// An immediate operand specifying how many bytes to right-shift the result.
185176/// \returns A 64-bit integer vector containing the concatenated right-shifted
186177/// value.
187#define _mm_alignr_pi8(a, b, n) \
188 ((__m64)__builtin_shufflevector( \
189 __builtin_ia32_psrldqi128_byteshift( \
190 __builtin_shufflevector((__v1di)(a), (__v1di)(b), 1, 0), \
191 (n)), __extension__ (__v2di){}, 0))
178#define _mm_alignr_pi8(a, b, n) \
179 ((__m64)__builtin_shufflevector( \
180 (__v2di)__builtin_ia32_psrldqi128_byteshift( \
181 (__v16qi)__builtin_shufflevector((__v1di)(a), (__v1di)(b), 1, 0), \
182 (n)), \
183 __extension__(__v2di){}, 0))
192184
193185/// Horizontally adds the adjacent pairs of values contained in 2 packed
194186/// 128-bit vectors of [8 x i16].
......@@ -207,10 +199,9 @@ _mm_abs_epi32(__m128i __a)
207199/// destination.
208200/// \returns A 128-bit vector of [8 x i16] containing the horizontal sums of
209201/// both operands.
210static __inline__ __m128i __DEFAULT_FN_ATTRS
211_mm_hadd_epi16(__m128i __a, __m128i __b)
212{
213 return (__m128i)__builtin_ia32_phaddw128((__v8hi)__a, (__v8hi)__b);
202static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
203_mm_hadd_epi16(__m128i __a, __m128i __b) {
204 return (__m128i)__builtin_ia32_phaddw128((__v8hi)__a, (__v8hi)__b);
214205}
215206
216207/// Horizontally adds the adjacent pairs of values contained in 2 packed
......@@ -230,10 +221,9 @@ _mm_hadd_epi16(__m128i __a, __m128i __b)
230221/// destination.
231222/// \returns A 128-bit vector of [4 x i32] containing the horizontal sums of
232223/// both operands.
233static __inline__ __m128i __DEFAULT_FN_ATTRS
234_mm_hadd_epi32(__m128i __a, __m128i __b)
235{
236 return (__m128i)__builtin_ia32_phaddd128((__v4si)__a, (__v4si)__b);
224static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
225_mm_hadd_epi32(__m128i __a, __m128i __b) {
226 return (__m128i)__builtin_ia32_phaddd128((__v4si)__a, (__v4si)__b);
237227}
238228
239229/// Horizontally adds the adjacent pairs of values contained in 2 packed
......@@ -253,11 +243,10 @@ _mm_hadd_epi32(__m128i __a, __m128i __b)
253243/// destination.
254244/// \returns A 64-bit vector of [4 x i16] containing the horizontal sums of both
255245/// operands.
256static __inline__ __m64 __DEFAULT_FN_ATTRS
257_mm_hadd_pi16(__m64 __a, __m64 __b)
258{
259 return __trunc64(__builtin_ia32_phaddw128(
260 (__v8hi)__builtin_shufflevector(__a, __b, 0, 1), (__v8hi){}));
246static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_hadd_pi16(__m64 __a,
247 __m64 __b) {
248 return __trunc64(__builtin_ia32_phaddw128(
249 (__v8hi)__builtin_shufflevector(__a, __b, 0, 1), (__v8hi){}));
261250}
262251
263252/// Horizontally adds the adjacent pairs of values contained in 2 packed
......@@ -277,11 +266,10 @@ _mm_hadd_pi16(__m64 __a, __m64 __b)
277266/// destination.
278267/// \returns A 64-bit vector of [2 x i32] containing the horizontal sums of both
279268/// operands.
280static __inline__ __m64 __DEFAULT_FN_ATTRS
281_mm_hadd_pi32(__m64 __a, __m64 __b)
282{
283 return __trunc64(__builtin_ia32_phaddd128(
284 (__v4si)__builtin_shufflevector(__a, __b, 0, 1), (__v4si){}));
269static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_hadd_pi32(__m64 __a,
270 __m64 __b) {
271 return __trunc64(__builtin_ia32_phaddd128(
272 (__v4si)__builtin_shufflevector(__a, __b, 0, 1), (__v4si){}));
285273}
286274
287275/// Horizontally adds, with saturation, the adjacent pairs of values contained
......@@ -304,10 +292,9 @@ _mm_hadd_pi32(__m64 __a, __m64 __b)
304292/// destination.
305293/// \returns A 128-bit vector of [8 x i16] containing the horizontal saturated
306294/// sums of both operands.
307static __inline__ __m128i __DEFAULT_FN_ATTRS
308_mm_hadds_epi16(__m128i __a, __m128i __b)
309{
310 return (__m128i)__builtin_ia32_phaddsw128((__v8hi)__a, (__v8hi)__b);
295static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
296_mm_hadds_epi16(__m128i __a, __m128i __b) {
297 return (__m128i)__builtin_ia32_phaddsw128((__v8hi)__a, (__v8hi)__b);
311298}
312299
313300/// Horizontally adds, with saturation, the adjacent pairs of values contained
......@@ -330,11 +317,10 @@ _mm_hadds_epi16(__m128i __a, __m128i __b)
330317/// destination.
331318/// \returns A 64-bit vector of [4 x i16] containing the horizontal saturated
332319/// sums of both operands.
333static __inline__ __m64 __DEFAULT_FN_ATTRS
334_mm_hadds_pi16(__m64 __a, __m64 __b)
335{
336 return __trunc64(__builtin_ia32_phaddsw128(
337 (__v8hi)__builtin_shufflevector(__a, __b, 0, 1), (__v8hi){}));
320static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_hadds_pi16(__m64 __a,
321 __m64 __b) {
322 return __trunc64(__builtin_ia32_phaddsw128(
323 (__v8hi)__builtin_shufflevector(__a, __b, 0, 1), (__v8hi){}));
338324}
339325
340326/// Horizontally subtracts the adjacent pairs of values contained in 2
......@@ -354,10 +340,9 @@ _mm_hadds_pi16(__m64 __a, __m64 __b)
354340/// the destination.
355341/// \returns A 128-bit vector of [8 x i16] containing the horizontal differences
356342/// of both operands.
357static __inline__ __m128i __DEFAULT_FN_ATTRS
358_mm_hsub_epi16(__m128i __a, __m128i __b)
359{
360 return (__m128i)__builtin_ia32_phsubw128((__v8hi)__a, (__v8hi)__b);
343static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
344_mm_hsub_epi16(__m128i __a, __m128i __b) {
345 return (__m128i)__builtin_ia32_phsubw128((__v8hi)__a, (__v8hi)__b);
361346}
362347
363348/// Horizontally subtracts the adjacent pairs of values contained in 2
......@@ -377,10 +362,9 @@ _mm_hsub_epi16(__m128i __a, __m128i __b)
377362/// the destination.
378363/// \returns A 128-bit vector of [4 x i32] containing the horizontal differences
379364/// of both operands.
380static __inline__ __m128i __DEFAULT_FN_ATTRS
381_mm_hsub_epi32(__m128i __a, __m128i __b)
382{
383 return (__m128i)__builtin_ia32_phsubd128((__v4si)__a, (__v4si)__b);
365static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
366_mm_hsub_epi32(__m128i __a, __m128i __b) {
367 return (__m128i)__builtin_ia32_phsubd128((__v4si)__a, (__v4si)__b);
384368}
385369
386370/// Horizontally subtracts the adjacent pairs of values contained in 2
......@@ -400,11 +384,10 @@ _mm_hsub_epi32(__m128i __a, __m128i __b)
400384/// the destination.
401385/// \returns A 64-bit vector of [4 x i16] containing the horizontal differences
402386/// of both operands.
403static __inline__ __m64 __DEFAULT_FN_ATTRS
404_mm_hsub_pi16(__m64 __a, __m64 __b)
405{
406 return __trunc64(__builtin_ia32_phsubw128(
407 (__v8hi)__builtin_shufflevector(__a, __b, 0, 1), (__v8hi){}));
387static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_hsub_pi16(__m64 __a,
388 __m64 __b) {
389 return __trunc64(__builtin_ia32_phsubw128(
390 (__v8hi)__builtin_shufflevector(__a, __b, 0, 1), (__v8hi){}));
408391}
409392
410393/// Horizontally subtracts the adjacent pairs of values contained in 2
......@@ -424,11 +407,10 @@ _mm_hsub_pi16(__m64 __a, __m64 __b)
424407/// the destination.
425408/// \returns A 64-bit vector of [2 x i32] containing the horizontal differences
426409/// of both operands.
427static __inline__ __m64 __DEFAULT_FN_ATTRS
428_mm_hsub_pi32(__m64 __a, __m64 __b)
429{
430 return __trunc64(__builtin_ia32_phsubd128(
431 (__v4si)__builtin_shufflevector(__a, __b, 0, 1), (__v4si){}));
410static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_hsub_pi32(__m64 __a,
411 __m64 __b) {
412 return __trunc64(__builtin_ia32_phsubd128(
413 (__v4si)__builtin_shufflevector(__a, __b, 0, 1), (__v4si){}));
432414}
433415
434416/// Horizontally subtracts, with saturation, the adjacent pairs of values
......@@ -451,10 +433,9 @@ _mm_hsub_pi32(__m64 __a, __m64 __b)
451433/// the destination.
452434/// \returns A 128-bit vector of [8 x i16] containing the horizontal saturated
453435/// differences of both operands.
454static __inline__ __m128i __DEFAULT_FN_ATTRS
455_mm_hsubs_epi16(__m128i __a, __m128i __b)
456{
457 return (__m128i)__builtin_ia32_phsubsw128((__v8hi)__a, (__v8hi)__b);
436static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
437_mm_hsubs_epi16(__m128i __a, __m128i __b) {
438 return (__m128i)__builtin_ia32_phsubsw128((__v8hi)__a, (__v8hi)__b);
458439}
459440
460441/// Horizontally subtracts, with saturation, the adjacent pairs of values
......@@ -477,11 +458,10 @@ _mm_hsubs_epi16(__m128i __a, __m128i __b)
477458/// the destination.
478459/// \returns A 64-bit vector of [4 x i16] containing the horizontal saturated
479460/// differences of both operands.
480static __inline__ __m64 __DEFAULT_FN_ATTRS
481_mm_hsubs_pi16(__m64 __a, __m64 __b)
482{
483 return __trunc64(__builtin_ia32_phsubsw128(
484 (__v8hi)__builtin_shufflevector(__a, __b, 0, 1), (__v8hi){}));
461static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_hsubs_pi16(__m64 __a,
462 __m64 __b) {
463 return __trunc64(__builtin_ia32_phsubsw128(
464 (__v8hi)__builtin_shufflevector(__a, __b, 0, 1), (__v8hi){}));
485465}
486466
487467/// Multiplies corresponding pairs of packed 8-bit unsigned integer
......@@ -512,10 +492,9 @@ _mm_hsubs_pi16(__m64 __a, __m64 __b)
512492/// \a R5 := (\a __a10 * \a __b10) + (\a __a11 * \a __b11) \n
513493/// \a R6 := (\a __a12 * \a __b12) + (\a __a13 * \a __b13) \n
514494/// \a R7 := (\a __a14 * \a __b14) + (\a __a15 * \a __b15)
515static __inline__ __m128i __DEFAULT_FN_ATTRS
516_mm_maddubs_epi16(__m128i __a, __m128i __b)
517{
518 return (__m128i)__builtin_ia32_pmaddubsw128((__v16qi)__a, (__v16qi)__b);
495static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
496_mm_maddubs_epi16(__m128i __a, __m128i __b) {
497 return (__m128i)__builtin_ia32_pmaddubsw128((__v16qi)__a, (__v16qi)__b);
519498}
520499
521500/// Multiplies corresponding pairs of packed 8-bit unsigned integer
......@@ -542,11 +521,10 @@ _mm_maddubs_epi16(__m128i __a, __m128i __b)
542521/// \a R1 := (\a __a2 * \a __b2) + (\a __a3 * \a __b3) \n
543522/// \a R2 := (\a __a4 * \a __b4) + (\a __a5 * \a __b5) \n
544523/// \a R3 := (\a __a6 * \a __b6) + (\a __a7 * \a __b7)
545static __inline__ __m64 __DEFAULT_FN_ATTRS
546_mm_maddubs_pi16(__m64 __a, __m64 __b)
547{
548 return __trunc64(__builtin_ia32_pmaddubsw128((__v16qi)__anyext128(__a),
549 (__v16qi)__anyext128(__b)));
524static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR
525_mm_maddubs_pi16(__m64 __a, __m64 __b) {
526 return __trunc64(__builtin_ia32_pmaddubsw128((__v16qi)__zext128(__a),
527 (__v16qi)__zext128(__b)));
550528}
551529
552530/// Multiplies packed 16-bit signed integer values, truncates the 32-bit
......@@ -563,10 +541,9 @@ _mm_maddubs_pi16(__m64 __a, __m64 __b)
563541/// A 128-bit vector of [8 x i16] containing one of the source operands.
564542/// \returns A 128-bit vector of [8 x i16] containing the rounded and scaled
565543/// products of both operands.
566static __inline__ __m128i __DEFAULT_FN_ATTRS
567_mm_mulhrs_epi16(__m128i __a, __m128i __b)
568{
569 return (__m128i)__builtin_ia32_pmulhrsw128((__v8hi)__a, (__v8hi)__b);
544static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
545_mm_mulhrs_epi16(__m128i __a, __m128i __b) {
546 return (__m128i)__builtin_ia32_pmulhrsw128((__v8hi)__a, (__v8hi)__b);
570547}
571548
572549/// Multiplies packed 16-bit signed integer values, truncates the 32-bit
......@@ -583,11 +560,10 @@ _mm_mulhrs_epi16(__m128i __a, __m128i __b)
583560/// A 64-bit vector of [4 x i16] containing one of the source operands.
584561/// \returns A 64-bit vector of [4 x i16] containing the rounded and scaled
585562/// products of both operands.
586static __inline__ __m64 __DEFAULT_FN_ATTRS
587_mm_mulhrs_pi16(__m64 __a, __m64 __b)
588{
589 return __trunc64(__builtin_ia32_pmulhrsw128((__v8hi)__anyext128(__a),
590 (__v8hi)__anyext128(__b)));
563static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR
564_mm_mulhrs_pi16(__m64 __a, __m64 __b) {
565 return __trunc64(__builtin_ia32_pmulhrsw128((__v8hi)__zext128(__a),
566 (__v8hi)__zext128(__b)));
591567}
592568
593569/// Copies the 8-bit integers from a 128-bit integer vector to the
......@@ -610,10 +586,9 @@ _mm_mulhrs_pi16(__m64 __a, __m64 __b)
610586/// Bits [6:4] Reserved. \n
611587/// Bits [3:0] select the source byte to be copied.
612588/// \returns A 128-bit integer vector containing the copied or cleared values.
613static __inline__ __m128i __DEFAULT_FN_ATTRS
614_mm_shuffle_epi8(__m128i __a, __m128i __b)
615{
616 return (__m128i)__builtin_ia32_pshufb128((__v16qi)__a, (__v16qi)__b);
589static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
590_mm_shuffle_epi8(__m128i __a, __m128i __b) {
591 return (__m128i)__builtin_ia32_pshufb128((__v16qi)__a, (__v16qi)__b);
617592}
618593
619594/// Copies the 8-bit integers from a 64-bit integer vector to the
......@@ -635,13 +610,12 @@ _mm_shuffle_epi8(__m128i __a, __m128i __b)
635610/// destination. \n
636611/// Bits [2:0] select the source byte to be copied.
637612/// \returns A 64-bit integer vector containing the copied or cleared values.
638static __inline__ __m64 __DEFAULT_FN_ATTRS
639_mm_shuffle_pi8(__m64 __a, __m64 __b)
640{
641 return __trunc64(__builtin_ia32_pshufb128(
642 (__v16qi)__builtin_shufflevector(
643 (__v2si)(__a), __extension__ (__v2si){}, 0, 1, 0, 1),
644 (__v16qi)__anyext128(__b)));
613static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR
614_mm_shuffle_pi8(__m64 __a, __m64 __b) {
615 return __trunc64(__builtin_ia32_pshufb128(
616 (__v16qi)__builtin_shufflevector((__v2si)(__a), __extension__(__v2si){},
617 0, 1, 0, 1),
618 (__v16qi)__zext128(__b)));
645619}
646620
647621/// For each 8-bit integer in the first source operand, perform one of
......@@ -664,10 +638,9 @@ _mm_shuffle_pi8(__m64 __a, __m64 __b)
664638/// A 128-bit integer vector containing control bytes corresponding to
665639/// positions in the destination.
666640/// \returns A 128-bit integer vector containing the resultant values.
667static __inline__ __m128i __DEFAULT_FN_ATTRS
668_mm_sign_epi8(__m128i __a, __m128i __b)
669{
670 return (__m128i)__builtin_ia32_psignb128((__v16qi)__a, (__v16qi)__b);
641static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
642_mm_sign_epi8(__m128i __a, __m128i __b) {
643 return (__m128i)__builtin_ia32_psignb128((__v16qi)__a, (__v16qi)__b);
671644}
672645
673646/// For each 16-bit integer in the first source operand, perform one of
......@@ -690,10 +663,9 @@ _mm_sign_epi8(__m128i __a, __m128i __b)
690663/// A 128-bit integer vector containing control words corresponding to
691664/// positions in the destination.
692665/// \returns A 128-bit integer vector containing the resultant values.
693static __inline__ __m128i __DEFAULT_FN_ATTRS
694_mm_sign_epi16(__m128i __a, __m128i __b)
695{
696 return (__m128i)__builtin_ia32_psignw128((__v8hi)__a, (__v8hi)__b);
666static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
667_mm_sign_epi16(__m128i __a, __m128i __b) {
668 return (__m128i)__builtin_ia32_psignw128((__v8hi)__a, (__v8hi)__b);
697669}
698670
699671/// For each 32-bit integer in the first source operand, perform one of
......@@ -716,10 +688,9 @@ _mm_sign_epi16(__m128i __a, __m128i __b)
716688/// A 128-bit integer vector containing control doublewords corresponding to
717689/// positions in the destination.
718690/// \returns A 128-bit integer vector containing the resultant values.
719static __inline__ __m128i __DEFAULT_FN_ATTRS
720_mm_sign_epi32(__m128i __a, __m128i __b)
721{
722 return (__m128i)__builtin_ia32_psignd128((__v4si)__a, (__v4si)__b);
691static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
692_mm_sign_epi32(__m128i __a, __m128i __b) {
693 return (__m128i)__builtin_ia32_psignd128((__v4si)__a, (__v4si)__b);
723694}
724695
725696/// For each 8-bit integer in the first source operand, perform one of
......@@ -742,11 +713,10 @@ _mm_sign_epi32(__m128i __a, __m128i __b)
742713/// A 64-bit integer vector containing control bytes corresponding to
743714/// positions in the destination.
744715/// \returns A 64-bit integer vector containing the resultant values.
745static __inline__ __m64 __DEFAULT_FN_ATTRS
746_mm_sign_pi8(__m64 __a, __m64 __b)
747{
748 return __trunc64(__builtin_ia32_psignb128((__v16qi)__anyext128(__a),
749 (__v16qi)__anyext128(__b)));
716static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_sign_pi8(__m64 __a,
717 __m64 __b) {
718 return __trunc64(__builtin_ia32_psignb128((__v16qi)__zext128(__a),
719 (__v16qi)__zext128(__b)));
750720}
751721
752722/// For each 16-bit integer in the first source operand, perform one of
......@@ -769,11 +739,10 @@ _mm_sign_pi8(__m64 __a, __m64 __b)
769739/// A 64-bit integer vector containing control words corresponding to
770740/// positions in the destination.
771741/// \returns A 64-bit integer vector containing the resultant values.
772static __inline__ __m64 __DEFAULT_FN_ATTRS
773_mm_sign_pi16(__m64 __a, __m64 __b)
774{
775 return __trunc64(__builtin_ia32_psignw128((__v8hi)__anyext128(__a),
776 (__v8hi)__anyext128(__b)));
742static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_sign_pi16(__m64 __a,
743 __m64 __b) {
744 return __trunc64(
745 __builtin_ia32_psignw128((__v8hi)__zext128(__a), (__v8hi)__zext128(__b)));
777746}
778747
779748/// For each 32-bit integer in the first source operand, perform one of
......@@ -796,15 +765,15 @@ _mm_sign_pi16(__m64 __a, __m64 __b)
796765/// A 64-bit integer vector containing two control doublewords corresponding
797766/// to positions in the destination.
798767/// \returns A 64-bit integer vector containing the resultant values.
799static __inline__ __m64 __DEFAULT_FN_ATTRS
800_mm_sign_pi32(__m64 __a, __m64 __b)
801{
802 return __trunc64(__builtin_ia32_psignd128((__v4si)__anyext128(__a),
803 (__v4si)__anyext128(__b)));
768static __inline__ __m64 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_sign_pi32(__m64 __a,
769 __m64 __b) {
770 return __trunc64(
771 __builtin_ia32_psignd128((__v4si)__zext128(__a), (__v4si)__zext128(__b)));
804772}
805773
806#undef __anyext128
774#undef __zext128
807775#undef __trunc64
808776#undef __DEFAULT_FN_ATTRS
777#undef __DEFAULT_FN_ATTRS_CONSTEXPR
809778
810779#endif /* __TMMINTRIN_H */
lib/include/vaesintrin.h+1-2
......@@ -19,8 +19,7 @@
1919
2020/* Default attributes for ZMM forms. */
2121#define __DEFAULT_FN_ATTRS_F \
22 __attribute__((__always_inline__, __nodebug__, \
23 __target__("avx512f,evex512,vaes"), \
22 __attribute__((__always_inline__, __nodebug__, __target__("avx512f,vaes"), \
2423 __min_vector_width__(512)))
2524
2625static __inline__ __m256i __DEFAULT_FN_ATTRS
lib/include/xmmintrin.h+44-70
......@@ -16,7 +16,6 @@
1616
1717#include <mmintrin.h>
1818
19typedef int __v4si __attribute__((__vector_size__(16)));
2019typedef float __v4sf __attribute__((__vector_size__(16)));
2120typedef float __m128 __attribute__((__vector_size__(16), __aligned__(16)));
2221
......@@ -24,6 +23,8 @@ typedef float __m128_u __attribute__((__vector_size__(16), __aligned__(1)));
2423
2524/* Unsigned types */
2625typedef unsigned int __v4su __attribute__((__vector_size__(16)));
26typedef unsigned short __v8hu __attribute__((__vector_size__(16)));
27typedef unsigned char __v16qu __attribute__((__vector_size__(16)));
2728
2829/* This header should only be included in a hosted environment as it depends on
2930 * a standard library to provide allocation routines. */
......@@ -32,21 +33,12 @@ typedef unsigned int __v4su __attribute__((__vector_size__(16)));
3233#endif
3334
3435/* Define the default attributes for the functions in this file. */
35#if defined(__EVEX512__) && !defined(__AVX10_1_512__)
36#define __DEFAULT_FN_ATTRS \
37 __attribute__((__always_inline__, __nodebug__, __target__("sse,no-evex512"), \
38 __min_vector_width__(128)))
39#define __DEFAULT_FN_ATTRS_SSE2 \
40 __attribute__((__always_inline__, __nodebug__, \
41 __target__("sse2,no-evex512"), __min_vector_width__(128)))
42#else
4336#define __DEFAULT_FN_ATTRS \
4437 __attribute__((__always_inline__, __nodebug__, __target__("sse"), \
4538 __min_vector_width__(128)))
4639#define __DEFAULT_FN_ATTRS_SSE2 \
4740 __attribute__((__always_inline__, __nodebug__, __target__("sse2"), \
4841 __min_vector_width__(128)))
49#endif
5042
5143#if defined(__cplusplus) && (__cplusplus >= 201103L)
5244#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
......@@ -239,10 +231,9 @@ _mm_div_ps(__m128 __a, __m128 __b) {
239231/// used in the calculation.
240232/// \returns A 128-bit vector of [4 x float] containing the square root of the
241233/// value in the low-order bits of the operand.
242static __inline__ __m128 __DEFAULT_FN_ATTRS
243_mm_sqrt_ss(__m128 __a)
244{
245 return (__m128)__builtin_ia32_sqrtss((__v4sf)__a);
234static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_sqrt_ss(__m128 __a) {
235 __a[0] = __builtin_elementwise_sqrt(__a[0]);
236 return __a;
246237}
247238
248239/// Calculates the square roots of the values stored in a 128-bit vector
......@@ -256,10 +247,8 @@ _mm_sqrt_ss(__m128 __a)
256247/// A 128-bit vector of [4 x float].
257248/// \returns A 128-bit vector of [4 x float] containing the square roots of the
258249/// values in the operand.
259static __inline__ __m128 __DEFAULT_FN_ATTRS
260_mm_sqrt_ps(__m128 __a)
261{
262 return __builtin_ia32_sqrtps((__v4sf)__a);
250static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_sqrt_ps(__m128 __a) {
251 return __builtin_elementwise_sqrt(__a);
263252}
264253
265254/// Calculates the approximate reciprocal of the value stored in the
......@@ -352,9 +341,7 @@ _mm_rsqrt_ps(__m128 __a)
352341/// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the
353342/// minimum value between both operands. The upper 96 bits are copied from
354343/// the upper 96 bits of the first source operand.
355static __inline__ __m128 __DEFAULT_FN_ATTRS
356_mm_min_ss(__m128 __a, __m128 __b)
357{
344static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_min_ss(__m128 __a, __m128 __b) {
358345 return __builtin_ia32_minss((__v4sf)__a, (__v4sf)__b);
359346}
360347
......@@ -373,9 +360,8 @@ _mm_min_ss(__m128 __a, __m128 __b)
373360/// A 128-bit vector of [4 x float] containing one of the operands.
374361/// \returns A 128-bit vector of [4 x float] containing the minimum values
375362/// between both operands.
376static __inline__ __m128 __DEFAULT_FN_ATTRS
377_mm_min_ps(__m128 __a, __m128 __b)
378{
363static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_min_ps(__m128 __a,
364 __m128 __b) {
379365 return __builtin_ia32_minps((__v4sf)__a, (__v4sf)__b);
380366}
381367
......@@ -398,9 +384,7 @@ _mm_min_ps(__m128 __a, __m128 __b)
398384/// \returns A 128-bit vector of [4 x float] whose lower 32 bits contain the
399385/// maximum value between both operands. The upper 96 bits are copied from
400386/// the upper 96 bits of the first source operand.
401static __inline__ __m128 __DEFAULT_FN_ATTRS
402_mm_max_ss(__m128 __a, __m128 __b)
403{
387static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_max_ss(__m128 __a, __m128 __b) {
404388 return __builtin_ia32_maxss((__v4sf)__a, (__v4sf)__b);
405389}
406390
......@@ -419,9 +403,8 @@ _mm_max_ss(__m128 __a, __m128 __b)
419403/// A 128-bit vector of [4 x float] containing one of the operands.
420404/// \returns A 128-bit vector of [4 x float] containing the maximum values
421405/// between both operands.
422static __inline__ __m128 __DEFAULT_FN_ATTRS
423_mm_max_ps(__m128 __a, __m128 __b)
424{
406static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_max_ps(__m128 __a,
407 __m128 __b) {
425408 return __builtin_ia32_maxps((__v4sf)__a, (__v4sf)__b);
426409}
427410
......@@ -1688,7 +1671,7 @@ _mm_cvtsi64_ss(__m128 __a, long long __b) {
16881671/// \returns A 128-bit vector of [4 x float] whose lower 64 bits contain the
16891672/// converted value of the second operand. The upper 64 bits are copied from
16901673/// the upper 64 bits of the first operand.
1691static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
1674static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
16921675_mm_cvtpi32_ps(__m128 __a, __m64 __b)
16931676{
16941677 return (__m128)__builtin_shufflevector(
......@@ -1714,7 +1697,7 @@ _mm_cvtpi32_ps(__m128 __a, __m64 __b)
17141697/// \returns A 128-bit vector of [4 x float] whose lower 64 bits contain the
17151698/// converted value from the second operand. The upper 64 bits are copied
17161699/// from the upper 64 bits of the first operand.
1717static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
1700static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
17181701_mm_cvt_pi2ps(__m128 __a, __m64 __b)
17191702{
17201703 return _mm_cvtpi32_ps(__a, __b);
......@@ -2353,9 +2336,8 @@ void _mm_sfence(void);
23532336/// \param __b
23542337/// A 64-bit integer vector containing one of the source operands.
23552338/// \returns A 64-bit integer vector containing the comparison results.
2356static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2357_mm_max_pi16(__m64 __a, __m64 __b)
2358{
2339static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
2340_mm_max_pi16(__m64 __a, __m64 __b) {
23592341 return (__m64)__builtin_elementwise_max((__v4hi)__a, (__v4hi)__b);
23602342}
23612343
......@@ -2372,9 +2354,8 @@ _mm_max_pi16(__m64 __a, __m64 __b)
23722354/// \param __b
23732355/// A 64-bit integer vector containing one of the source operands.
23742356/// \returns A 64-bit integer vector containing the comparison results.
2375static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2376_mm_max_pu8(__m64 __a, __m64 __b)
2377{
2357static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
2358_mm_max_pu8(__m64 __a, __m64 __b) {
23782359 return (__m64)__builtin_elementwise_max((__v8qu)__a, (__v8qu)__b);
23792360}
23802361
......@@ -2391,9 +2372,8 @@ _mm_max_pu8(__m64 __a, __m64 __b)
23912372/// \param __b
23922373/// A 64-bit integer vector containing one of the source operands.
23932374/// \returns A 64-bit integer vector containing the comparison results.
2394static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2395_mm_min_pi16(__m64 __a, __m64 __b)
2396{
2375static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
2376_mm_min_pi16(__m64 __a, __m64 __b) {
23972377 return (__m64)__builtin_elementwise_min((__v4hi)__a, (__v4hi)__b);
23982378}
23992379
......@@ -2410,9 +2390,8 @@ _mm_min_pi16(__m64 __a, __m64 __b)
24102390/// \param __b
24112391/// A 64-bit integer vector containing one of the source operands.
24122392/// \returns A 64-bit integer vector containing the comparison results.
2413static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2414_mm_min_pu8(__m64 __a, __m64 __b)
2415{
2393static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
2394_mm_min_pu8(__m64 __a, __m64 __b) {
24162395 return (__m64)__builtin_elementwise_min((__v8qu)__a, (__v8qu)__b);
24172396}
24182397
......@@ -2428,9 +2407,8 @@ _mm_min_pu8(__m64 __a, __m64 __b)
24282407/// A 64-bit integer vector containing the values with bits to be extracted.
24292408/// \returns The most significant bit from each 8-bit element in \a __a,
24302409/// written to bits [7:0].
2431static __inline__ int __DEFAULT_FN_ATTRS_SSE2
2432_mm_movemask_pi8(__m64 __a)
2433{
2410static __inline__ int __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
2411_mm_movemask_pi8(__m64 __a) {
24342412 return __builtin_ia32_pmovmskb128((__v16qi)__zext128(__a));
24352413}
24362414
......@@ -2447,11 +2425,11 @@ _mm_movemask_pi8(__m64 __a)
24472425/// \param __b
24482426/// A 64-bit integer vector containing one of the source operands.
24492427/// \returns A 64-bit integer vector containing the products of both operands.
2450static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2428static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
24512429_mm_mulhi_pu16(__m64 __a, __m64 __b)
24522430{
2453 return __trunc64(__builtin_ia32_pmulhuw128((__v8hi)__anyext128(__a),
2454 (__v8hi)__anyext128(__b)));
2431 return __trunc64(__builtin_ia32_pmulhuw128((__v8hu)__zext128(__a),
2432 (__v8hu)__zext128(__b)));
24552433}
24562434
24572435/// Shuffles the 4 16-bit integers from a 64-bit integer vector to the
......@@ -2530,8 +2508,8 @@ _mm_maskmove_si64(__m64 __d, __m64 __n, char *__p)
25302508 // If there's a risk of spurious trap due to a 128-bit write, back up the
25312509 // pointer by 8 bytes and shift values in registers to match.
25322510 __p -= 8;
2533 __d128 = __builtin_ia32_pslldqi128_byteshift((__v2di)__d128, 8);
2534 __n128 = __builtin_ia32_pslldqi128_byteshift((__v2di)__n128, 8);
2511 __d128 = (__m128i)__builtin_ia32_pslldqi128_byteshift((__v16qi)__d128, 8);
2512 __n128 = (__m128i)__builtin_ia32_pslldqi128_byteshift((__v16qi)__n128, 8);
25352513 }
25362514
25372515 __builtin_ia32_maskmovdqu((__v16qi)__d128, (__v16qi)__n128, __p);
......@@ -2550,11 +2528,10 @@ _mm_maskmove_si64(__m64 __d, __m64 __n, char *__p)
25502528/// \param __b
25512529/// A 64-bit integer vector containing one of the source operands.
25522530/// \returns A 64-bit integer vector containing the averages of both operands.
2553static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2554_mm_avg_pu8(__m64 __a, __m64 __b)
2555{
2556 return __trunc64(__builtin_ia32_pavgb128((__v16qi)__anyext128(__a),
2557 (__v16qi)__anyext128(__b)));
2531static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
2532_mm_avg_pu8(__m64 __a, __m64 __b) {
2533 return __trunc64(__builtin_ia32_pavgb128((__v16qu)__zext128(__a),
2534 (__v16qu)__zext128(__b)));
25582535}
25592536
25602537/// Computes the rounded averages of the packed unsigned 16-bit integer
......@@ -2570,11 +2547,10 @@ _mm_avg_pu8(__m64 __a, __m64 __b)
25702547/// \param __b
25712548/// A 64-bit integer vector containing one of the source operands.
25722549/// \returns A 64-bit integer vector containing the averages of both operands.
2573static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2
2574_mm_avg_pu16(__m64 __a, __m64 __b)
2575{
2576 return __trunc64(__builtin_ia32_pavgw128((__v8hi)__anyext128(__a),
2577 (__v8hi)__anyext128(__b)));
2550static __inline__ __m64 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
2551_mm_avg_pu16(__m64 __a, __m64 __b) {
2552 return __trunc64(
2553 __builtin_ia32_pavgw128((__v8hu)__zext128(__a), (__v8hu)__zext128(__b)));
25782554}
25792555
25802556/// Subtracts the corresponding 8-bit unsigned integer values of the two
......@@ -2873,7 +2849,7 @@ _mm_movelh_ps(__m128 __a, __m128 __b) {
28732849/// from the corresponding elements in this operand.
28742850/// \returns A 128-bit vector of [4 x float] containing the copied and converted
28752851/// values from the operand.
2876static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
2852static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
28772853_mm_cvtpi16_ps(__m64 __a)
28782854{
28792855 return __builtin_convertvector((__v4hi)__a, __v4sf);
......@@ -2891,7 +2867,7 @@ _mm_cvtpi16_ps(__m64 __a)
28912867/// destination are copied from the corresponding elements in this operand.
28922868/// \returns A 128-bit vector of [4 x float] containing the copied and converted
28932869/// values from the operand.
2894static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
2870static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
28952871_mm_cvtpu16_ps(__m64 __a)
28962872{
28972873 return __builtin_convertvector((__v4hu)__a, __v4sf);
......@@ -2909,7 +2885,7 @@ _mm_cvtpu16_ps(__m64 __a)
29092885/// from the corresponding lower 4 elements in this operand.
29102886/// \returns A 128-bit vector of [4 x float] containing the copied and converted
29112887/// values from the operand.
2912static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
2888static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
29132889_mm_cvtpi8_ps(__m64 __a)
29142890{
29152891 return __builtin_convertvector(
......@@ -2930,7 +2906,7 @@ _mm_cvtpi8_ps(__m64 __a)
29302906/// operand.
29312907/// \returns A 128-bit vector of [4 x float] containing the copied and converted
29322908/// values from the source operand.
2933static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
2909static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
29342910_mm_cvtpu8_ps(__m64 __a)
29352911{
29362912 return __builtin_convertvector(
......@@ -2954,7 +2930,7 @@ _mm_cvtpu8_ps(__m64 __a)
29542930/// \returns A 128-bit vector of [4 x float] whose lower 64 bits contain the
29552931/// copied and converted values from the first operand. The upper 64 bits
29562932/// contain the copied and converted values from the second operand.
2957static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2
2933static __inline__ __m128 __DEFAULT_FN_ATTRS_SSE2_CONSTEXPR
29582934_mm_cvtpi32x2_ps(__m64 __a, __m64 __b)
29592935{
29602936 return __builtin_convertvector(
......@@ -3029,9 +3005,7 @@ _mm_cvtps_pi8(__m128 __a)
30293005/// \returns A 32-bit integer value. Bits [3:0] contain the sign bits from each
30303006/// single-precision floating-point element of the parameter. Bits [31:4] are
30313007/// set to zero.
3032static __inline__ int __DEFAULT_FN_ATTRS
3033_mm_movemask_ps(__m128 __a)
3034{
3008static __inline__ int __DEFAULT_FN_ATTRS_CONSTEXPR _mm_movemask_ps(__m128 __a) {
30353009 return __builtin_ia32_movmskps((__v4sf)__a);
30363010}
30373011
lib/include/xopintrin.h+20-10
......@@ -20,6 +20,14 @@
2020#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("xop"), __min_vector_width__(128)))
2121#define __DEFAULT_FN_ATTRS256 __attribute__((__always_inline__, __nodebug__, __target__("xop"), __min_vector_width__(256)))
2222
23#if defined(__cplusplus) && (__cplusplus >= 201103L)
24#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS constexpr
25#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256 constexpr
26#else
27#define __DEFAULT_FN_ATTRS_CONSTEXPR __DEFAULT_FN_ATTRS
28#define __DEFAULT_FN_ATTRS256_CONSTEXPR __DEFAULT_FN_ATTRS256
29#endif
30
2331static __inline__ __m128i __DEFAULT_FN_ATTRS
2432_mm_maccs_epi16(__m128i __A, __m128i __B, __m128i __C)
2533{
......@@ -182,13 +190,13 @@ _mm_hsubq_epi32(__m128i __A)
182190 return (__m128i)__builtin_ia32_vphsubdq((__v4si)__A);
183191}
184192
185static __inline__ __m128i __DEFAULT_FN_ATTRS
193static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
186194_mm_cmov_si128(__m128i __A, __m128i __B, __m128i __C)
187195{
188196 return (__m128i)(((__v2du)__A & (__v2du)__C) | ((__v2du)__B & ~(__v2du)__C));
189197}
190198
191static __inline__ __m256i __DEFAULT_FN_ATTRS256
199static __inline__ __m256i __DEFAULT_FN_ATTRS256_CONSTEXPR
192200_mm256_cmov_si256(__m256i __A, __m256i __B, __m256i __C)
193201{
194202 return (__m256i)(((__v4du)__A & (__v4du)__C) | ((__v4du)__B & ~(__v4du)__C));
......@@ -200,28 +208,28 @@ _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
200208 return (__m128i)__builtin_ia32_vpperm((__v16qi)__A, (__v16qi)__B, (__v16qi)__C);
201209}
202210
203static __inline__ __m128i __DEFAULT_FN_ATTRS
211static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
204212_mm_rot_epi8(__m128i __A, __m128i __B)
205213{
206 return (__m128i)__builtin_ia32_vprotb((__v16qi)__A, (__v16qi)__B);
214 return (__m128i)__builtin_elementwise_fshl((__v16qu)__A, (__v16qu)__A, (__v16qu)__B);
207215}
208216
209static __inline__ __m128i __DEFAULT_FN_ATTRS
217static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
210218_mm_rot_epi16(__m128i __A, __m128i __B)
211219{
212 return (__m128i)__builtin_ia32_vprotw((__v8hi)__A, (__v8hi)__B);
220 return (__m128i)__builtin_elementwise_fshl((__v8hu)__A, (__v8hu)__A, (__v8hu)__B);
213221}
214222
215static __inline__ __m128i __DEFAULT_FN_ATTRS
223static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
216224_mm_rot_epi32(__m128i __A, __m128i __B)
217225{
218 return (__m128i)__builtin_ia32_vprotd((__v4si)__A, (__v4si)__B);
226 return (__m128i)__builtin_elementwise_fshl((__v4su)__A, (__v4su)__A, (__v4su)__B);
219227}
220228
221static __inline__ __m128i __DEFAULT_FN_ATTRS
229static __inline__ __m128i __DEFAULT_FN_ATTRS_CONSTEXPR
222230_mm_rot_epi64(__m128i __A, __m128i __B)
223231{
224 return (__m128i)__builtin_ia32_vprotq((__v2di)__A, (__v2di)__B);
232 return (__m128i)__builtin_elementwise_fshl((__v2du)__A, (__v2du)__A, (__v2du)__B);
225233}
226234
227235#define _mm_roti_epi8(A, N) \
......@@ -766,5 +774,7 @@ _mm256_frcz_pd(__m256d __A)
766774
767775#undef __DEFAULT_FN_ATTRS
768776#undef __DEFAULT_FN_ATTRS256
777#undef __DEFAULT_FN_ATTRS_CONSTEXPR
778#undef __DEFAULT_FN_ATTRS256_CONSTEXPR
769779
770780#endif /* __XOPINTRIN_H */