xref: /qemu/target/arm/tcg/helper-sve.h (revision 9a56c9c3a955b77fe436beef7ac03c76a65fa32d)
19e18d7a6SRichard Henderson /*
29e18d7a6SRichard Henderson  *  AArch64 SVE specific helper definitions
39e18d7a6SRichard Henderson  *
49e18d7a6SRichard Henderson  *  Copyright (c) 2018 Linaro, Ltd
59e18d7a6SRichard Henderson  *
69e18d7a6SRichard Henderson  * This library is free software; you can redistribute it and/or
79e18d7a6SRichard Henderson  * modify it under the terms of the GNU Lesser General Public
89e18d7a6SRichard Henderson  * License as published by the Free Software Foundation; either
99e18d7a6SRichard Henderson  * version 2 of the License, or (at your option) any later version.
109e18d7a6SRichard Henderson  *
119e18d7a6SRichard Henderson  * This library is distributed in the hope that it will be useful,
129e18d7a6SRichard Henderson  * but WITHOUT ANY WARRANTY; without even the implied warranty of
139e18d7a6SRichard Henderson  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
149e18d7a6SRichard Henderson  * Lesser General Public License for more details.
159e18d7a6SRichard Henderson  *
169e18d7a6SRichard Henderson  * You should have received a copy of the GNU Lesser General Public
179e18d7a6SRichard Henderson  * License along with this library; if not, see <http://www.gnu.org/licenses/>.
189e18d7a6SRichard Henderson  */
199e18d7a6SRichard Henderson 
209e18d7a6SRichard Henderson DEF_HELPER_FLAGS_2(sve_predtest1, TCG_CALL_NO_WG, i32, i64, i64)
219e18d7a6SRichard Henderson DEF_HELPER_FLAGS_3(sve_predtest, TCG_CALL_NO_WG, i32, ptr, ptr, i32)
22516e246aSRichard Henderson 
23028e2a7bSRichard Henderson DEF_HELPER_FLAGS_3(sve_pfirst, TCG_CALL_NO_WG, i32, ptr, ptr, i32)
24028e2a7bSRichard Henderson DEF_HELPER_FLAGS_3(sve_pnext, TCG_CALL_NO_WG, i32, ptr, ptr, i32)
25028e2a7bSRichard Henderson 
26f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_and_zpzz_b, TCG_CALL_NO_RWG,
27f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
28f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_and_zpzz_h, TCG_CALL_NO_RWG,
29f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
30f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_and_zpzz_s, TCG_CALL_NO_RWG,
31f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
32f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_and_zpzz_d, TCG_CALL_NO_RWG,
33f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
34f97cfd59SRichard Henderson 
35f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_eor_zpzz_b, TCG_CALL_NO_RWG,
36f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
37f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_eor_zpzz_h, TCG_CALL_NO_RWG,
38f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
39f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_eor_zpzz_s, TCG_CALL_NO_RWG,
40f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
41f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_eor_zpzz_d, TCG_CALL_NO_RWG,
42f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
43f97cfd59SRichard Henderson 
44f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_orr_zpzz_b, TCG_CALL_NO_RWG,
45f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
46f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_orr_zpzz_h, TCG_CALL_NO_RWG,
47f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
48f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_orr_zpzz_s, TCG_CALL_NO_RWG,
49f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
50f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_orr_zpzz_d, TCG_CALL_NO_RWG,
51f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
52f97cfd59SRichard Henderson 
53f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_bic_zpzz_b, TCG_CALL_NO_RWG,
54f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
55f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_bic_zpzz_h, TCG_CALL_NO_RWG,
56f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
57f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_bic_zpzz_s, TCG_CALL_NO_RWG,
58f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
59f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_bic_zpzz_d, TCG_CALL_NO_RWG,
60f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
61f97cfd59SRichard Henderson 
62f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_add_zpzz_b, TCG_CALL_NO_RWG,
63f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
64f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_add_zpzz_h, TCG_CALL_NO_RWG,
65f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
66f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_add_zpzz_s, TCG_CALL_NO_RWG,
67f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
68f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_add_zpzz_d, TCG_CALL_NO_RWG,
69f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
70f97cfd59SRichard Henderson 
71f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_sub_zpzz_b, TCG_CALL_NO_RWG,
72f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
73f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_sub_zpzz_h, TCG_CALL_NO_RWG,
74f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
75f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_sub_zpzz_s, TCG_CALL_NO_RWG,
76f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
77f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_sub_zpzz_d, TCG_CALL_NO_RWG,
78f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
79f97cfd59SRichard Henderson 
80f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_smax_zpzz_b, TCG_CALL_NO_RWG,
81f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
82f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_smax_zpzz_h, TCG_CALL_NO_RWG,
83f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
84f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_smax_zpzz_s, TCG_CALL_NO_RWG,
85f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
86f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_smax_zpzz_d, TCG_CALL_NO_RWG,
87f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
88f97cfd59SRichard Henderson 
89f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_umax_zpzz_b, TCG_CALL_NO_RWG,
90f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
91f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_umax_zpzz_h, TCG_CALL_NO_RWG,
92f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
93f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_umax_zpzz_s, TCG_CALL_NO_RWG,
94f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
95f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_umax_zpzz_d, TCG_CALL_NO_RWG,
96f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
97f97cfd59SRichard Henderson 
98f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_smin_zpzz_b, TCG_CALL_NO_RWG,
99f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
100f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_smin_zpzz_h, TCG_CALL_NO_RWG,
101f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
102f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_smin_zpzz_s, TCG_CALL_NO_RWG,
103f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
104f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_smin_zpzz_d, TCG_CALL_NO_RWG,
105f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
106f97cfd59SRichard Henderson 
107f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_umin_zpzz_b, TCG_CALL_NO_RWG,
108f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
109f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_umin_zpzz_h, TCG_CALL_NO_RWG,
110f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
111f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_umin_zpzz_s, TCG_CALL_NO_RWG,
112f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
113f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_umin_zpzz_d, TCG_CALL_NO_RWG,
114f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
115f97cfd59SRichard Henderson 
116f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_sabd_zpzz_b, TCG_CALL_NO_RWG,
117f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
118f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_sabd_zpzz_h, TCG_CALL_NO_RWG,
119f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
120f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_sabd_zpzz_s, TCG_CALL_NO_RWG,
121f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
122f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_sabd_zpzz_d, TCG_CALL_NO_RWG,
123f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
124f97cfd59SRichard Henderson 
125f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_uabd_zpzz_b, TCG_CALL_NO_RWG,
126f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
127f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_uabd_zpzz_h, TCG_CALL_NO_RWG,
128f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
129f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_uabd_zpzz_s, TCG_CALL_NO_RWG,
130f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
131f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_uabd_zpzz_d, TCG_CALL_NO_RWG,
132f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
133f97cfd59SRichard Henderson 
134f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_mul_zpzz_b, TCG_CALL_NO_RWG,
135f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
136f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_mul_zpzz_h, TCG_CALL_NO_RWG,
137f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
138f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_mul_zpzz_s, TCG_CALL_NO_RWG,
139f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
140f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_mul_zpzz_d, TCG_CALL_NO_RWG,
141f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
142f97cfd59SRichard Henderson 
143f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_smulh_zpzz_b, TCG_CALL_NO_RWG,
144f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
145f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_smulh_zpzz_h, TCG_CALL_NO_RWG,
146f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
147f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_smulh_zpzz_s, TCG_CALL_NO_RWG,
148f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
149f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_smulh_zpzz_d, TCG_CALL_NO_RWG,
150f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
151f97cfd59SRichard Henderson 
152f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_umulh_zpzz_b, TCG_CALL_NO_RWG,
153f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
154f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_umulh_zpzz_h, TCG_CALL_NO_RWG,
155f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
156f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_umulh_zpzz_s, TCG_CALL_NO_RWG,
157f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
158f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_umulh_zpzz_d, TCG_CALL_NO_RWG,
159f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
160f97cfd59SRichard Henderson 
161f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_sdiv_zpzz_s, TCG_CALL_NO_RWG,
162f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
163f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_sdiv_zpzz_d, TCG_CALL_NO_RWG,
164f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
165f97cfd59SRichard Henderson 
166f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_udiv_zpzz_s, TCG_CALL_NO_RWG,
167f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
168f97cfd59SRichard Henderson DEF_HELPER_FLAGS_5(sve_udiv_zpzz_d, TCG_CALL_NO_RWG,
169f97cfd59SRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
170f97cfd59SRichard Henderson 
17127721dbbSRichard Henderson DEF_HELPER_FLAGS_5(sve_asr_zpzz_b, TCG_CALL_NO_RWG,
17227721dbbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
17327721dbbSRichard Henderson DEF_HELPER_FLAGS_5(sve_asr_zpzz_h, TCG_CALL_NO_RWG,
17427721dbbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
17527721dbbSRichard Henderson DEF_HELPER_FLAGS_5(sve_asr_zpzz_s, TCG_CALL_NO_RWG,
17627721dbbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
17727721dbbSRichard Henderson DEF_HELPER_FLAGS_5(sve_asr_zpzz_d, TCG_CALL_NO_RWG,
17827721dbbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
17927721dbbSRichard Henderson 
18027721dbbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsr_zpzz_b, TCG_CALL_NO_RWG,
18127721dbbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
18227721dbbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsr_zpzz_h, TCG_CALL_NO_RWG,
18327721dbbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
18427721dbbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsr_zpzz_s, TCG_CALL_NO_RWG,
18527721dbbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
18627721dbbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsr_zpzz_d, TCG_CALL_NO_RWG,
18727721dbbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
18827721dbbSRichard Henderson 
18927721dbbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsl_zpzz_b, TCG_CALL_NO_RWG,
19027721dbbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
19127721dbbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsl_zpzz_h, TCG_CALL_NO_RWG,
19227721dbbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
19327721dbbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsl_zpzz_s, TCG_CALL_NO_RWG,
19427721dbbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
19527721dbbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsl_zpzz_d, TCG_CALL_NO_RWG,
19627721dbbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
19727721dbbSRichard Henderson 
198fe7f8dfbSRichard Henderson DEF_HELPER_FLAGS_5(sve_asr_zpzw_b, TCG_CALL_NO_RWG,
199fe7f8dfbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
200fe7f8dfbSRichard Henderson DEF_HELPER_FLAGS_5(sve_asr_zpzw_h, TCG_CALL_NO_RWG,
201fe7f8dfbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
202fe7f8dfbSRichard Henderson DEF_HELPER_FLAGS_5(sve_asr_zpzw_s, TCG_CALL_NO_RWG,
203fe7f8dfbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
204fe7f8dfbSRichard Henderson 
205fe7f8dfbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsr_zpzw_b, TCG_CALL_NO_RWG,
206fe7f8dfbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
207fe7f8dfbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsr_zpzw_h, TCG_CALL_NO_RWG,
208fe7f8dfbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
209fe7f8dfbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsr_zpzw_s, TCG_CALL_NO_RWG,
210fe7f8dfbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
211fe7f8dfbSRichard Henderson 
212fe7f8dfbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsl_zpzw_b, TCG_CALL_NO_RWG,
213fe7f8dfbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
214fe7f8dfbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsl_zpzw_h, TCG_CALL_NO_RWG,
215fe7f8dfbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
216fe7f8dfbSRichard Henderson DEF_HELPER_FLAGS_5(sve_lsl_zpzw_s, TCG_CALL_NO_RWG,
217fe7f8dfbSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
218fe7f8dfbSRichard Henderson 
219047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_orv_b, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
220047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_orv_h, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
221047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_orv_s, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
222047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_orv_d, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
223047cec97SRichard Henderson 
224047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_eorv_b, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
225047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_eorv_h, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
226047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_eorv_s, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
227047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_eorv_d, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
228047cec97SRichard Henderson 
229047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_andv_b, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
230047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_andv_h, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
231047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_andv_s, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
232047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_andv_d, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
233047cec97SRichard Henderson 
234047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_saddv_b, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
235047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_saddv_h, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
236047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_saddv_s, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
237047cec97SRichard Henderson 
238047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_uaddv_b, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
239047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_uaddv_h, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
240047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_uaddv_s, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
241047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_uaddv_d, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
242047cec97SRichard Henderson 
243047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_smaxv_b, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
244047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_smaxv_h, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
245047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_smaxv_s, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
246047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_smaxv_d, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
247047cec97SRichard Henderson 
248047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_umaxv_b, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
249047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_umaxv_h, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
250047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_umaxv_s, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
251047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_umaxv_d, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
252047cec97SRichard Henderson 
253047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_sminv_b, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
254047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_sminv_h, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
255047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_sminv_s, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
256047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_sminv_d, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
257047cec97SRichard Henderson 
258047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_uminv_b, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
259047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_uminv_h, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
260047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_uminv_s, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
261047cec97SRichard Henderson DEF_HELPER_FLAGS_3(sve_uminv_d, TCG_CALL_NO_RWG, i64, ptr, ptr, i32)
262047cec97SRichard Henderson 
263ccd841c3SRichard Henderson DEF_HELPER_FLAGS_3(sve_clr_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
264ccd841c3SRichard Henderson DEF_HELPER_FLAGS_3(sve_clr_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
265ccd841c3SRichard Henderson DEF_HELPER_FLAGS_3(sve_clr_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
266ccd841c3SRichard Henderson DEF_HELPER_FLAGS_3(sve_clr_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
267ccd841c3SRichard Henderson 
268ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_asr_zpzi_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
269ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_asr_zpzi_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
270ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_asr_zpzi_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
271ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_asr_zpzi_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
272ccd841c3SRichard Henderson 
273ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_lsr_zpzi_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
274ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_lsr_zpzi_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
275ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_lsr_zpzi_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
276ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_lsr_zpzi_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
277ccd841c3SRichard Henderson 
278ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_lsl_zpzi_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
279ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_lsl_zpzi_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
280ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_lsl_zpzi_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
281ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_lsl_zpzi_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
282ccd841c3SRichard Henderson 
283ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_asrd_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
284ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_asrd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
285ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_asrd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
286ccd841c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_asrd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
287ccd841c3SRichard Henderson 
288afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_cls_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
289afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_cls_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
290afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_cls_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
291afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_cls_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
292afac6d04SRichard Henderson 
293afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_clz_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
294afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_clz_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
295afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_clz_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
296afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_clz_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
297afac6d04SRichard Henderson 
298afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_cnt_zpz_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
299afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_cnt_zpz_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
300afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_cnt_zpz_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
301afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_cnt_zpz_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
302afac6d04SRichard Henderson 
303afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_cnot_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
304afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_cnot_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
305afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_cnot_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
306afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_cnot_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
307afac6d04SRichard Henderson 
308afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_fabs_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
309afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_fabs_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
310afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_fabs_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
311afac6d04SRichard Henderson 
312afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_fneg_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
313afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_fneg_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
314afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_fneg_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
315afac6d04SRichard Henderson 
316afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_not_zpz_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
317afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_not_zpz_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
318afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_not_zpz_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
319afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_not_zpz_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
320afac6d04SRichard Henderson 
321afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_sxtb_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
322afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_sxtb_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
323afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_sxtb_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
324afac6d04SRichard Henderson 
325afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_uxtb_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
326afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_uxtb_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
327afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_uxtb_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
328afac6d04SRichard Henderson 
329afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_sxth_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
330afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_sxth_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
331afac6d04SRichard Henderson 
332afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_uxth_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
333afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_uxth_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
334afac6d04SRichard Henderson 
335afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_sxtw_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
336afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_uxtw_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
337afac6d04SRichard Henderson 
338afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_abs_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
339afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_abs_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
340afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_abs_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
341afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_abs_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
342afac6d04SRichard Henderson 
343afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_neg_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
344afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_neg_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
345afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_neg_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
346afac6d04SRichard Henderson DEF_HELPER_FLAGS_4(sve_neg_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
347afac6d04SRichard Henderson 
34896a36e4aSRichard Henderson DEF_HELPER_FLAGS_6(sve_mla_b, TCG_CALL_NO_RWG,
34996a36e4aSRichard Henderson                    void, ptr, ptr, ptr, ptr, ptr, i32)
35096a36e4aSRichard Henderson DEF_HELPER_FLAGS_6(sve_mla_h, TCG_CALL_NO_RWG,
35196a36e4aSRichard Henderson                    void, ptr, ptr, ptr, ptr, ptr, i32)
35296a36e4aSRichard Henderson DEF_HELPER_FLAGS_6(sve_mla_s, TCG_CALL_NO_RWG,
35396a36e4aSRichard Henderson                    void, ptr, ptr, ptr, ptr, ptr, i32)
35496a36e4aSRichard Henderson DEF_HELPER_FLAGS_6(sve_mla_d, TCG_CALL_NO_RWG,
35596a36e4aSRichard Henderson                    void, ptr, ptr, ptr, ptr, ptr, i32)
35696a36e4aSRichard Henderson 
35796a36e4aSRichard Henderson DEF_HELPER_FLAGS_6(sve_mls_b, TCG_CALL_NO_RWG,
35896a36e4aSRichard Henderson                    void, ptr, ptr, ptr, ptr, ptr, i32)
35996a36e4aSRichard Henderson DEF_HELPER_FLAGS_6(sve_mls_h, TCG_CALL_NO_RWG,
36096a36e4aSRichard Henderson                    void, ptr, ptr, ptr, ptr, ptr, i32)
36196a36e4aSRichard Henderson DEF_HELPER_FLAGS_6(sve_mls_s, TCG_CALL_NO_RWG,
36296a36e4aSRichard Henderson                    void, ptr, ptr, ptr, ptr, ptr, i32)
36396a36e4aSRichard Henderson DEF_HELPER_FLAGS_6(sve_mls_d, TCG_CALL_NO_RWG,
36496a36e4aSRichard Henderson                    void, ptr, ptr, ptr, ptr, ptr, i32)
36596a36e4aSRichard Henderson 
3669a56c9c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_index_b, TCG_CALL_NO_RWG, void, ptr, i32, i32, i32)
3679a56c9c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_index_h, TCG_CALL_NO_RWG, void, ptr, i32, i32, i32)
3689a56c9c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_index_s, TCG_CALL_NO_RWG, void, ptr, i32, i32, i32)
3699a56c9c3SRichard Henderson DEF_HELPER_FLAGS_4(sve_index_d, TCG_CALL_NO_RWG, void, ptr, i64, i64, i32)
3709a56c9c3SRichard Henderson 
371516e246aSRichard Henderson DEF_HELPER_FLAGS_5(sve_and_pppp, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
372516e246aSRichard Henderson DEF_HELPER_FLAGS_5(sve_bic_pppp, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
373516e246aSRichard Henderson DEF_HELPER_FLAGS_5(sve_eor_pppp, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
374516e246aSRichard Henderson DEF_HELPER_FLAGS_5(sve_sel_pppp, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
375516e246aSRichard Henderson DEF_HELPER_FLAGS_5(sve_orr_pppp, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
376516e246aSRichard Henderson DEF_HELPER_FLAGS_5(sve_orn_pppp, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
377516e246aSRichard Henderson DEF_HELPER_FLAGS_5(sve_nor_pppp, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
378516e246aSRichard Henderson DEF_HELPER_FLAGS_5(sve_nand_pppp, TCG_CALL_NO_RWG,
379516e246aSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
380