1 /* ACLE support for Arm
MVE (__ARM_FEATURE_MVE intrinsics
)
2 Copyright (C
) 2023-2025 Free Software Foundation
, Inc.
4 This file is part of GCC.
6 GCC is free software
; you can redistribute it and
/or modify it
7 under the terms of the GNU General Public License as published by
8 the Free Software Foundation
; either version
3, or (at your option
)
11 GCC is distributed in the hope that it will be useful
, but
12 WITHOUT ANY WARRANTY
; without even the implied warranty of
13 MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GCC
; see the file COPYING3. If not see
18 <http
://www.gnu.org
/licenses
/>.
*/
20 #define REQUIRES_FLOAT false
21 DEF_MVE_FUNCTION (vabavq
, binary_acca_int32
, all_integer
, p_or_none
)
22 DEF_MVE_FUNCTION (vabdq
, binary
, all_integer
, mx_or_none
)
23 DEF_MVE_FUNCTION (vabsq
, unary
, all_signed
, mx_or_none
)
24 DEF_MVE_FUNCTION (vadciq
, vadc_vsbc
, integer_32
, m_or_none
)
25 DEF_MVE_FUNCTION (vadcq
, vadc_vsbc
, integer_32
, m_or_none
)
26 DEF_MVE_FUNCTION (vaddlvaq
, unary_widen_acc
, integer_32
, p_or_none
)
27 DEF_MVE_FUNCTION (vaddlvq
, unary_acc
, integer_32
, p_or_none
)
28 DEF_MVE_FUNCTION (vaddq
, binary_opt_n
, all_integer
, mx_or_none
)
29 DEF_MVE_FUNCTION (vaddvaq
, unary_int32_acc
, all_integer
, p_or_none
)
30 DEF_MVE_FUNCTION (vaddvq
, unary_int32
, all_integer
, p_or_none
)
31 DEF_MVE_FUNCTION (vandq
, binary
, all_integer
, mx_or_none
)
32 DEF_MVE_FUNCTION (vbicq
, binary_orrq
, all_integer
, mx_or_none
)
33 DEF_MVE_FUNCTION (vbrsrq
, binary_imm32
, all_integer
, mx_or_none
)
34 DEF_MVE_FUNCTION (vcaddq_rot270
, binary
, all_integer
, mx_or_none
)
35 DEF_MVE_FUNCTION (vcaddq_rot90
, binary
, all_integer
, mx_or_none
)
36 DEF_MVE_FUNCTION (vclsq
, unary
, all_signed
, mx_or_none
)
37 DEF_MVE_FUNCTION (vclzq
, unary
, all_integer
, mx_or_none
)
38 DEF_MVE_FUNCTION (vcmpcsq
, cmp
, all_unsigned
, m_or_none
)
39 DEF_MVE_FUNCTION (vcmpeqq
, cmp
, all_integer
, m_or_none
)
40 DEF_MVE_FUNCTION (vcmpgeq
, cmp
, all_signed
, m_or_none
)
41 DEF_MVE_FUNCTION (vcmpgtq
, cmp
, all_signed
, m_or_none
)
42 DEF_MVE_FUNCTION (vcmphiq
, cmp
, all_unsigned
, m_or_none
)
43 DEF_MVE_FUNCTION (vcmpleq
, cmp
, all_signed
, m_or_none
)
44 DEF_MVE_FUNCTION (vcmpltq
, cmp
, all_signed
, m_or_none
)
45 DEF_MVE_FUNCTION (vcmpneq
, cmp
, all_integer
, m_or_none
)
46 DEF_MVE_FUNCTION (vcreateq
, create
, all_integer_with_64
, none
)
47 DEF_MVE_FUNCTION (vctp16q
, vctp
, none
, m_or_none
)
48 DEF_MVE_FUNCTION (vctp32q
, vctp
, none
, m_or_none
)
49 DEF_MVE_FUNCTION (vctp64q
, vctp
, none
, m_or_none
)
50 DEF_MVE_FUNCTION (vctp8q
, vctp
, none
, m_or_none
)
51 DEF_MVE_FUNCTION (vddupq
, viddup
, all_unsigned
, mx_or_none
)
52 DEF_MVE_FUNCTION (vdupq
, unary_n
, all_integer
, mx_or_none
)
53 DEF_MVE_FUNCTION (vdwdupq
, vidwdup
, all_unsigned
, mx_or_none
)
54 DEF_MVE_FUNCTION (veorq
, binary
, all_integer
, mx_or_none
)
55 DEF_MVE_FUNCTION (vhaddq
, binary_opt_n
, all_integer
, mx_or_none
)
56 DEF_MVE_FUNCTION (vhcaddq_rot270
, binary
, all_signed
, mx_or_none
)
57 DEF_MVE_FUNCTION (vhcaddq_rot90
, binary
, all_signed
, mx_or_none
)
58 DEF_MVE_FUNCTION (vhsubq
, binary_opt_n
, all_integer
, mx_or_none
)
59 DEF_MVE_FUNCTION (vidupq
, viddup
, all_unsigned
, mx_or_none
)
60 DEF_MVE_FUNCTION (viwdupq
, vidwdup
, all_unsigned
, mx_or_none
)
61 DEF_MVE_FUNCTION (vld1q
, load
, all_integer
, z_or_none
)
62 DEF_MVE_FUNCTION (vld2q
, load
, all_integer
, none
)
63 DEF_MVE_FUNCTION (vld4q
, load
, all_integer
, none
)
64 DEF_MVE_FUNCTION (vldrbq
, load_ext
, all_integer
, z_or_none
)
65 DEF_MVE_FUNCTION (vldrbq_gather
, load_ext_gather_offset
, all_integer
, z_or_none
)
66 DEF_MVE_FUNCTION (vldrdq_gather
, load_ext_gather_offset
, integer_64
, z_or_none
)
67 DEF_MVE_FUNCTION (vldrdq_gather_base
, load_gather_base
, integer_64
, z_or_none
)
68 DEF_MVE_FUNCTION (vldrdq_gather_shifted
, load_ext_gather_offset
, integer_64
, z_or_none
)
69 DEF_MVE_FUNCTION (vldrhq
, load_ext
, integer_16_32
, z_or_none
)
70 DEF_MVE_FUNCTION (vldrhq_gather
, load_ext_gather_offset
, integer_16_32
, z_or_none
)
71 DEF_MVE_FUNCTION (vldrhq_gather_shifted
, load_ext_gather_offset
, integer_16_32
, z_or_none
)
72 DEF_MVE_FUNCTION (vldrwq
, load_ext
, integer_32
, z_or_none
)
73 DEF_MVE_FUNCTION (vldrwq_gather
, load_ext_gather_offset
, integer_32
, z_or_none
)
74 DEF_MVE_FUNCTION (vldrwq_gather_base
, load_gather_base
, integer_32
, z_or_none
)
75 DEF_MVE_FUNCTION (vldrwq_gather_shifted
, load_ext_gather_offset
, integer_32
, z_or_none
)
76 DEF_MVE_FUNCTION (vmaxaq
, binary_maxamina
, all_signed
, m_or_none
)
77 DEF_MVE_FUNCTION (vmaxavq
, binary_maxavminav
, all_signed
, p_or_none
)
78 DEF_MVE_FUNCTION (vmaxq
, binary
, all_integer
, mx_or_none
)
79 DEF_MVE_FUNCTION (vmaxvq
, binary_maxvminv
, all_integer
, p_or_none
)
80 DEF_MVE_FUNCTION (vminaq
, binary_maxamina
, all_signed
, m_or_none
)
81 DEF_MVE_FUNCTION (vminavq
, binary_maxavminav
, all_signed
, p_or_none
)
82 DEF_MVE_FUNCTION (vminq
, binary
, all_integer
, mx_or_none
)
83 DEF_MVE_FUNCTION (vminvq
, binary_maxvminv
, all_integer
, p_or_none
)
84 DEF_MVE_FUNCTION (vmladavaq
, binary_acca_int32
, all_integer
, p_or_none
)
85 DEF_MVE_FUNCTION (vmladavaxq
, binary_acca_int32
, all_signed
, p_or_none
)
86 DEF_MVE_FUNCTION (vmladavq
, binary_acc_int32
, all_integer
, p_or_none
)
87 DEF_MVE_FUNCTION (vmladavxq
, binary_acc_int32
, all_signed
, p_or_none
)
88 DEF_MVE_FUNCTION (vmlaldavaq
, binary_acca_int64
, integer_16_32
, p_or_none
)
89 DEF_MVE_FUNCTION (vmlaldavaxq
, binary_acca_int64
, signed_16_32
, p_or_none
)
90 DEF_MVE_FUNCTION (vmlaldavq
, binary_acc_int64
, integer_16_32
, p_or_none
)
91 DEF_MVE_FUNCTION (vmlaldavxq
, binary_acc_int64
, signed_16_32
, p_or_none
)
92 DEF_MVE_FUNCTION (vmlaq
, ternary_n
, all_integer
, m_or_none
)
93 DEF_MVE_FUNCTION (vmlasq
, ternary_n
, all_integer
, m_or_none
)
94 DEF_MVE_FUNCTION (vmlsdavaq
, binary_acca_int32
, all_signed
, p_or_none
)
95 DEF_MVE_FUNCTION (vmlsdavaxq
, binary_acca_int32
, all_signed
, p_or_none
)
96 DEF_MVE_FUNCTION (vmlsdavq
, binary_acc_int32
, all_integer
, p_or_none
)
97 DEF_MVE_FUNCTION (vmlsdavxq
, binary_acc_int32
, all_signed
, p_or_none
)
98 DEF_MVE_FUNCTION (vmlsldavaq
, binary_acca_int64
, signed_16_32
, p_or_none
)
99 DEF_MVE_FUNCTION (vmlsldavaxq
, binary_acca_int64
, signed_16_32
, p_or_none
)
100 DEF_MVE_FUNCTION (vmlsldavq
, binary_acc_int64
, signed_16_32
, p_or_none
)
101 DEF_MVE_FUNCTION (vmlsldavxq
, binary_acc_int64
, signed_16_32
, p_or_none
)
102 DEF_MVE_FUNCTION (vmovlbq
, unary_widen
, integer_8_16
, mx_or_none
)
103 DEF_MVE_FUNCTION (vmovltq
, unary_widen
, integer_8_16
, mx_or_none
)
104 DEF_MVE_FUNCTION (vmovnbq
, binary_move_narrow
, integer_16_32
, m_or_none
)
105 DEF_MVE_FUNCTION (vmovntq
, binary_move_narrow
, integer_16_32
, m_or_none
)
106 DEF_MVE_FUNCTION (vmulhq
, binary
, all_integer
, mx_or_none
)
107 DEF_MVE_FUNCTION (vmullbq_int
, binary_widen
, all_integer
, mx_or_none
)
108 DEF_MVE_FUNCTION (vmullbq_poly
, binary_widen_poly
, poly_8_16
, mx_or_none
)
109 DEF_MVE_FUNCTION (vmulltq_int
, binary_widen
, all_integer
, mx_or_none
)
110 DEF_MVE_FUNCTION (vmulltq_poly
, binary_widen_poly
, poly_8_16
, mx_or_none
)
111 DEF_MVE_FUNCTION (vmulq
, binary_opt_n
, all_integer
, mx_or_none
)
112 DEF_MVE_FUNCTION (vmvnq
, mvn
, all_integer
, mx_or_none
)
113 DEF_MVE_FUNCTION (vnegq
, unary
, all_signed
, mx_or_none
)
114 DEF_MVE_FUNCTION (vornq
, binary_orrq
, all_integer
, mx_or_none
)
115 DEF_MVE_FUNCTION (vorrq
, binary_orrq
, all_integer
, mx_or_none
)
116 DEF_MVE_FUNCTION (vpselq
, vpsel
, all_integer_with_64
, none
)
117 DEF_MVE_FUNCTION (vqabsq
, unary
, all_signed
, m_or_none
)
118 DEF_MVE_FUNCTION (vqaddq
, binary_opt_n
, all_integer
, m_or_none
)
119 DEF_MVE_FUNCTION (vqdmladhq
, ternary
, all_signed
, m_or_none
)
120 DEF_MVE_FUNCTION (vqdmladhxq
, ternary
, all_signed
, m_or_none
)
121 DEF_MVE_FUNCTION (vqdmlahq
, ternary_n
, all_signed
, m_or_none
)
122 DEF_MVE_FUNCTION (vqdmlashq
, ternary_n
, all_signed
, m_or_none
)
123 DEF_MVE_FUNCTION (vqdmlsdhq
, ternary
, all_signed
, m_or_none
)
124 DEF_MVE_FUNCTION (vqdmlsdhxq
, ternary
, all_signed
, m_or_none
)
125 DEF_MVE_FUNCTION (vqdmulhq
, binary_opt_n
, all_signed
, m_or_none
)
126 DEF_MVE_FUNCTION (vqdmullbq
, binary_widen_opt_n
, signed_16_32
, m_or_none
)
127 DEF_MVE_FUNCTION (vqdmulltq
, binary_widen_opt_n
, signed_16_32
, m_or_none
)
128 DEF_MVE_FUNCTION (vqmovnbq
, binary_move_narrow
, integer_16_32
, m_or_none
)
129 DEF_MVE_FUNCTION (vqmovntq
, binary_move_narrow
, integer_16_32
, m_or_none
)
130 DEF_MVE_FUNCTION (vqmovunbq
, binary_move_narrow_unsigned
, signed_16_32
, m_or_none
)
131 DEF_MVE_FUNCTION (vqmovuntq
, binary_move_narrow_unsigned
, signed_16_32
, m_or_none
)
132 DEF_MVE_FUNCTION (vqnegq
, unary
, all_signed
, m_or_none
)
133 DEF_MVE_FUNCTION (vqrdmladhq
, ternary
, all_signed
, m_or_none
)
134 DEF_MVE_FUNCTION (vqrdmladhxq
, ternary
, all_signed
, m_or_none
)
135 DEF_MVE_FUNCTION (vqrdmlahq
, ternary_n
, all_signed
, m_or_none
)
136 DEF_MVE_FUNCTION (vqrdmlashq
, ternary_n
, all_signed
, m_or_none
)
137 DEF_MVE_FUNCTION (vqrdmlsdhq
, ternary
, all_signed
, m_or_none
)
138 DEF_MVE_FUNCTION (vqrdmlsdhxq
, ternary
, all_signed
, m_or_none
)
139 DEF_MVE_FUNCTION (vqrdmulhq
, binary_opt_n
, all_signed
, m_or_none
)
140 DEF_MVE_FUNCTION (vqrshlq
, binary_round_lshift
, all_integer
, m_or_none
)
141 DEF_MVE_FUNCTION (vqrshrnbq
, binary_rshift_narrow
, integer_16_32
, m_or_none
)
142 DEF_MVE_FUNCTION (vqrshrntq
, binary_rshift_narrow
, integer_16_32
, m_or_none
)
143 DEF_MVE_FUNCTION (vqrshrunbq
, binary_rshift_narrow_unsigned
, signed_16_32
, m_or_none
)
144 DEF_MVE_FUNCTION (vqrshruntq
, binary_rshift_narrow_unsigned
, signed_16_32
, m_or_none
)
145 DEF_MVE_FUNCTION (vqshlq
, binary_lshift
, all_integer
, m_or_none
)
146 DEF_MVE_FUNCTION (vqshlq
, binary_lshift_r
, all_integer
, m_or_none
)
147 DEF_MVE_FUNCTION (vqshluq
, binary_lshift_unsigned
, all_signed
, m_or_none
)
148 DEF_MVE_FUNCTION (vqshrnbq
, binary_rshift_narrow
, integer_16_32
, m_or_none
)
149 DEF_MVE_FUNCTION (vqshrntq
, binary_rshift_narrow
, integer_16_32
, m_or_none
)
150 DEF_MVE_FUNCTION (vqshrunbq
, binary_rshift_narrow_unsigned
, signed_16_32
, m_or_none
)
151 DEF_MVE_FUNCTION (vqshruntq
, binary_rshift_narrow_unsigned
, signed_16_32
, m_or_none
)
152 DEF_MVE_FUNCTION (vqsubq
, binary_opt_n
, all_integer
, m_or_none
)
153 DEF_MVE_FUNCTION (vreinterpretq
, unary_convert
, reinterpret_integer
, none
)
154 DEF_MVE_FUNCTION (vrev16q
, unary
, integer_8
, mx_or_none
)
155 DEF_MVE_FUNCTION (vrev32q
, unary
, integer_8_16
, mx_or_none
)
156 DEF_MVE_FUNCTION (vrev64q
, unary
, all_integer
, mx_or_none
)
157 DEF_MVE_FUNCTION (vrhaddq
, binary
, all_integer
, mx_or_none
)
158 DEF_MVE_FUNCTION (vrmlaldavhaq
, binary_acca_int64
, integer_32
, p_or_none
)
159 DEF_MVE_FUNCTION (vrmlaldavhaxq
, binary_acca_int64
, integer_32
, p_or_none
)
160 DEF_MVE_FUNCTION (vrmlaldavhq
, binary_acc_int64
, integer_32
, p_or_none
)
161 DEF_MVE_FUNCTION (vrmlaldavhxq
, binary_acc_int64
, signed_32
, p_or_none
)
162 DEF_MVE_FUNCTION (vrmlsldavhaq
, binary_acca_int64
, integer_32
, p_or_none
)
163 DEF_MVE_FUNCTION (vrmlsldavhaxq
, binary_acca_int64
, integer_32
, p_or_none
)
164 DEF_MVE_FUNCTION (vrmlsldavhq
, binary_acc_int64
, signed_32
, p_or_none
)
165 DEF_MVE_FUNCTION (vrmlsldavhxq
, binary_acc_int64
, signed_32
, p_or_none
)
166 DEF_MVE_FUNCTION (vrmulhq
, binary
, all_integer
, mx_or_none
)
167 DEF_MVE_FUNCTION (vrshlq
, binary_round_lshift
, all_integer
, mx_or_none
)
168 DEF_MVE_FUNCTION (vrshrnbq
, binary_rshift_narrow
, integer_16_32
, m_or_none
)
169 DEF_MVE_FUNCTION (vrshrntq
, binary_rshift_narrow
, integer_16_32
, m_or_none
)
170 DEF_MVE_FUNCTION (vrshrq
, binary_rshift
, all_integer
, mx_or_none
)
171 DEF_MVE_FUNCTION (vsbciq
, vadc_vsbc
, integer_32
, m_or_none
)
172 DEF_MVE_FUNCTION (vsbcq
, vadc_vsbc
, integer_32
, m_or_none
)
173 DEF_MVE_FUNCTION (vshlcq
, vshlc
, all_integer
, m_or_none
)
174 DEF_MVE_FUNCTION (vshllbq
, binary_widen_n
, integer_8_16
, mx_or_none
)
175 DEF_MVE_FUNCTION (vshlltq
, binary_widen_n
, integer_8_16
, mx_or_none
)
176 DEF_MVE_FUNCTION (vshlq
, binary_lshift
, all_integer
, mx_or_none
)
177 DEF_MVE_FUNCTION (vshlq
, binary_lshift_r
, all_integer
, m_or_none
) // "_r" forms do not support the
"x" predicate
178 DEF_MVE_FUNCTION (vshrnbq
, binary_rshift_narrow
, integer_16_32
, m_or_none
)
179 DEF_MVE_FUNCTION (vshrntq
, binary_rshift_narrow
, integer_16_32
, m_or_none
)
180 DEF_MVE_FUNCTION (vshrq
, binary_rshift
, all_integer
, mx_or_none
)
181 DEF_MVE_FUNCTION (vsliq
, ternary_lshift
, all_integer
, m_or_none
)
182 DEF_MVE_FUNCTION (vsriq
, ternary_rshift
, all_integer
, m_or_none
)
183 DEF_MVE_FUNCTION (vst1q
, store
, all_integer
, p_or_none
)
184 DEF_MVE_FUNCTION (vst2q
, store
, all_integer
, none
)
185 DEF_MVE_FUNCTION (vst4q
, store
, all_integer
, none
)
186 DEF_MVE_FUNCTION (vstrbq
, store
, all_integer
, p_or_none
)
187 DEF_MVE_FUNCTION (vstrbq_scatter
, store_scatter_offset
, all_integer
, p_or_none
)
188 DEF_MVE_FUNCTION (vstrhq
, store
, integer_16_32
, p_or_none
)
189 DEF_MVE_FUNCTION (vstrhq_scatter
, store_scatter_offset
, integer_16_32
, p_or_none
)
190 DEF_MVE_FUNCTION (vstrhq_scatter_shifted
, store_scatter_offset
, integer_16_32
, p_or_none
)
191 DEF_MVE_FUNCTION (vstrwq
, store
, integer_32
, p_or_none
)
192 DEF_MVE_FUNCTION (vstrwq_scatter
, store_scatter_offset
, integer_32
, p_or_none
)
193 DEF_MVE_FUNCTION (vstrwq_scatter_base
, store_scatter_base
, integer_32
, p_or_none
)
194 DEF_MVE_FUNCTION (vstrwq_scatter_shifted
, store_scatter_offset
, integer_32
, p_or_none
)
195 DEF_MVE_FUNCTION (vstrdq_scatter
, store_scatter_offset
, integer_64
, p_or_none
)
196 DEF_MVE_FUNCTION (vstrdq_scatter_base
, store_scatter_base
, integer_64
, p_or_none
)
197 DEF_MVE_FUNCTION (vstrdq_scatter_shifted
, store_scatter_offset
, integer_64
, p_or_none
)
198 DEF_MVE_FUNCTION (vsubq
, binary_opt_n
, all_integer
, mx_or_none
)
199 DEF_MVE_FUNCTION (vuninitializedq
, inherent
, all_integer_with_64
, none
)
200 #undef REQUIRES_FLOAT
202 #define REQUIRES_FLOAT true
203 DEF_MVE_FUNCTION (vabdq
, binary
, all_float
, mx_or_none
)
204 DEF_MVE_FUNCTION (vabsq
, unary
, all_float
, mx_or_none
)
205 DEF_MVE_FUNCTION (vaddq
, binary_opt_n
, all_float
, mx_or_none
)
206 DEF_MVE_FUNCTION (vandq
, binary
, all_float
, mx_or_none
)
207 DEF_MVE_FUNCTION (vbicq
, binary_orrq
, all_float
, mx_or_none
)
208 DEF_MVE_FUNCTION (vbrsrq
, binary_imm32
, all_float
, mx_or_none
)
209 DEF_MVE_FUNCTION (vcaddq_rot270
, binary
, all_float
, mx_or_none
)
210 DEF_MVE_FUNCTION (vcaddq_rot90
, binary
, all_float
, mx_or_none
)
211 DEF_MVE_FUNCTION (vcmlaq
, ternary
, all_float
, m_or_none
)
212 DEF_MVE_FUNCTION (vcmlaq_rot180
, ternary
, all_float
, m_or_none
)
213 DEF_MVE_FUNCTION (vcmlaq_rot270
, ternary
, all_float
, m_or_none
)
214 DEF_MVE_FUNCTION (vcmlaq_rot90
, ternary
, all_float
, m_or_none
)
215 DEF_MVE_FUNCTION (vcmpeqq
, cmp
, all_float
, m_or_none
)
216 DEF_MVE_FUNCTION (vcmpgeq
, cmp
, all_float
, m_or_none
)
217 DEF_MVE_FUNCTION (vcmpgtq
, cmp
, all_float
, m_or_none
)
218 DEF_MVE_FUNCTION (vcmpleq
, cmp
, all_float
, m_or_none
)
219 DEF_MVE_FUNCTION (vcmpltq
, cmp
, all_float
, m_or_none
)
220 DEF_MVE_FUNCTION (vcmpneq
, cmp
, all_float
, m_or_none
)
221 DEF_MVE_FUNCTION (vcmulq
, binary
, all_float
, mx_or_none
)
222 DEF_MVE_FUNCTION (vcmulq_rot180
, binary
, all_float
, mx_or_none
)
223 DEF_MVE_FUNCTION (vcmulq_rot270
, binary
, all_float
, mx_or_none
)
224 DEF_MVE_FUNCTION (vcmulq_rot90
, binary
, all_float
, mx_or_none
)
225 DEF_MVE_FUNCTION (vcreateq
, create
, all_float
, none
)
226 DEF_MVE_FUNCTION (vcvtaq
, vcvtx
, cvtx
, mx_or_none
)
227 DEF_MVE_FUNCTION (vcvtbq
, vcvt_f16_f32
, cvt_f16_f32
, mx_or_none
)
228 DEF_MVE_FUNCTION (vcvtbq
, vcvt_f32_f16
, cvt_f32_f16
, mx_or_none
)
229 DEF_MVE_FUNCTION (vcvtmq
, vcvtx
, cvtx
, mx_or_none
)
230 DEF_MVE_FUNCTION (vcvtnq
, vcvtx
, cvtx
, mx_or_none
)
231 DEF_MVE_FUNCTION (vcvtpq
, vcvtx
, cvtx
, mx_or_none
)
232 DEF_MVE_FUNCTION (vcvtq
, vcvt
, cvt
, mx_or_none
)
233 DEF_MVE_FUNCTION (vcvttq
, vcvt_f16_f32
, cvt_f16_f32
, mx_or_none
)
234 DEF_MVE_FUNCTION (vcvttq
, vcvt_f32_f16
, cvt_f32_f16
, mx_or_none
)
235 DEF_MVE_FUNCTION (vdupq
, unary_n
, all_float
, mx_or_none
)
236 DEF_MVE_FUNCTION (veorq
, binary
, all_float
, mx_or_none
)
237 DEF_MVE_FUNCTION (vfmaq
, ternary_opt_n
, all_float
, m_or_none
)
238 DEF_MVE_FUNCTION (vfmasq
, ternary_n
, all_float
, m_or_none
)
239 DEF_MVE_FUNCTION (vfmsq
, ternary
, all_float
, m_or_none
)
240 DEF_MVE_FUNCTION (vld1q
, load
, all_float
, z_or_none
)
241 DEF_MVE_FUNCTION (vld2q
, load
, all_float
, none
)
242 DEF_MVE_FUNCTION (vld4q
, load
, all_float
, none
)
243 DEF_MVE_FUNCTION (vldrhq
, load_ext
, float_16
, z_or_none
)
244 DEF_MVE_FUNCTION (vldrhq_gather
, load_ext_gather_offset
, float_16
, z_or_none
)
245 DEF_MVE_FUNCTION (vldrhq_gather_shifted
, load_ext_gather_offset
, float_16
, z_or_none
)
246 DEF_MVE_FUNCTION (vldrwq
, load_ext
, float_32
, z_or_none
)
247 DEF_MVE_FUNCTION (vldrwq_gather
, load_ext_gather_offset
, float_32
, z_or_none
)
248 DEF_MVE_FUNCTION (vldrwq_gather_base
, load_gather_base
, float_32
, z_or_none
)
249 DEF_MVE_FUNCTION (vldrwq_gather_shifted
, load_ext_gather_offset
, float_32
, z_or_none
)
250 DEF_MVE_FUNCTION (vmaxnmaq
, binary
, all_float
, m_or_none
)
251 DEF_MVE_FUNCTION (vmaxnmavq
, binary_maxvminv
, all_float
, p_or_none
)
252 DEF_MVE_FUNCTION (vmaxnmq
, binary
, all_float
, mx_or_none
)
253 DEF_MVE_FUNCTION (vmaxnmvq
, binary_maxvminv
, all_float
, p_or_none
)
254 DEF_MVE_FUNCTION (vminnmaq
, binary
, all_float
, m_or_none
)
255 DEF_MVE_FUNCTION (vminnmavq
, binary_maxvminv
, all_float
, p_or_none
)
256 DEF_MVE_FUNCTION (vminnmq
, binary
, all_float
, mx_or_none
)
257 DEF_MVE_FUNCTION (vminnmvq
, binary_maxvminv
, all_float
, p_or_none
)
258 DEF_MVE_FUNCTION (vmulq
, binary_opt_n
, all_float
, mx_or_none
)
259 DEF_MVE_FUNCTION (vnegq
, unary
, all_float
, mx_or_none
)
260 DEF_MVE_FUNCTION (vornq
, binary_orrq
, all_float
, mx_or_none
)
261 DEF_MVE_FUNCTION (vorrq
, binary_orrq
, all_float
, mx_or_none
)
262 DEF_MVE_FUNCTION (vpselq
, vpsel
, all_float
, none
)
263 DEF_MVE_FUNCTION (vreinterpretq
, unary_convert
, reinterpret_float
, none
)
264 DEF_MVE_FUNCTION (vrev32q
, unary
, float_16
, mx_or_none
)
265 DEF_MVE_FUNCTION (vrev64q
, unary
, all_float
, mx_or_none
)
266 DEF_MVE_FUNCTION (vrndaq
, unary
, all_float
, mx_or_none
)
267 DEF_MVE_FUNCTION (vrndmq
, unary
, all_float
, mx_or_none
)
268 DEF_MVE_FUNCTION (vrndnq
, unary
, all_float
, mx_or_none
)
269 DEF_MVE_FUNCTION (vrndpq
, unary
, all_float
, mx_or_none
)
270 DEF_MVE_FUNCTION (vrndq
, unary
, all_float
, mx_or_none
)
271 DEF_MVE_FUNCTION (vrndxq
, unary
, all_float
, mx_or_none
)
272 DEF_MVE_FUNCTION (vst1q
, store
, all_float
, p_or_none
)
273 DEF_MVE_FUNCTION (vst2q
, store
, all_float
, none
)
274 DEF_MVE_FUNCTION (vst4q
, store
, all_float
, none
)
275 DEF_MVE_FUNCTION (vstrhq
, store
, float_16
, p_or_none
)
276 DEF_MVE_FUNCTION (vstrhq_scatter
, store_scatter_offset
, float_16
, p_or_none
)
277 DEF_MVE_FUNCTION (vstrhq_scatter_shifted
, store_scatter_offset
, float_16
, p_or_none
)
278 DEF_MVE_FUNCTION (vstrwq
, store
, float_32
, p_or_none
)
279 DEF_MVE_FUNCTION (vstrwq_scatter
, store_scatter_offset
, float_32
, p_or_none
)
280 DEF_MVE_FUNCTION (vstrwq_scatter_base
, store_scatter_base
, float_32
, p_or_none
)
281 DEF_MVE_FUNCTION (vstrwq_scatter_shifted
, store_scatter_offset
, float_32
, p_or_none
)
282 DEF_MVE_FUNCTION (vsubq
, binary_opt_n
, all_float
, mx_or_none
)
283 DEF_MVE_FUNCTION (vuninitializedq
, inherent
, all_float
, none
)
284 #undef REQUIRES_FLOAT