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