c++: OVERLOAD in diagnostics
[official-gcc.git] / gcc / config / aarch64 / aarch64-sve-builtins-base.def
blob65fcba915866961deac6dd08dcbfe9a06bd26429
1 /* ACLE support for AArch64 SVE (__ARM_FEATURE_SVE intrinsics)
2 Copyright (C) 2018-2024 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)
9 any later version.
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 REQUIRED_EXTENSIONS AARCH64_FL_SVE
21 DEF_SVE_FUNCTION (svabd, binary_opt_n, all_arith, mxz)
22 DEF_SVE_FUNCTION (svabs, unary, all_float_and_signed, mxz)
23 DEF_SVE_FUNCTION (svacge, compare_opt_n, all_float, implicit)
24 DEF_SVE_FUNCTION (svacgt, compare_opt_n, all_float, implicit)
25 DEF_SVE_FUNCTION (svacle, compare_opt_n, all_float, implicit)
26 DEF_SVE_FUNCTION (svaclt, compare_opt_n, all_float, implicit)
27 DEF_SVE_FUNCTION (svadd, binary_opt_n, all_arith, mxz)
28 DEF_SVE_FUNCTION (svaddv, reduction_wide, all_arith, implicit)
29 DEF_SVE_FUNCTION (svand, binary_opt_n, all_integer, mxz)
30 DEF_SVE_FUNCTION (svand, binary_opt_n, b, z)
31 DEF_SVE_FUNCTION (svandv, reduction, all_integer, implicit)
32 DEF_SVE_FUNCTION (svasr, binary_uint_opt_n, all_signed, mxz)
33 DEF_SVE_FUNCTION (svasr_wide, binary_uint64_opt_n, bhs_signed, mxz)
34 DEF_SVE_FUNCTION (svasrd, shift_right_imm, all_signed, mxz)
35 DEF_SVE_FUNCTION (svbic, binary_opt_n, all_integer, mxz)
36 DEF_SVE_FUNCTION (svbic, binary_opt_n, b, z)
37 DEF_SVE_FUNCTION (svbrka, unary, b, mz)
38 DEF_SVE_FUNCTION (svbrkb, unary, b, mz)
39 DEF_SVE_FUNCTION (svbrkn, binary, b, z)
40 DEF_SVE_FUNCTION (svbrkpa, binary, b, z)
41 DEF_SVE_FUNCTION (svbrkpb, binary, b, z)
42 DEF_SVE_FUNCTION (svcadd, binary_rotate, all_float, mxz)
43 DEF_SVE_FUNCTION (svclasta, clast, all_data, implicit)
44 DEF_SVE_FUNCTION (svclastb, clast, all_data, implicit)
45 DEF_SVE_FUNCTION (svcls, unary_to_uint, all_signed, mxz)
46 DEF_SVE_FUNCTION (svclz, unary_to_uint, all_integer, mxz)
47 DEF_SVE_FUNCTION (svcmla, ternary_rotate, all_float, mxz)
48 DEF_SVE_FUNCTION (svcmla_lane, ternary_lane_rotate, hs_float, none)
49 DEF_SVE_FUNCTION (svcmpeq, compare_opt_n, all_arith, implicit)
50 DEF_SVE_FUNCTION (svcmpeq_wide, compare_wide_opt_n, bhs_signed, implicit)
51 DEF_SVE_FUNCTION (svcmpge, compare_opt_n, all_arith, implicit)
52 DEF_SVE_FUNCTION (svcmpge_wide, compare_wide_opt_n, bhs_integer, implicit)
53 DEF_SVE_FUNCTION (svcmpgt, compare_opt_n, all_arith, implicit)
54 DEF_SVE_FUNCTION (svcmpgt_wide, compare_wide_opt_n, bhs_integer, implicit)
55 DEF_SVE_FUNCTION (svcmple, compare_opt_n, all_arith, implicit)
56 DEF_SVE_FUNCTION (svcmple_wide, compare_wide_opt_n, bhs_integer, implicit)
57 DEF_SVE_FUNCTION (svcmplt, compare_opt_n, all_arith, implicit)
58 DEF_SVE_FUNCTION (svcmplt_wide, compare_wide_opt_n, bhs_integer, implicit)
59 DEF_SVE_FUNCTION (svcmpne, compare_opt_n, all_arith, implicit)
60 DEF_SVE_FUNCTION (svcmpne_wide, compare_wide_opt_n, bhs_signed, implicit)
61 DEF_SVE_FUNCTION (svcmpuo, compare_opt_n, all_float, implicit)
62 DEF_SVE_FUNCTION (svcnot, unary, all_integer, mxz)
63 DEF_SVE_FUNCTION (svcnt, unary_to_uint, all_data, mxz)
64 DEF_SVE_FUNCTION (svcntb, count_inherent, none, none)
65 DEF_SVE_FUNCTION (svcntb_pat, count_pat, none, none)
66 DEF_SVE_FUNCTION (svcntd, count_inherent, none, none)
67 DEF_SVE_FUNCTION (svcntd_pat, count_pat, none, none)
68 DEF_SVE_FUNCTION (svcnth, count_inherent, none, none)
69 DEF_SVE_FUNCTION (svcnth_pat, count_pat, none, none)
70 DEF_SVE_FUNCTION (svcntp, count_pred, all_pred, implicit)
71 DEF_SVE_FUNCTION (svcntw, count_inherent, none, none)
72 DEF_SVE_FUNCTION (svcntw_pat, count_pat, none, none)
73 DEF_SVE_FUNCTION (svcreate2, create, all_data, none)
74 DEF_SVE_FUNCTION (svcreate2, create, b, none)
75 DEF_SVE_FUNCTION (svcreate3, create, all_data, none)
76 DEF_SVE_FUNCTION (svcreate4, create, all_data, none)
77 DEF_SVE_FUNCTION (svcvt, unary_convertxn, cvt, mxz)
78 DEF_SVE_FUNCTION (svdiv, binary_opt_n, all_float_and_sd_integer, mxz)
79 DEF_SVE_FUNCTION (svdivr, binary_opt_n, all_float_and_sd_integer, mxz)
80 DEF_SVE_FUNCTION (svdot, ternary_qq_opt_n_or_011, sd_integer, none)
81 DEF_SVE_FUNCTION (svdot_lane, ternary_qq_or_011_lane, sd_integer, none)
82 DEF_SVE_FUNCTION (svdup, unary_n, all_data, mxz_or_none)
83 DEF_SVE_FUNCTION (svdup, unary_n, all_pred, none)
84 DEF_SVE_FUNCTION (svdup_lane, binary_uint_n, all_data, none)
85 DEF_SVE_FUNCTION (svdupq, dupq, all_data, none)
86 DEF_SVE_FUNCTION (svdupq, dupq, all_pred, none)
87 DEF_SVE_FUNCTION (svdupq_lane, binary_uint64_n, all_data, none)
88 DEF_SVE_FUNCTION (sveor, binary_opt_n, all_integer, mxz)
89 DEF_SVE_FUNCTION (sveor, binary_opt_n, b, z)
90 DEF_SVE_FUNCTION (sveorv, reduction, all_integer, implicit)
91 DEF_SVE_FUNCTION (svext, ext, all_data, none)
92 DEF_SVE_FUNCTION (svextb, unary, hsd_integer, mxz)
93 DEF_SVE_FUNCTION (svexth, unary, sd_integer, mxz)
94 DEF_SVE_FUNCTION (svextw, unary, d_integer, mxz)
95 DEF_SVE_FUNCTION (svget2, get, all_data, none)
96 DEF_SVE_FUNCTION (svget2, get, b, none)
97 DEF_SVE_FUNCTION (svget3, get, all_data, none)
98 DEF_SVE_FUNCTION (svget4, get, all_data, none)
99 DEF_SVE_FUNCTION (svindex, binary_scalar, all_integer, none)
100 DEF_SVE_FUNCTION (svinsr, binary_n, all_data, none)
101 DEF_SVE_FUNCTION (svlasta, reduction, all_data, implicit)
102 DEF_SVE_FUNCTION (svlastb, reduction, all_data, implicit)
103 DEF_SVE_FUNCTION (svld1, load, all_data, implicit)
104 DEF_SVE_FUNCTION (svld1rq, load_replicate, all_data, implicit)
105 DEF_SVE_FUNCTION (svld1sb, load_ext, hsd_integer, implicit)
106 DEF_SVE_FUNCTION (svld1sh, load_ext, sd_integer, implicit)
107 DEF_SVE_FUNCTION (svld1sw, load_ext, d_integer, implicit)
108 DEF_SVE_FUNCTION (svld1ub, load_ext, hsd_integer, implicit)
109 DEF_SVE_FUNCTION (svld1uh, load_ext, sd_integer, implicit)
110 DEF_SVE_FUNCTION (svld1uw, load_ext, d_integer, implicit)
111 DEF_SVE_FUNCTION (svldnt1, load, all_data, implicit)
112 DEF_SVE_FUNCTION (svld2, load, all_data, implicit)
113 DEF_SVE_FUNCTION (svld3, load, all_data, implicit)
114 DEF_SVE_FUNCTION (svld4, load, all_data, implicit)
115 DEF_SVE_FUNCTION (svlen, count_vector, all_data, none)
116 DEF_SVE_FUNCTION (svlsl, binary_uint_opt_n, all_integer, mxz)
117 DEF_SVE_FUNCTION (svlsl_wide, binary_uint64_opt_n, bhs_integer, mxz)
118 DEF_SVE_FUNCTION (svlsr, binary_uint_opt_n, all_unsigned, mxz)
119 DEF_SVE_FUNCTION (svlsr_wide, binary_uint64_opt_n, bhs_unsigned, mxz)
120 DEF_SVE_FUNCTION (svmad, ternary_opt_n, all_arith, mxz)
121 DEF_SVE_FUNCTION (svmax, binary_opt_single_n, all_arith, mxz)
122 DEF_SVE_FUNCTION (svmaxnm, binary_opt_single_n, all_float, mxz)
123 DEF_SVE_FUNCTION (svmaxnmv, reduction, all_float, implicit)
124 DEF_SVE_FUNCTION (svmaxv, reduction, all_arith, implicit)
125 DEF_SVE_FUNCTION (svmin, binary_opt_single_n, all_arith, mxz)
126 DEF_SVE_FUNCTION (svminnm, binary_opt_single_n, all_float, mxz)
127 DEF_SVE_FUNCTION (svminnmv, reduction, all_float, implicit)
128 DEF_SVE_FUNCTION (svminv, reduction, all_arith, implicit)
129 DEF_SVE_FUNCTION (svmla, ternary_opt_n, all_arith, mxz)
130 DEF_SVE_FUNCTION (svmla_lane, ternary_lane, all_float, none)
131 DEF_SVE_FUNCTION (svmls, ternary_opt_n, all_arith, mxz)
132 DEF_SVE_FUNCTION (svmls_lane, ternary_lane, all_float, none)
133 DEF_SVE_FUNCTION (svmov, unary, b, z)
134 DEF_SVE_FUNCTION (svmsb, ternary_opt_n, all_arith, mxz)
135 DEF_SVE_FUNCTION (svmul, binary_opt_n, all_arith, mxz)
136 DEF_SVE_FUNCTION (svmul_lane, binary_lane, all_float, none)
137 DEF_SVE_FUNCTION (svmulh, binary_opt_n, all_integer, mxz)
138 DEF_SVE_FUNCTION (svmulx, binary_opt_n, all_float, mxz)
139 DEF_SVE_FUNCTION (svnand, binary_opt_n, b, z)
140 DEF_SVE_FUNCTION (svneg, unary, all_float_and_signed, mxz)
141 DEF_SVE_FUNCTION (svnmad, ternary_opt_n, all_float, mxz)
142 DEF_SVE_FUNCTION (svnmla, ternary_opt_n, all_float, mxz)
143 DEF_SVE_FUNCTION (svnmls, ternary_opt_n, all_float, mxz)
144 DEF_SVE_FUNCTION (svnmsb, ternary_opt_n, all_float, mxz)
145 DEF_SVE_FUNCTION (svnor, binary_opt_n, b, z)
146 DEF_SVE_FUNCTION (svnot, unary, all_integer, mxz)
147 DEF_SVE_FUNCTION (svnot, unary, b, z)
148 DEF_SVE_FUNCTION (svorn, binary_opt_n, b, z)
149 DEF_SVE_FUNCTION (svorr, binary_opt_n, all_integer, mxz)
150 DEF_SVE_FUNCTION (svorr, binary_opt_n, b, z)
151 DEF_SVE_FUNCTION (svorv, reduction, all_integer, implicit)
152 DEF_SVE_FUNCTION (svpfalse, inherent_b, b, none)
153 DEF_SVE_FUNCTION (svpfalse, inherent, c, none)
154 DEF_SVE_FUNCTION (svpfirst, unary, b, implicit)
155 DEF_SVE_FUNCTION (svpnext, unary_pred, all_pred, implicit)
156 DEF_SVE_FUNCTION (svprfb, prefetch, none, implicit)
157 DEF_SVE_FUNCTION (svprfd, prefetch, none, implicit)
158 DEF_SVE_FUNCTION (svprfh, prefetch, none, implicit)
159 DEF_SVE_FUNCTION (svprfw, prefetch, none, implicit)
160 DEF_SVE_FUNCTION (svptest_any, ptest, none, implicit)
161 DEF_SVE_FUNCTION (svptest_first, ptest, none, implicit)
162 DEF_SVE_FUNCTION (svptest_last, ptest, none, implicit)
163 DEF_SVE_FUNCTION (svptrue, inherent, all_pred, none)
164 DEF_SVE_FUNCTION (svptrue_pat, pattern_pred, all_pred, none)
165 DEF_SVE_FUNCTION (svqadd, binary_opt_n, all_integer, none)
166 DEF_SVE_FUNCTION (svqdecb, inc_dec, sd_integer, none)
167 DEF_SVE_FUNCTION (svqdecb_pat, inc_dec_pat, sd_integer, none)
168 DEF_SVE_FUNCTION (svqdecd, inc_dec, d_integer, none)
169 DEF_SVE_FUNCTION (svqdecd, inc_dec, sd_integer, none)
170 DEF_SVE_FUNCTION (svqdecd_pat, inc_dec_pat, d_integer, none)
171 DEF_SVE_FUNCTION (svqdecd_pat, inc_dec_pat, sd_integer, none)
172 DEF_SVE_FUNCTION (svqdech, inc_dec, h_integer, none)
173 DEF_SVE_FUNCTION (svqdech, inc_dec, sd_integer, none)
174 DEF_SVE_FUNCTION (svqdech_pat, inc_dec_pat, h_integer, none)
175 DEF_SVE_FUNCTION (svqdech_pat, inc_dec_pat, sd_integer, none)
176 DEF_SVE_FUNCTION (svqdecp, inc_dec_pred, hsd_integer, none)
177 DEF_SVE_FUNCTION (svqdecp, inc_dec_pred_scalar, inc_dec_n, none)
178 DEF_SVE_FUNCTION (svqdecw, inc_dec, s_integer, none)
179 DEF_SVE_FUNCTION (svqdecw, inc_dec, sd_integer, none)
180 DEF_SVE_FUNCTION (svqdecw_pat, inc_dec_pat, s_integer, none)
181 DEF_SVE_FUNCTION (svqdecw_pat, inc_dec_pat, sd_integer, none)
182 DEF_SVE_FUNCTION (svqincb, inc_dec, sd_integer, none)
183 DEF_SVE_FUNCTION (svqincb_pat, inc_dec_pat, sd_integer, none)
184 DEF_SVE_FUNCTION (svqincd, inc_dec, d_integer, none)
185 DEF_SVE_FUNCTION (svqincd, inc_dec, sd_integer, none)
186 DEF_SVE_FUNCTION (svqincd_pat, inc_dec_pat, d_integer, none)
187 DEF_SVE_FUNCTION (svqincd_pat, inc_dec_pat, sd_integer, none)
188 DEF_SVE_FUNCTION (svqinch, inc_dec, h_integer, none)
189 DEF_SVE_FUNCTION (svqinch, inc_dec, sd_integer, none)
190 DEF_SVE_FUNCTION (svqinch_pat, inc_dec_pat, h_integer, none)
191 DEF_SVE_FUNCTION (svqinch_pat, inc_dec_pat, sd_integer, none)
192 DEF_SVE_FUNCTION (svqincp, inc_dec_pred, hsd_integer, none)
193 DEF_SVE_FUNCTION (svqincp, inc_dec_pred_scalar, inc_dec_n, none)
194 DEF_SVE_FUNCTION (svqincw, inc_dec, s_integer, none)
195 DEF_SVE_FUNCTION (svqincw, inc_dec, sd_integer, none)
196 DEF_SVE_FUNCTION (svqincw_pat, inc_dec_pat, s_integer, none)
197 DEF_SVE_FUNCTION (svqincw_pat, inc_dec_pat, sd_integer, none)
198 DEF_SVE_FUNCTION (svqsub, binary_opt_n, all_integer, none)
199 DEF_SVE_FUNCTION (svrbit, unary, all_integer, mxz)
200 DEF_SVE_FUNCTION (svrecpe, unary, all_float, none)
201 DEF_SVE_FUNCTION (svrecps, binary, all_float, none)
202 DEF_SVE_FUNCTION (svrecpx, unary, all_float, mxz)
203 DEF_SVE_FUNCTION_GS (svreinterpret, reinterpret, reinterpret, x1234, none)
204 DEF_SVE_FUNCTION (svreinterpret, reinterpret, reinterpret_b, none)
205 DEF_SVE_FUNCTION (svrev, unary, all_data, none)
206 DEF_SVE_FUNCTION (svrev, unary_pred, all_pred, none)
207 DEF_SVE_FUNCTION (svrevb, unary, hsd_integer, mxz)
208 DEF_SVE_FUNCTION (svrevh, unary, sd_integer, mxz)
209 DEF_SVE_FUNCTION (svrevw, unary, d_integer, mxz)
210 DEF_SVE_FUNCTION (svrinta, unaryxn, all_float, mxz)
211 DEF_SVE_FUNCTION (svrinti, unary, all_float, mxz)
212 DEF_SVE_FUNCTION (svrintm, unaryxn, all_float, mxz)
213 DEF_SVE_FUNCTION (svrintn, unaryxn, all_float, mxz)
214 DEF_SVE_FUNCTION (svrintp, unaryxn, all_float, mxz)
215 DEF_SVE_FUNCTION (svrintx, unary, all_float, mxz)
216 DEF_SVE_FUNCTION (svrintz, unary, all_float, mxz)
217 DEF_SVE_FUNCTION (svrsqrte, unary, all_float, none)
218 DEF_SVE_FUNCTION (svrsqrts, binary, all_float, none)
219 DEF_SVE_FUNCTION (svscale, binary_int_opt_n, all_float, mxz)
220 DEF_SVE_FUNCTION (svsel, binaryxn, all_data, implicit)
221 DEF_SVE_FUNCTION (svsel, binaryxn, b, implicit)
222 DEF_SVE_FUNCTION (svset2, set, all_data, none)
223 DEF_SVE_FUNCTION (svset2, set, b, none)
224 DEF_SVE_FUNCTION (svset3, set, all_data, none)
225 DEF_SVE_FUNCTION (svset4, set, all_data, none)
226 DEF_SVE_FUNCTION (svsplice, binary, all_data, implicit)
227 DEF_SVE_FUNCTION (svsqrt, unary, all_float, mxz)
228 DEF_SVE_FUNCTION (svst1, storexn, all_data, implicit)
229 DEF_SVE_FUNCTION (svst1b, store, hsd_integer, implicit)
230 DEF_SVE_FUNCTION (svst1h, store, sd_integer, implicit)
231 DEF_SVE_FUNCTION (svst1w, store, d_integer, implicit)
232 DEF_SVE_FUNCTION (svst2, store, all_data, implicit)
233 DEF_SVE_FUNCTION (svst3, store, all_data, implicit)
234 DEF_SVE_FUNCTION (svst4, store, all_data, implicit)
235 DEF_SVE_FUNCTION (svstnt1, storexn, all_data, implicit)
236 DEF_SVE_FUNCTION (svsub, binary_opt_n, all_arith, mxz)
237 DEF_SVE_FUNCTION (svsubr, binary_opt_n, all_arith, mxz)
238 DEF_SVE_FUNCTION (svtbl, binary_uint, all_data, none)
239 DEF_SVE_FUNCTION (svtrn1, binary, all_data, none)
240 DEF_SVE_FUNCTION (svtrn1, binary_pred, all_pred, none)
241 DEF_SVE_FUNCTION (svtrn2, binary, all_data, none)
242 DEF_SVE_FUNCTION (svtrn2, binary_pred, all_pred, none)
243 DEF_SVE_FUNCTION (svundef, inherent, all_data, none)
244 DEF_SVE_FUNCTION (svundef2, inherent, all_data, none)
245 DEF_SVE_FUNCTION (svundef2, inherent, b, none)
246 DEF_SVE_FUNCTION (svundef3, inherent, all_data, none)
247 DEF_SVE_FUNCTION (svundef4, inherent, all_data, none)
248 DEF_SVE_FUNCTION (svunpkhi, unary_widen, hsd_integer, none)
249 DEF_SVE_FUNCTION (svunpkhi, unary_widen, b, none)
250 DEF_SVE_FUNCTION (svunpklo, unary_widen, hsd_integer, none)
251 DEF_SVE_FUNCTION (svunpklo, unary_widen, b, none)
252 DEF_SVE_FUNCTION (svuzp1, binary, all_data, none)
253 DEF_SVE_FUNCTION (svuzp1, binary_pred, all_pred, none)
254 DEF_SVE_FUNCTION (svuzp2, binary, all_data, none)
255 DEF_SVE_FUNCTION (svuzp2, binary_pred, all_pred, none)
256 DEF_SVE_FUNCTION (svwhilele, compare_scalar, while, none)
257 DEF_SVE_FUNCTION (svwhilelt, compare_scalar, while, none)
258 DEF_SVE_FUNCTION (svzip1, binary, all_data, none)
259 DEF_SVE_FUNCTION (svzip1, binary_pred, all_pred, none)
260 DEF_SVE_FUNCTION (svzip2, binary, all_data, none)
261 DEF_SVE_FUNCTION (svzip2, binary_pred, all_pred, none)
262 #undef REQUIRED_EXTENSIONS
264 #define REQUIRED_EXTENSIONS AARCH64_FL_SVE | AARCH64_FL_SM_OFF
265 DEF_SVE_FUNCTION (svadda, fold_left, all_float, implicit)
266 DEF_SVE_FUNCTION (svadrb, adr_offset, none, none)
267 DEF_SVE_FUNCTION (svadrd, adr_index, none, none)
268 DEF_SVE_FUNCTION (svadrh, adr_index, none, none)
269 DEF_SVE_FUNCTION (svadrw, adr_index, none, none)
270 DEF_SVE_FUNCTION (svcompact, unary, sd_data, implicit)
271 DEF_SVE_FUNCTION (svexpa, unary_uint, all_float, none)
272 DEF_SVE_FUNCTION (svld1_gather, load_gather_sv, sd_data, implicit)
273 DEF_SVE_FUNCTION (svld1_gather, load_gather_vs, sd_data, implicit)
274 DEF_SVE_FUNCTION (svld1sb_gather, load_ext_gather_offset, sd_integer, implicit)
275 DEF_SVE_FUNCTION (svld1sh_gather, load_ext_gather_offset, sd_integer, implicit)
276 DEF_SVE_FUNCTION (svld1sh_gather, load_ext_gather_index, sd_integer, implicit)
277 DEF_SVE_FUNCTION (svld1sw_gather, load_ext_gather_offset, d_integer, implicit)
278 DEF_SVE_FUNCTION (svld1sw_gather, load_ext_gather_index, d_integer, implicit)
279 DEF_SVE_FUNCTION (svld1ub_gather, load_ext_gather_offset, sd_integer, implicit)
280 DEF_SVE_FUNCTION (svld1uh_gather, load_ext_gather_offset, sd_integer, implicit)
281 DEF_SVE_FUNCTION (svld1uh_gather, load_ext_gather_index, sd_integer, implicit)
282 DEF_SVE_FUNCTION (svld1uw_gather, load_ext_gather_offset, d_integer, implicit)
283 DEF_SVE_FUNCTION (svld1uw_gather, load_ext_gather_index, d_integer, implicit)
284 DEF_SVE_FUNCTION (svldff1, load, all_data, implicit)
285 DEF_SVE_FUNCTION (svldff1_gather, load_gather_sv, sd_data, implicit)
286 DEF_SVE_FUNCTION (svldff1_gather, load_gather_vs, sd_data, implicit)
287 DEF_SVE_FUNCTION (svldff1sb, load_ext, hsd_integer, implicit)
288 DEF_SVE_FUNCTION (svldff1sb_gather, load_ext_gather_offset, sd_integer, implicit)
289 DEF_SVE_FUNCTION (svldff1sh, load_ext, sd_integer, implicit)
290 DEF_SVE_FUNCTION (svldff1sh_gather, load_ext_gather_offset, sd_integer, implicit)
291 DEF_SVE_FUNCTION (svldff1sh_gather, load_ext_gather_index, sd_integer, implicit)
292 DEF_SVE_FUNCTION (svldff1sw, load_ext, d_integer, implicit)
293 DEF_SVE_FUNCTION (svldff1sw_gather, load_ext_gather_offset, d_integer, implicit)
294 DEF_SVE_FUNCTION (svldff1sw_gather, load_ext_gather_index, d_integer, implicit)
295 DEF_SVE_FUNCTION (svldff1ub, load_ext, hsd_integer, implicit)
296 DEF_SVE_FUNCTION (svldff1ub_gather, load_ext_gather_offset, sd_integer, implicit)
297 DEF_SVE_FUNCTION (svldff1uh, load_ext, sd_integer, implicit)
298 DEF_SVE_FUNCTION (svldff1uh_gather, load_ext_gather_offset, sd_integer, implicit)
299 DEF_SVE_FUNCTION (svldff1uh_gather, load_ext_gather_index, sd_integer, implicit)
300 DEF_SVE_FUNCTION (svldff1uw, load_ext, d_integer, implicit)
301 DEF_SVE_FUNCTION (svldff1uw_gather, load_ext_gather_offset, d_integer, implicit)
302 DEF_SVE_FUNCTION (svldff1uw_gather, load_ext_gather_index, d_integer, implicit)
303 DEF_SVE_FUNCTION (svldnf1, load, all_data, implicit)
304 DEF_SVE_FUNCTION (svldnf1sb, load_ext, hsd_integer, implicit)
305 DEF_SVE_FUNCTION (svldnf1sh, load_ext, sd_integer, implicit)
306 DEF_SVE_FUNCTION (svldnf1sw, load_ext, d_integer, implicit)
307 DEF_SVE_FUNCTION (svldnf1ub, load_ext, hsd_integer, implicit)
308 DEF_SVE_FUNCTION (svldnf1uh, load_ext, sd_integer, implicit)
309 DEF_SVE_FUNCTION (svldnf1uw, load_ext, d_integer, implicit)
310 DEF_SVE_FUNCTION (svmmla, mmla, none, none)
311 DEF_SVE_FUNCTION (svprfb_gather, prefetch_gather_offset, none, implicit)
312 DEF_SVE_FUNCTION (svprfd_gather, prefetch_gather_index, none, implicit)
313 DEF_SVE_FUNCTION (svprfh_gather, prefetch_gather_index, none, implicit)
314 DEF_SVE_FUNCTION (svprfw_gather, prefetch_gather_index, none, implicit)
315 DEF_SVE_FUNCTION (svrdffr, rdffr, none, z_or_none)
316 DEF_SVE_FUNCTION (svsetffr, setffr, none, none)
317 DEF_SVE_FUNCTION (svst1_scatter, store_scatter_index, sd_data, implicit)
318 DEF_SVE_FUNCTION (svst1_scatter, store_scatter_offset, sd_data, implicit)
319 DEF_SVE_FUNCTION (svst1b_scatter, store_scatter_offset, sd_integer, implicit)
320 DEF_SVE_FUNCTION (svst1h_scatter, store_scatter_index, sd_integer, implicit)
321 DEF_SVE_FUNCTION (svst1h_scatter, store_scatter_offset, sd_integer, implicit)
322 DEF_SVE_FUNCTION (svst1w_scatter, store_scatter_index, d_integer, implicit)
323 DEF_SVE_FUNCTION (svst1w_scatter, store_scatter_offset, d_integer, implicit)
324 DEF_SVE_FUNCTION (svtmad, tmad, all_float, none)
325 DEF_SVE_FUNCTION (svtsmul, binary_uint, all_float, none)
326 DEF_SVE_FUNCTION (svtssel, binary_uint, all_float, none)
327 DEF_SVE_FUNCTION (svwrffr, setffr, none, implicit)
328 #undef REQUIRED_EXTENSIONS
330 #define REQUIRED_EXTENSIONS AARCH64_FL_SVE | AARCH64_FL_BF16
331 DEF_SVE_FUNCTION (svbfdot, ternary_bfloat_opt_n, s_float, none)
332 DEF_SVE_FUNCTION (svbfdot_lane, ternary_bfloat_lanex2, s_float, none)
333 DEF_SVE_FUNCTION (svbfmlalb, ternary_bfloat_opt_n, s_float, none)
334 DEF_SVE_FUNCTION (svbfmlalb_lane, ternary_bfloat_lane, s_float, none)
335 DEF_SVE_FUNCTION (svbfmlalt, ternary_bfloat_opt_n, s_float, none)
336 DEF_SVE_FUNCTION (svbfmlalt_lane, ternary_bfloat_lane, s_float, none)
337 DEF_SVE_FUNCTION (svcvt, unary_convertxn, cvt_bfloat, mxz)
338 DEF_SVE_FUNCTION (svcvtnt, unary_convert_narrowt, cvt_bfloat, mx)
339 #undef REQUIRED_EXTENSIONS
341 #define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \
342 | AARCH64_FL_BF16 \
343 | AARCH64_FL_SM_OFF)
344 DEF_SVE_FUNCTION (svbfmmla, ternary_bfloat, s_float, none)
345 #undef REQUIRED_EXTENSIONS
347 #define REQUIRED_EXTENSIONS AARCH64_FL_SVE | AARCH64_FL_I8MM
348 DEF_SVE_FUNCTION (svsudot, ternary_intq_uintq_opt_n, s_signed, none)
349 DEF_SVE_FUNCTION (svsudot_lane, ternary_intq_uintq_lane, s_signed, none)
350 DEF_SVE_FUNCTION (svusdot, ternary_uintq_intq_opt_n, s_signed, none)
351 DEF_SVE_FUNCTION (svusdot_lane, ternary_uintq_intq_lane, s_signed, none)
352 #undef REQUIRED_EXTENSIONS
354 #define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \
355 | AARCH64_FL_I8MM \
356 | AARCH64_FL_SM_OFF)
357 DEF_SVE_FUNCTION (svmmla, mmla, s_integer, none)
358 DEF_SVE_FUNCTION (svusmmla, ternary_uintq_intq, s_signed, none)
359 #undef REQUIRED_EXTENSIONS
361 #define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \
362 | AARCH64_FL_F32MM \
363 | AARCH64_FL_SM_OFF)
364 DEF_SVE_FUNCTION (svmmla, mmla, s_float, none)
365 #undef REQUIRED_EXTENSIONS
367 #define REQUIRED_EXTENSIONS AARCH64_FL_SVE | AARCH64_FL_F64MM
368 DEF_SVE_FUNCTION (svtrn1q, binary, all_data, none)
369 DEF_SVE_FUNCTION (svtrn2q, binary, all_data, none)
370 DEF_SVE_FUNCTION (svuzp1q, binary, all_data, none)
371 DEF_SVE_FUNCTION (svuzp2q, binary, all_data, none)
372 DEF_SVE_FUNCTION (svzip1q, binary, all_data, none)
373 DEF_SVE_FUNCTION (svzip2q, binary, all_data, none)
374 #undef REQUIRED_EXTENSIONS
376 #define REQUIRED_EXTENSIONS (AARCH64_FL_SVE \
377 | AARCH64_FL_F64MM \
378 | AARCH64_FL_SM_OFF)
379 DEF_SVE_FUNCTION (svld1ro, load_replicate, all_data, implicit)
380 DEF_SVE_FUNCTION (svmmla, mmla, d_float, none)
381 #undef REQUIRED_EXTENSIONS