1 /* ACLE support for AArch64
SVE (__ARM_FEATURE_SVE intrinsics
)
2 Copyright (C
) 2018-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 REQUIRED_EXTENSIONS
ssve (0)
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 (svcreate4
, create
, b
, none
)
78 DEF_SVE_FUNCTION (svcvt
, unary_convertxn
, cvt
, mxz
)
79 DEF_SVE_FUNCTION (svdiv
, binary_opt_n
, all_float_and_sd_integer
, mxz
)
80 DEF_SVE_FUNCTION (svdivr
, binary_opt_n
, all_float_and_sd_integer
, mxz
)
81 DEF_SVE_FUNCTION (svdot
, ternary_qq_opt_n_or_011
, sd_integer
, none
)
82 DEF_SVE_FUNCTION (svdot_lane
, ternary_qq_or_011_lane
, sd_integer
, none
)
83 DEF_SVE_FUNCTION (svdup
, unary_n
, all_data
, mxz_or_none
)
84 DEF_SVE_FUNCTION (svdup
, unary_n
, all_pred
, none
)
85 DEF_SVE_FUNCTION (svdup_lane
, binary_uint_n
, all_data
, none
)
86 DEF_SVE_FUNCTION (svdupq
, dupq
, all_data
, none
)
87 DEF_SVE_FUNCTION (svdupq
, dupq
, all_pred
, none
)
88 DEF_SVE_FUNCTION (svdupq_lane
, binary_uint64_n
, all_data
, none
)
89 DEF_SVE_FUNCTION (sveor
, binary_opt_n
, all_integer
, mxz
)
90 DEF_SVE_FUNCTION (sveor
, binary_opt_n
, b
, z
)
91 DEF_SVE_FUNCTION (sveorv
, reduction
, all_integer
, implicit
)
92 DEF_SVE_FUNCTION (svext
, ext
, all_data
, none
)
93 DEF_SVE_FUNCTION (svextb
, unary
, hsd_integer
, mxz
)
94 DEF_SVE_FUNCTION (svexth
, unary
, sd_integer
, mxz
)
95 DEF_SVE_FUNCTION (svextw
, unary
, d_integer
, mxz
)
96 DEF_SVE_FUNCTION (svget2
, get
, all_data
, none
)
97 DEF_SVE_FUNCTION (svget2
, get
, b
, none
)
98 DEF_SVE_FUNCTION (svget3
, get
, all_data
, none
)
99 DEF_SVE_FUNCTION (svget4
, get
, all_data
, none
)
100 DEF_SVE_FUNCTION (svget4
, get
, b
, none
)
101 DEF_SVE_FUNCTION (svindex
, binary_scalar
, all_integer
, none
)
102 DEF_SVE_FUNCTION (svinsr
, binary_n
, all_data
, none
)
103 DEF_SVE_FUNCTION (svlasta
, reduction
, all_data
, implicit
)
104 DEF_SVE_FUNCTION (svlastb
, reduction
, all_data
, implicit
)
105 DEF_SVE_FUNCTION (svld1
, load
, all_data
, implicit
)
106 DEF_SVE_FUNCTION (svld1rq
, load_replicate
, all_data
, implicit
)
107 DEF_SVE_FUNCTION (svld1sb
, load_ext
, hsd_integer
, implicit
)
108 DEF_SVE_FUNCTION (svld1sh
, load_ext
, sd_integer
, implicit
)
109 DEF_SVE_FUNCTION (svld1sw
, load_ext
, d_integer
, implicit
)
110 DEF_SVE_FUNCTION (svld1ub
, load_ext
, hsd_integer
, implicit
)
111 DEF_SVE_FUNCTION (svld1uh
, load_ext
, sd_integer
, implicit
)
112 DEF_SVE_FUNCTION (svld1uw
, load_ext
, d_integer
, implicit
)
113 DEF_SVE_FUNCTION (svldnt1
, load
, all_data
, implicit
)
114 DEF_SVE_FUNCTION (svld2
, load
, all_data
, implicit
)
115 DEF_SVE_FUNCTION (svld3
, load
, all_data
, implicit
)
116 DEF_SVE_FUNCTION (svld4
, load
, all_data
, implicit
)
117 DEF_SVE_FUNCTION (svlen
, count_vector
, all_data
, none
)
118 DEF_SVE_FUNCTION (svlsl
, binary_uint_opt_n
, all_integer
, mxz
)
119 DEF_SVE_FUNCTION (svlsl_wide
, binary_uint64_opt_n
, bhs_integer
, mxz
)
120 DEF_SVE_FUNCTION (svlsr
, binary_uint_opt_n
, all_unsigned
, mxz
)
121 DEF_SVE_FUNCTION (svlsr_wide
, binary_uint64_opt_n
, bhs_unsigned
, mxz
)
122 DEF_SVE_FUNCTION (svmad
, ternary_opt_n
, all_arith
, mxz
)
123 DEF_SVE_FUNCTION (svmax
, binary_opt_single_n
, all_arith
, mxz
)
124 DEF_SVE_FUNCTION (svmaxnm
, binary_opt_single_n
, all_float
, mxz
)
125 DEF_SVE_FUNCTION (svmaxnmv
, reduction
, all_float
, implicit
)
126 DEF_SVE_FUNCTION (svmaxv
, reduction
, all_arith
, implicit
)
127 DEF_SVE_FUNCTION (svmin
, binary_opt_single_n
, all_arith
, mxz
)
128 DEF_SVE_FUNCTION (svminnm
, binary_opt_single_n
, all_float
, mxz
)
129 DEF_SVE_FUNCTION (svminnmv
, reduction
, all_float
, implicit
)
130 DEF_SVE_FUNCTION (svminv
, reduction
, all_arith
, implicit
)
131 DEF_SVE_FUNCTION (svmla
, ternary_opt_n
, all_arith
, mxz
)
132 DEF_SVE_FUNCTION (svmla_lane
, ternary_lane
, all_float
, none
)
133 DEF_SVE_FUNCTION (svmls
, ternary_opt_n
, all_arith
, mxz
)
134 DEF_SVE_FUNCTION (svmls_lane
, ternary_lane
, all_float
, none
)
135 DEF_SVE_FUNCTION (svmov
, unary
, b
, z
)
136 DEF_SVE_FUNCTION (svmsb
, ternary_opt_n
, all_arith
, mxz
)
137 DEF_SVE_FUNCTION (svmul
, binary_opt_n
, all_arith
, mxz
)
138 DEF_SVE_FUNCTION (svmul_lane
, binary_lane
, all_float
, none
)
139 DEF_SVE_FUNCTION (svmulh
, binary_opt_n
, all_integer
, mxz
)
140 DEF_SVE_FUNCTION (svmulx
, binary_opt_n
, all_float
, mxz
)
141 DEF_SVE_FUNCTION (svnand
, binary_opt_n
, b
, z
)
142 DEF_SVE_FUNCTION (svneg
, unary
, all_float_and_signed
, mxz
)
143 DEF_SVE_FUNCTION (svnmad
, ternary_opt_n
, all_float
, mxz
)
144 DEF_SVE_FUNCTION (svnmla
, ternary_opt_n
, all_float
, mxz
)
145 DEF_SVE_FUNCTION (svnmls
, ternary_opt_n
, all_float
, mxz
)
146 DEF_SVE_FUNCTION (svnmsb
, ternary_opt_n
, all_float
, mxz
)
147 DEF_SVE_FUNCTION (svnor
, binary_opt_n
, b
, z
)
148 DEF_SVE_FUNCTION (svnot
, unary
, all_integer
, mxz
)
149 DEF_SVE_FUNCTION (svnot
, unary
, b
, z
)
150 DEF_SVE_FUNCTION (svorn
, binary_opt_n
, b
, z
)
151 DEF_SVE_FUNCTION (svorr
, binary_opt_n
, all_integer
, mxz
)
152 DEF_SVE_FUNCTION (svorr
, binary_opt_n
, b
, z
)
153 DEF_SVE_FUNCTION (svorv
, reduction
, all_integer
, implicit
)
154 DEF_SVE_FUNCTION (svpfalse
, inherent_b
, b
, none
)
155 DEF_SVE_FUNCTION (svpfalse
, inherent
, c
, none
)
156 DEF_SVE_FUNCTION (svpfirst
, unary
, b
, implicit
)
157 DEF_SVE_FUNCTION (svpnext
, unary_pred
, all_pred
, implicit
)
158 DEF_SVE_FUNCTION (svprfb
, prefetch
, none
, implicit
)
159 DEF_SVE_FUNCTION (svprfd
, prefetch
, none
, implicit
)
160 DEF_SVE_FUNCTION (svprfh
, prefetch
, none
, implicit
)
161 DEF_SVE_FUNCTION (svprfw
, prefetch
, none
, implicit
)
162 DEF_SVE_FUNCTION (svptest_any
, ptest
, none
, implicit
)
163 DEF_SVE_FUNCTION (svptest_first
, ptest
, none
, implicit
)
164 DEF_SVE_FUNCTION (svptest_last
, ptest
, none
, implicit
)
165 DEF_SVE_FUNCTION (svptrue
, inherent
, all_pred
, none
)
166 DEF_SVE_FUNCTION (svptrue_pat
, pattern_pred
, all_pred
, none
)
167 DEF_SVE_FUNCTION (svqadd
, binary_opt_n
, all_integer
, none
)
168 DEF_SVE_FUNCTION (svqdecb
, inc_dec
, sd_integer
, none
)
169 DEF_SVE_FUNCTION (svqdecb_pat
, inc_dec_pat
, sd_integer
, none
)
170 DEF_SVE_FUNCTION (svqdecd
, inc_dec
, d_integer
, none
)
171 DEF_SVE_FUNCTION (svqdecd
, inc_dec
, sd_integer
, none
)
172 DEF_SVE_FUNCTION (svqdecd_pat
, inc_dec_pat
, d_integer
, none
)
173 DEF_SVE_FUNCTION (svqdecd_pat
, inc_dec_pat
, sd_integer
, none
)
174 DEF_SVE_FUNCTION (svqdech
, inc_dec
, h_integer
, none
)
175 DEF_SVE_FUNCTION (svqdech
, inc_dec
, sd_integer
, none
)
176 DEF_SVE_FUNCTION (svqdech_pat
, inc_dec_pat
, h_integer
, none
)
177 DEF_SVE_FUNCTION (svqdech_pat
, inc_dec_pat
, sd_integer
, none
)
178 DEF_SVE_FUNCTION (svqdecp
, inc_dec_pred
, hsd_integer
, none
)
179 DEF_SVE_FUNCTION (svqdecp
, inc_dec_pred_scalar
, inc_dec_n
, none
)
180 DEF_SVE_FUNCTION (svqdecw
, inc_dec
, s_integer
, none
)
181 DEF_SVE_FUNCTION (svqdecw
, inc_dec
, sd_integer
, none
)
182 DEF_SVE_FUNCTION (svqdecw_pat
, inc_dec_pat
, s_integer
, none
)
183 DEF_SVE_FUNCTION (svqdecw_pat
, inc_dec_pat
, sd_integer
, none
)
184 DEF_SVE_FUNCTION (svqincb
, inc_dec
, sd_integer
, none
)
185 DEF_SVE_FUNCTION (svqincb_pat
, inc_dec_pat
, sd_integer
, none
)
186 DEF_SVE_FUNCTION (svqincd
, inc_dec
, d_integer
, none
)
187 DEF_SVE_FUNCTION (svqincd
, inc_dec
, sd_integer
, none
)
188 DEF_SVE_FUNCTION (svqincd_pat
, inc_dec_pat
, d_integer
, none
)
189 DEF_SVE_FUNCTION (svqincd_pat
, inc_dec_pat
, sd_integer
, none
)
190 DEF_SVE_FUNCTION (svqinch
, inc_dec
, h_integer
, none
)
191 DEF_SVE_FUNCTION (svqinch
, inc_dec
, sd_integer
, none
)
192 DEF_SVE_FUNCTION (svqinch_pat
, inc_dec_pat
, h_integer
, none
)
193 DEF_SVE_FUNCTION (svqinch_pat
, inc_dec_pat
, sd_integer
, none
)
194 DEF_SVE_FUNCTION (svqincp
, inc_dec_pred
, hsd_integer
, none
)
195 DEF_SVE_FUNCTION (svqincp
, inc_dec_pred_scalar
, inc_dec_n
, none
)
196 DEF_SVE_FUNCTION (svqincw
, inc_dec
, s_integer
, none
)
197 DEF_SVE_FUNCTION (svqincw
, inc_dec
, sd_integer
, none
)
198 DEF_SVE_FUNCTION (svqincw_pat
, inc_dec_pat
, s_integer
, none
)
199 DEF_SVE_FUNCTION (svqincw_pat
, inc_dec_pat
, sd_integer
, none
)
200 DEF_SVE_FUNCTION (svqsub
, binary_opt_n
, all_integer
, none
)
201 DEF_SVE_FUNCTION (svrbit
, unary
, all_integer
, mxz
)
202 DEF_SVE_FUNCTION (svrecpe
, unary
, all_float
, none
)
203 DEF_SVE_FUNCTION (svrecps
, binary
, all_float
, none
)
204 DEF_SVE_FUNCTION (svrecpx
, unary
, all_float
, mxz
)
205 DEF_SVE_FUNCTION_GS (svreinterpret
, reinterpret
, reinterpret
, x1234
, none
)
206 DEF_SVE_FUNCTION (svreinterpret
, reinterpret
, reinterpret_b
, none
)
207 DEF_SVE_FUNCTION (svrev
, unary
, all_data
, none
)
208 DEF_SVE_FUNCTION (svrev
, unary_pred
, all_pred
, none
)
209 DEF_SVE_FUNCTION (svrevb
, unary
, hsd_integer
, mxz
)
210 DEF_SVE_FUNCTION (svrevh
, unary
, sd_integer
, mxz
)
211 DEF_SVE_FUNCTION (svrevw
, unary
, d_integer
, mxz
)
212 DEF_SVE_FUNCTION (svrinta
, unaryxn
, all_float
, mxz
)
213 DEF_SVE_FUNCTION (svrinti
, unary
, all_float
, mxz
)
214 DEF_SVE_FUNCTION (svrintm
, unaryxn
, all_float
, mxz
)
215 DEF_SVE_FUNCTION (svrintn
, unaryxn
, all_float
, mxz
)
216 DEF_SVE_FUNCTION (svrintp
, unaryxn
, all_float
, mxz
)
217 DEF_SVE_FUNCTION (svrintx
, unary
, all_float
, mxz
)
218 DEF_SVE_FUNCTION (svrintz
, unary
, all_float
, mxz
)
219 DEF_SVE_FUNCTION (svrsqrte
, unary
, all_float
, none
)
220 DEF_SVE_FUNCTION (svrsqrts
, binary
, all_float
, none
)
221 DEF_SVE_FUNCTION (svscale
, binary_int_opt_n
, all_float
, mxz
)
222 DEF_SVE_FUNCTION (svsel
, binaryxn
, all_data
, implicit
)
223 DEF_SVE_FUNCTION (svsel
, binaryxn
, b
, implicit
)
224 DEF_SVE_FUNCTION (svset2
, set
, all_data
, none
)
225 DEF_SVE_FUNCTION (svset2
, set
, b
, none
)
226 DEF_SVE_FUNCTION (svset3
, set
, all_data
, none
)
227 DEF_SVE_FUNCTION (svset4
, set
, all_data
, none
)
228 DEF_SVE_FUNCTION (svset4
, set
, b
, none
)
229 DEF_SVE_FUNCTION (svsplice
, binary
, all_data
, implicit
)
230 DEF_SVE_FUNCTION (svsqrt
, unary
, all_float
, mxz
)
231 DEF_SVE_FUNCTION (svst1
, storexn
, all_data
, implicit
)
232 DEF_SVE_FUNCTION (svst1b
, store
, hsd_integer
, implicit
)
233 DEF_SVE_FUNCTION (svst1h
, store
, sd_integer
, implicit
)
234 DEF_SVE_FUNCTION (svst1w
, store
, d_integer
, implicit
)
235 DEF_SVE_FUNCTION (svst2
, store
, all_data
, implicit
)
236 DEF_SVE_FUNCTION (svst3
, store
, all_data
, implicit
)
237 DEF_SVE_FUNCTION (svst4
, store
, all_data
, implicit
)
238 DEF_SVE_FUNCTION (svstnt1
, storexn
, all_data
, implicit
)
239 DEF_SVE_FUNCTION (svsub
, binary_opt_n
, all_arith
, mxz
)
240 DEF_SVE_FUNCTION (svsubr
, binary_opt_n
, all_arith
, mxz
)
241 DEF_SVE_FUNCTION (svtbl
, binary_uint
, all_data
, none
)
242 DEF_SVE_FUNCTION (svtrn1
, binary
, all_data
, none
)
243 DEF_SVE_FUNCTION (svtrn1
, binary_pred
, all_pred
, none
)
244 DEF_SVE_FUNCTION (svtrn2
, binary
, all_data
, none
)
245 DEF_SVE_FUNCTION (svtrn2
, binary_pred
, all_pred
, none
)
246 DEF_SVE_FUNCTION (svundef
, inherent
, all_data
, none
)
247 DEF_SVE_FUNCTION (svundef2
, inherent
, all_data
, none
)
248 DEF_SVE_FUNCTION (svundef2
, inherent
, b
, none
)
249 DEF_SVE_FUNCTION (svundef3
, inherent
, all_data
, none
)
250 DEF_SVE_FUNCTION (svundef4
, inherent
, all_data
, none
)
251 DEF_SVE_FUNCTION (svundef4
, inherent
, b
, none
)
252 DEF_SVE_FUNCTION (svunpkhi
, unary_widen
, hsd_integer
, none
)
253 DEF_SVE_FUNCTION (svunpkhi
, unary_widen
, b
, none
)
254 DEF_SVE_FUNCTION (svunpklo
, unary_widen
, hsd_integer
, none
)
255 DEF_SVE_FUNCTION (svunpklo
, unary_widen
, b
, none
)
256 DEF_SVE_FUNCTION (svuzp1
, binary
, all_data
, none
)
257 DEF_SVE_FUNCTION (svuzp1
, binary_pred
, all_pred
, none
)
258 DEF_SVE_FUNCTION (svuzp2
, binary
, all_data
, none
)
259 DEF_SVE_FUNCTION (svuzp2
, binary_pred
, all_pred
, none
)
260 DEF_SVE_FUNCTION (svwhilele
, compare_scalar
, while
, none
)
261 DEF_SVE_FUNCTION (svwhilelt
, compare_scalar
, while
, none
)
262 DEF_SVE_FUNCTION (svzip1
, binary
, all_data
, none
)
263 DEF_SVE_FUNCTION (svzip1
, binary_pred
, all_pred
, none
)
264 DEF_SVE_FUNCTION (svzip2
, binary
, all_data
, none
)
265 DEF_SVE_FUNCTION (svzip2
, binary_pred
, all_pred
, none
)
266 #undef REQUIRED_EXTENSIONS
268 #define REQUIRED_EXTENSIONS
nonstreaming_sve (0)
269 DEF_SVE_FUNCTION (svadda
, fold_left
, all_float
, implicit
)
270 DEF_SVE_FUNCTION (svadrb
, adr_offset
, none
, none
)
271 DEF_SVE_FUNCTION (svadrd
, adr_index
, none
, none
)
272 DEF_SVE_FUNCTION (svadrh
, adr_index
, none
, none
)
273 DEF_SVE_FUNCTION (svadrw
, adr_index
, none
, none
)
274 DEF_SVE_FUNCTION (svcompact
, unary
, sd_data
, implicit
)
275 DEF_SVE_FUNCTION (svexpa
, unary_uint
, all_float
, none
)
276 DEF_SVE_FUNCTION (svld1_gather
, load_gather_sv
, sd_data
, implicit
)
277 DEF_SVE_FUNCTION (svld1_gather
, load_gather_vs
, sd_data
, implicit
)
278 DEF_SVE_FUNCTION (svld1sb_gather
, load_ext_gather_offset
, sd_integer
, implicit
)
279 DEF_SVE_FUNCTION (svld1sh_gather
, load_ext_gather_offset
, sd_integer
, implicit
)
280 DEF_SVE_FUNCTION (svld1sh_gather
, load_ext_gather_index
, sd_integer
, implicit
)
281 DEF_SVE_FUNCTION (svld1sw_gather
, load_ext_gather_offset
, d_integer
, implicit
)
282 DEF_SVE_FUNCTION (svld1sw_gather
, load_ext_gather_index
, d_integer
, implicit
)
283 DEF_SVE_FUNCTION (svld1ub_gather
, load_ext_gather_offset
, sd_integer
, implicit
)
284 DEF_SVE_FUNCTION (svld1uh_gather
, load_ext_gather_offset
, sd_integer
, implicit
)
285 DEF_SVE_FUNCTION (svld1uh_gather
, load_ext_gather_index
, sd_integer
, implicit
)
286 DEF_SVE_FUNCTION (svld1uw_gather
, load_ext_gather_offset
, d_integer
, implicit
)
287 DEF_SVE_FUNCTION (svld1uw_gather
, load_ext_gather_index
, d_integer
, implicit
)
288 DEF_SVE_FUNCTION (svldff1
, load
, all_data
, implicit
)
289 DEF_SVE_FUNCTION (svldff1_gather
, load_gather_sv
, sd_data
, implicit
)
290 DEF_SVE_FUNCTION (svldff1_gather
, load_gather_vs
, sd_data
, implicit
)
291 DEF_SVE_FUNCTION (svldff1sb
, load_ext
, hsd_integer
, implicit
)
292 DEF_SVE_FUNCTION (svldff1sb_gather
, load_ext_gather_offset
, sd_integer
, implicit
)
293 DEF_SVE_FUNCTION (svldff1sh
, load_ext
, sd_integer
, implicit
)
294 DEF_SVE_FUNCTION (svldff1sh_gather
, load_ext_gather_offset
, sd_integer
, implicit
)
295 DEF_SVE_FUNCTION (svldff1sh_gather
, load_ext_gather_index
, sd_integer
, implicit
)
296 DEF_SVE_FUNCTION (svldff1sw
, load_ext
, d_integer
, implicit
)
297 DEF_SVE_FUNCTION (svldff1sw_gather
, load_ext_gather_offset
, d_integer
, implicit
)
298 DEF_SVE_FUNCTION (svldff1sw_gather
, load_ext_gather_index
, d_integer
, implicit
)
299 DEF_SVE_FUNCTION (svldff1ub
, load_ext
, hsd_integer
, implicit
)
300 DEF_SVE_FUNCTION (svldff1ub_gather
, load_ext_gather_offset
, sd_integer
, implicit
)
301 DEF_SVE_FUNCTION (svldff1uh
, load_ext
, sd_integer
, implicit
)
302 DEF_SVE_FUNCTION (svldff1uh_gather
, load_ext_gather_offset
, sd_integer
, implicit
)
303 DEF_SVE_FUNCTION (svldff1uh_gather
, load_ext_gather_index
, sd_integer
, implicit
)
304 DEF_SVE_FUNCTION (svldff1uw
, load_ext
, d_integer
, implicit
)
305 DEF_SVE_FUNCTION (svldff1uw_gather
, load_ext_gather_offset
, d_integer
, implicit
)
306 DEF_SVE_FUNCTION (svldff1uw_gather
, load_ext_gather_index
, d_integer
, implicit
)
307 DEF_SVE_FUNCTION (svldnf1
, load
, all_data
, implicit
)
308 DEF_SVE_FUNCTION (svldnf1sb
, load_ext
, hsd_integer
, implicit
)
309 DEF_SVE_FUNCTION (svldnf1sh
, load_ext
, sd_integer
, implicit
)
310 DEF_SVE_FUNCTION (svldnf1sw
, load_ext
, d_integer
, implicit
)
311 DEF_SVE_FUNCTION (svldnf1ub
, load_ext
, hsd_integer
, implicit
)
312 DEF_SVE_FUNCTION (svldnf1uh
, load_ext
, sd_integer
, implicit
)
313 DEF_SVE_FUNCTION (svldnf1uw
, load_ext
, d_integer
, implicit
)
314 DEF_SVE_FUNCTION (svprfb_gather
, prefetch_gather_offset
, none
, implicit
)
315 DEF_SVE_FUNCTION (svprfd_gather
, prefetch_gather_index
, none
, implicit
)
316 DEF_SVE_FUNCTION (svprfh_gather
, prefetch_gather_index
, none
, implicit
)
317 DEF_SVE_FUNCTION (svprfw_gather
, prefetch_gather_index
, none
, implicit
)
318 DEF_SVE_FUNCTION (svrdffr
, rdffr
, none
, z_or_none
)
319 DEF_SVE_FUNCTION (svsetffr
, setffr
, none
, none
)
320 DEF_SVE_FUNCTION (svst1_scatter
, store_scatter_index
, sd_data
, implicit
)
321 DEF_SVE_FUNCTION (svst1_scatter
, store_scatter_offset
, sd_data
, implicit
)
322 DEF_SVE_FUNCTION (svst1b_scatter
, store_scatter_offset
, sd_integer
, implicit
)
323 DEF_SVE_FUNCTION (svst1h_scatter
, store_scatter_index
, sd_integer
, implicit
)
324 DEF_SVE_FUNCTION (svst1h_scatter
, store_scatter_offset
, sd_integer
, implicit
)
325 DEF_SVE_FUNCTION (svst1w_scatter
, store_scatter_index
, d_integer
, implicit
)
326 DEF_SVE_FUNCTION (svst1w_scatter
, store_scatter_offset
, d_integer
, implicit
)
327 DEF_SVE_FUNCTION (svtmad
, tmad
, all_float
, none
)
328 DEF_SVE_FUNCTION (svtsmul
, binary_uint
, all_float
, none
)
329 DEF_SVE_FUNCTION (svtssel
, binary_uint
, all_float
, none
)
330 DEF_SVE_FUNCTION (svwrffr
, setffr
, none
, implicit
)
331 #undef REQUIRED_EXTENSIONS
333 #define REQUIRED_EXTENSIONS
ssve (AARCH64_FL_BF16
)
334 DEF_SVE_FUNCTION (svbfdot
, ternary_bfloat_opt_n
, s_float
, none
)
335 DEF_SVE_FUNCTION (svbfdot_lane
, ternary_bfloat_lanex2
, s_float
, none
)
336 DEF_SVE_FUNCTION (svbfmlalb
, ternary_bfloat_opt_n
, s_float
, none
)
337 DEF_SVE_FUNCTION (svbfmlalb_lane
, ternary_bfloat_lane
, s_float
, none
)
338 DEF_SVE_FUNCTION (svbfmlalt
, ternary_bfloat_opt_n
, s_float
, none
)
339 DEF_SVE_FUNCTION (svbfmlalt_lane
, ternary_bfloat_lane
, s_float
, none
)
340 DEF_SVE_FUNCTION (svcvt
, unary_convertxn
, cvt_bfloat
, mxz
)
341 DEF_SVE_FUNCTION (svcvtnt
, unary_convert_narrowt
, cvt_bfloat
, mx
)
342 #undef REQUIRED_EXTENSIONS
344 #define REQUIRED_EXTENSIONS
nonstreaming_sve (AARCH64_FL_BF16
)
345 DEF_SVE_FUNCTION (svbfmmla
, ternary_bfloat
, s_float
, none
)
346 #undef REQUIRED_EXTENSIONS
348 #define REQUIRED_EXTENSIONS
ssve (AARCH64_FL_I8MM
)
349 DEF_SVE_FUNCTION (svsudot
, ternary_intq_uintq_opt_n
, s_signed
, none
)
350 DEF_SVE_FUNCTION (svsudot_lane
, ternary_intq_uintq_lane
, s_signed
, none
)
351 DEF_SVE_FUNCTION (svusdot
, ternary_uintq_intq_opt_n
, s_signed
, none
)
352 DEF_SVE_FUNCTION (svusdot_lane
, ternary_uintq_intq_lane
, s_signed
, none
)
353 #undef REQUIRED_EXTENSIONS
355 #define REQUIRED_EXTENSIONS
nonstreaming_sve (AARCH64_FL_I8MM
)
356 DEF_SVE_FUNCTION (svmmla
, mmla
, s_integer
, none
)
357 DEF_SVE_FUNCTION (svusmmla
, ternary_uintq_intq
, s_signed
, none
)
358 #undef REQUIRED_EXTENSIONS
360 #define REQUIRED_EXTENSIONS
nonstreaming_sve (AARCH64_FL_F32MM
)
361 DEF_SVE_FUNCTION (svmmla
, mmla
, s_float
, none
)
362 #undef REQUIRED_EXTENSIONS
364 #define REQUIRED_EXTENSIONS
nonstreaming_sve (AARCH64_FL_F64MM
)
365 DEF_SVE_FUNCTION (svld1ro
, load_replicate
, all_data
, implicit
)
366 DEF_SVE_FUNCTION (svmmla
, mmla
, d_float
, none
)
367 DEF_SVE_FUNCTION (svtrn1q
, binary
, all_data
, none
)
368 DEF_SVE_FUNCTION (svtrn2q
, binary
, all_data
, none
)
369 DEF_SVE_FUNCTION (svuzp1q
, binary
, all_data
, none
)
370 DEF_SVE_FUNCTION (svuzp2q
, binary
, all_data
, none
)
371 DEF_SVE_FUNCTION (svzip1q
, binary
, all_data
, none
)
372 DEF_SVE_FUNCTION (svzip2q
, binary
, all_data
, none
)
373 #undef REQUIRED_EXTENSIONS