]> git.proxmox.com Git - mirror_qemu.git/blame - target/arm/helper.h
target/arm: Implement FEAT_TIDCP1
[mirror_qemu.git] / target / arm / helper.h
CommitLineData
4b3d4829
AJ
1DEF_HELPER_FLAGS_1(sxtb16, TCG_CALL_NO_RWG_SE, i32, i32)
2DEF_HELPER_FLAGS_1(uxtb16, TCG_CALL_NO_RWG_SE, i32, i32)
a7812ae4 3
9ef39277
BS
4DEF_HELPER_3(add_setq, i32, env, i32, i32)
5DEF_HELPER_3(add_saturate, i32, env, i32, i32)
6DEF_HELPER_3(sub_saturate, i32, env, i32, i32)
7DEF_HELPER_3(add_usaturate, i32, env, i32, i32)
8DEF_HELPER_3(sub_usaturate, i32, env, i32, i32)
e5346292
PM
9DEF_HELPER_FLAGS_3(sdiv, TCG_CALL_NO_RWG, s32, env, s32, s32)
10DEF_HELPER_FLAGS_3(udiv, TCG_CALL_NO_RWG, i32, env, i32, i32)
4b3d4829 11DEF_HELPER_FLAGS_1(rbit, TCG_CALL_NO_RWG_SE, i32, i32)
1497c961 12
6ddbc6e4 13#define PAS_OP(pfx) \
a7812ae4
PB
14 DEF_HELPER_3(pfx ## add8, i32, i32, i32, ptr) \
15 DEF_HELPER_3(pfx ## sub8, i32, i32, i32, ptr) \
16 DEF_HELPER_3(pfx ## sub16, i32, i32, i32, ptr) \
17 DEF_HELPER_3(pfx ## add16, i32, i32, i32, ptr) \
18 DEF_HELPER_3(pfx ## addsubx, i32, i32, i32, ptr) \
19 DEF_HELPER_3(pfx ## subaddx, i32, i32, i32, ptr)
6ddbc6e4
PB
20
21PAS_OP(s)
22PAS_OP(u)
23#undef PAS_OP
24
25#define PAS_OP(pfx) \
a7812ae4
PB
26 DEF_HELPER_2(pfx ## add8, i32, i32, i32) \
27 DEF_HELPER_2(pfx ## sub8, i32, i32, i32) \
28 DEF_HELPER_2(pfx ## sub16, i32, i32, i32) \
29 DEF_HELPER_2(pfx ## add16, i32, i32, i32) \
30 DEF_HELPER_2(pfx ## addsubx, i32, i32, i32) \
31 DEF_HELPER_2(pfx ## subaddx, i32, i32, i32)
6ddbc6e4
PB
32PAS_OP(q)
33PAS_OP(sh)
34PAS_OP(uq)
35PAS_OP(uh)
36#undef PAS_OP
37
9ef39277
BS
38DEF_HELPER_3(ssat, i32, env, i32, i32)
39DEF_HELPER_3(usat, i32, env, i32, i32)
40DEF_HELPER_3(ssat16, i32, env, i32, i32)
41DEF_HELPER_3(usat16, i32, env, i32, i32)
a7812ae4 42
4b3d4829 43DEF_HELPER_FLAGS_2(usad8, TCG_CALL_NO_RWG_SE, i32, i32, i32)
a7812ae4 44
4b3d4829 45DEF_HELPER_FLAGS_3(sel_flags, TCG_CALL_NO_RWG_SE,
00e3ab2d 46 i32, i32, i32, i32)
7666a81d 47DEF_HELPER_2(exception_internal, noreturn, env, i32)
eeaf5960 48DEF_HELPER_3(exception_with_syndrome, noreturn, env, i32, i32)
d3c5d50a 49DEF_HELPER_4(exception_with_syndrome_el, noreturn, env, i32, i32, i32)
7666a81d 50DEF_HELPER_2(exception_bkpt_insn, noreturn, env, i32)
f0d7c205 51DEF_HELPER_2(exception_swstep, noreturn, env, i32)
ee03027a 52DEF_HELPER_2(exception_pc_alignment, noreturn, env, tl)
9886ecdf 53DEF_HELPER_1(setend, void, env)
58803318 54DEF_HELPER_2(wfi, void, env, i32)
72c1d3af 55DEF_HELPER_1(wfe, void, env)
049e24a1 56DEF_HELPER_1(yield, void, env)
35979d71 57DEF_HELPER_1(pre_hvc, void, env)
e0d6e6a5 58DEF_HELPER_2(pre_smc, void, env, i32)
13954587 59DEF_HELPER_1(vesb, void, env)
a7812ae4 60
1ce94f81 61DEF_HELPER_3(cpsr_write, void, env, i32, i32)
235ea1f5 62DEF_HELPER_2(cpsr_write_eret, void, env, i32)
9ef39277 63DEF_HELPER_1(cpsr_read, i32, env)
a7812ae4
PB
64
65DEF_HELPER_3(v7m_msr, void, env, i32, i32)
66DEF_HELPER_2(v7m_mrs, i32, env, i32)
67
fb602cb7 68DEF_HELPER_2(v7m_bxns, void, env, i32)
3e3fa230 69DEF_HELPER_2(v7m_blxns, void, env, i32)
fb602cb7 70
5158de24
PM
71DEF_HELPER_3(v7m_tt, i32, env, i32, i32)
72
e33cf0f8
PM
73DEF_HELPER_1(v7m_preserve_fp_state, void, env)
74
019076b0 75DEF_HELPER_2(v7m_vlstm, void, env, i32)
956fe143 76DEF_HELPER_2(v7m_vlldm, void, env, i32)
019076b0 77
55203189
PM
78DEF_HELPER_2(v8m_stackcheck, void, env, i32)
79
8e228c9e
PM
80DEF_HELPER_FLAGS_2(check_bxj_trap, TCG_CALL_NO_WG, void, env, i32)
81
3b07a936
RH
82DEF_HELPER_4(access_check_cp_reg, cptr, env, i32, i32, i32)
83DEF_HELPER_FLAGS_2(lookup_cp_reg, TCG_CALL_NO_RWG_SE, cptr, env, i32)
9cd0c0de 84DEF_HELPER_FLAGS_2(tidcp_el0, TCG_CALL_NO_WG, void, env, i32)
27920d3d 85DEF_HELPER_FLAGS_2(tidcp_el1, TCG_CALL_NO_WG, void, env, i32)
3b07a936
RH
86DEF_HELPER_3(set_cp_reg, void, env, cptr, i32)
87DEF_HELPER_2(get_cp_reg, i32, env, cptr)
88DEF_HELPER_3(set_cp_reg64, void, env, cptr, i64)
89DEF_HELPER_2(get_cp_reg64, i64, env, cptr)
4b6a83fb 90
a7812ae4
PB
91DEF_HELPER_2(get_r13_banked, i32, env, i32)
92DEF_HELPER_3(set_r13_banked, void, env, i32, i32)
93
8bfd0550
PM
94DEF_HELPER_3(mrs_banked, i32, env, i32, i32)
95DEF_HELPER_4(msr_banked, void, env, i32, i32, i32)
96
9ef39277 97DEF_HELPER_2(get_user_reg, i32, env, i32)
1ce94f81 98DEF_HELPER_3(set_user_reg, void, env, i32, i32)
a7812ae4 99
19717e9b 100DEF_HELPER_FLAGS_1(rebuild_hflags_m32_newel, TCG_CALL_NO_RWG, void, env)
14f3c588 101DEF_HELPER_FLAGS_2(rebuild_hflags_m32, TCG_CALL_NO_RWG, void, env, int)
f80741d1 102DEF_HELPER_FLAGS_1(rebuild_hflags_a32_newel, TCG_CALL_NO_RWG, void, env)
14f3c588
RH
103DEF_HELPER_FLAGS_2(rebuild_hflags_a32, TCG_CALL_NO_RWG, void, env, int)
104DEF_HELPER_FLAGS_2(rebuild_hflags_a64, TCG_CALL_NO_RWG, void, env, int)
105
c15294c1
RH
106DEF_HELPER_FLAGS_5(probe_access, TCG_CALL_NO_WG, void, env, tl, i32, i32, i32)
107
a7812ae4
PB
108DEF_HELPER_1(vfp_get_fpscr, i32, env)
109DEF_HELPER_2(vfp_set_fpscr, void, env, i32)
110
120a0eb3 111DEF_HELPER_3(vfp_addh, f16, f16, f16, ptr)
ae1857ec
PM
112DEF_HELPER_3(vfp_adds, f32, f32, f32, ptr)
113DEF_HELPER_3(vfp_addd, f64, f64, f64, ptr)
120a0eb3 114DEF_HELPER_3(vfp_subh, f16, f16, f16, ptr)
ae1857ec
PM
115DEF_HELPER_3(vfp_subs, f32, f32, f32, ptr)
116DEF_HELPER_3(vfp_subd, f64, f64, f64, ptr)
120a0eb3 117DEF_HELPER_3(vfp_mulh, f16, f16, f16, ptr)
ae1857ec
PM
118DEF_HELPER_3(vfp_muls, f32, f32, f32, ptr)
119DEF_HELPER_3(vfp_muld, f64, f64, f64, ptr)
120a0eb3 120DEF_HELPER_3(vfp_divh, f16, f16, f16, ptr)
ae1857ec
PM
121DEF_HELPER_3(vfp_divs, f32, f32, f32, ptr)
122DEF_HELPER_3(vfp_divd, f64, f64, f64, ptr)
120a0eb3 123DEF_HELPER_3(vfp_maxh, f16, f16, f16, ptr)
f71a2ae5
PM
124DEF_HELPER_3(vfp_maxs, f32, f32, f32, ptr)
125DEF_HELPER_3(vfp_maxd, f64, f64, f64, ptr)
120a0eb3 126DEF_HELPER_3(vfp_minh, f16, f16, f16, ptr)
f71a2ae5
PM
127DEF_HELPER_3(vfp_mins, f32, f32, f32, ptr)
128DEF_HELPER_3(vfp_mind, f64, f64, f64, ptr)
120a0eb3 129DEF_HELPER_3(vfp_maxnumh, f16, f16, f16, ptr)
f71a2ae5
PM
130DEF_HELPER_3(vfp_maxnums, f32, f32, f32, ptr)
131DEF_HELPER_3(vfp_maxnumd, f64, f64, f64, ptr)
120a0eb3 132DEF_HELPER_3(vfp_minnumh, f16, f16, f16, ptr)
f71a2ae5
PM
133DEF_HELPER_3(vfp_minnums, f32, f32, f32, ptr)
134DEF_HELPER_3(vfp_minnumd, f64, f64, f64, ptr)
e7cb0ded 135DEF_HELPER_1(vfp_negh, f16, f16)
a7812ae4
PB
136DEF_HELPER_1(vfp_negs, f32, f32)
137DEF_HELPER_1(vfp_negd, f64, f64)
ce2d65a5 138DEF_HELPER_1(vfp_absh, f16, f16)
a7812ae4
PB
139DEF_HELPER_1(vfp_abss, f32, f32)
140DEF_HELPER_1(vfp_absd, f64, f64)
ce2d65a5 141DEF_HELPER_2(vfp_sqrth, f16, f16, env)
a7812ae4
PB
142DEF_HELPER_2(vfp_sqrts, f32, f32, env)
143DEF_HELPER_2(vfp_sqrtd, f64, f64, env)
1b88b054 144DEF_HELPER_3(vfp_cmph, void, f16, f16, env)
a7812ae4
PB
145DEF_HELPER_3(vfp_cmps, void, f32, f32, env)
146DEF_HELPER_3(vfp_cmpd, void, f64, f64, env)
1b88b054 147DEF_HELPER_3(vfp_cmpeh, void, f16, f16, env)
a7812ae4
PB
148DEF_HELPER_3(vfp_cmpes, void, f32, f32, env)
149DEF_HELPER_3(vfp_cmped, void, f64, f64, env)
150
151DEF_HELPER_2(vfp_fcvtds, f64, f32, env)
152DEF_HELPER_2(vfp_fcvtsd, f32, f64, env)
3a98ac40 153DEF_HELPER_FLAGS_2(bfcvt, TCG_CALL_NO_RWG, i32, f32, ptr)
d29b17ca 154DEF_HELPER_FLAGS_2(bfcvt_pair, TCG_CALL_NO_RWG, i32, i64, ptr)
a7812ae4 155
93193190 156DEF_HELPER_2(vfp_uitoh, f16, i32, ptr)
5500b06c
PM
157DEF_HELPER_2(vfp_uitos, f32, i32, ptr)
158DEF_HELPER_2(vfp_uitod, f64, i32, ptr)
93193190 159DEF_HELPER_2(vfp_sitoh, f16, i32, ptr)
5500b06c
PM
160DEF_HELPER_2(vfp_sitos, f32, i32, ptr)
161DEF_HELPER_2(vfp_sitod, f64, i32, ptr)
162
93193190 163DEF_HELPER_2(vfp_touih, i32, f16, ptr)
5500b06c
PM
164DEF_HELPER_2(vfp_touis, i32, f32, ptr)
165DEF_HELPER_2(vfp_touid, i32, f64, ptr)
93193190 166DEF_HELPER_2(vfp_touizh, i32, f16, ptr)
5500b06c
PM
167DEF_HELPER_2(vfp_touizs, i32, f32, ptr)
168DEF_HELPER_2(vfp_touizd, i32, f64, ptr)
df4de1af
RH
169DEF_HELPER_2(vfp_tosih, s32, f16, ptr)
170DEF_HELPER_2(vfp_tosis, s32, f32, ptr)
171DEF_HELPER_2(vfp_tosid, s32, f64, ptr)
172DEF_HELPER_2(vfp_tosizh, s32, f16, ptr)
173DEF_HELPER_2(vfp_tosizs, s32, f32, ptr)
174DEF_HELPER_2(vfp_tosizd, s32, f64, ptr)
5500b06c 175
414ba270
PM
176DEF_HELPER_3(vfp_toshh_round_to_zero, i32, f16, i32, ptr)
177DEF_HELPER_3(vfp_toslh_round_to_zero, i32, f16, i32, ptr)
178DEF_HELPER_3(vfp_touhh_round_to_zero, i32, f16, i32, ptr)
179DEF_HELPER_3(vfp_toulh_round_to_zero, i32, f16, i32, ptr)
16d5b3ca
WN
180DEF_HELPER_3(vfp_toshs_round_to_zero, i32, f32, i32, ptr)
181DEF_HELPER_3(vfp_tosls_round_to_zero, i32, f32, i32, ptr)
182DEF_HELPER_3(vfp_touhs_round_to_zero, i32, f32, i32, ptr)
183DEF_HELPER_3(vfp_touls_round_to_zero, i32, f32, i32, ptr)
184DEF_HELPER_3(vfp_toshd_round_to_zero, i64, f64, i32, ptr)
185DEF_HELPER_3(vfp_tosld_round_to_zero, i64, f64, i32, ptr)
186DEF_HELPER_3(vfp_touhd_round_to_zero, i64, f64, i32, ptr)
187DEF_HELPER_3(vfp_tould_round_to_zero, i64, f64, i32, ptr)
88808a02
RH
188DEF_HELPER_3(vfp_touhh, i32, f16, i32, ptr)
189DEF_HELPER_3(vfp_toshh, i32, f16, i32, ptr)
564a0632
RH
190DEF_HELPER_3(vfp_toulh, i32, f16, i32, ptr)
191DEF_HELPER_3(vfp_toslh, i32, f16, i32, ptr)
192DEF_HELPER_3(vfp_touqh, i64, f16, i32, ptr)
193DEF_HELPER_3(vfp_tosqh, i64, f16, i32, ptr)
3c6a074a
WN
194DEF_HELPER_3(vfp_toshs, i32, f32, i32, ptr)
195DEF_HELPER_3(vfp_tosls, i32, f32, i32, ptr)
196DEF_HELPER_3(vfp_tosqs, i64, f32, i32, ptr)
197DEF_HELPER_3(vfp_touhs, i32, f32, i32, ptr)
198DEF_HELPER_3(vfp_touls, i32, f32, i32, ptr)
199DEF_HELPER_3(vfp_touqs, i64, f32, i32, ptr)
200DEF_HELPER_3(vfp_toshd, i64, f64, i32, ptr)
201DEF_HELPER_3(vfp_tosld, i64, f64, i32, ptr)
202DEF_HELPER_3(vfp_tosqd, i64, f64, i32, ptr)
203DEF_HELPER_3(vfp_touhd, i64, f64, i32, ptr)
204DEF_HELPER_3(vfp_tould, i64, f64, i32, ptr)
205DEF_HELPER_3(vfp_touqd, i64, f64, i32, ptr)
5500b06c
PM
206DEF_HELPER_3(vfp_shtos, f32, i32, i32, ptr)
207DEF_HELPER_3(vfp_sltos, f32, i32, i32, ptr)
3c6a074a 208DEF_HELPER_3(vfp_sqtos, f32, i64, i32, ptr)
5500b06c
PM
209DEF_HELPER_3(vfp_uhtos, f32, i32, i32, ptr)
210DEF_HELPER_3(vfp_ultos, f32, i32, i32, ptr)
3c6a074a 211DEF_HELPER_3(vfp_uqtos, f32, i64, i32, ptr)
5500b06c
PM
212DEF_HELPER_3(vfp_shtod, f64, i64, i32, ptr)
213DEF_HELPER_3(vfp_sltod, f64, i64, i32, ptr)
3c6a074a 214DEF_HELPER_3(vfp_sqtod, f64, i64, i32, ptr)
5500b06c
PM
215DEF_HELPER_3(vfp_uhtod, f64, i64, i32, ptr)
216DEF_HELPER_3(vfp_ultod, f64, i64, i32, ptr)
3c6a074a 217DEF_HELPER_3(vfp_uqtod, f64, i64, i32, ptr)
414ba270
PM
218DEF_HELPER_3(vfp_shtoh, f16, i32, i32, ptr)
219DEF_HELPER_3(vfp_uhtoh, f16, i32, i32, ptr)
93193190
AB
220DEF_HELPER_3(vfp_sltoh, f16, i32, i32, ptr)
221DEF_HELPER_3(vfp_ultoh, f16, i32, i32, ptr)
564a0632
RH
222DEF_HELPER_3(vfp_sqtoh, f16, i64, i32, ptr)
223DEF_HELPER_3(vfp_uqtoh, f16, i64, i32, ptr)
a7812ae4 224
61db12d9
PM
225DEF_HELPER_3(vfp_shtos_round_to_nearest, f32, i32, i32, ptr)
226DEF_HELPER_3(vfp_sltos_round_to_nearest, f32, i32, i32, ptr)
227DEF_HELPER_3(vfp_uhtos_round_to_nearest, f32, i32, i32, ptr)
228DEF_HELPER_3(vfp_ultos_round_to_nearest, f32, i32, i32, ptr)
229DEF_HELPER_3(vfp_shtod_round_to_nearest, f64, i64, i32, ptr)
230DEF_HELPER_3(vfp_sltod_round_to_nearest, f64, i64, i32, ptr)
231DEF_HELPER_3(vfp_uhtod_round_to_nearest, f64, i64, i32, ptr)
232DEF_HELPER_3(vfp_ultod_round_to_nearest, f64, i64, i32, ptr)
233DEF_HELPER_3(vfp_shtoh_round_to_nearest, f16, i32, i32, ptr)
234DEF_HELPER_3(vfp_uhtoh_round_to_nearest, f16, i32, i32, ptr)
235DEF_HELPER_3(vfp_sltoh_round_to_nearest, f16, i32, i32, ptr)
236DEF_HELPER_3(vfp_ultoh_round_to_nearest, f16, i32, i32, ptr)
237
9b049916 238DEF_HELPER_FLAGS_2(set_rmode, TCG_CALL_NO_RWG, i32, i32, ptr)
52a1f6a3 239
486624fc
AB
240DEF_HELPER_FLAGS_3(vfp_fcvt_f16_to_f32, TCG_CALL_NO_RWG, f32, f16, ptr, i32)
241DEF_HELPER_FLAGS_3(vfp_fcvt_f32_to_f16, TCG_CALL_NO_RWG, f16, f32, ptr, i32)
242DEF_HELPER_FLAGS_3(vfp_fcvt_f16_to_f64, TCG_CALL_NO_RWG, f64, f16, ptr, i32)
243DEF_HELPER_FLAGS_3(vfp_fcvt_f64_to_f16, TCG_CALL_NO_RWG, f16, f64, ptr, i32)
60011498 244
da97f52c
PM
245DEF_HELPER_4(vfp_muladdd, f64, f64, f64, f64, ptr)
246DEF_HELPER_4(vfp_muladds, f32, f32, f32, f32, ptr)
9886fe28 247DEF_HELPER_4(vfp_muladdh, f16, f16, f16, f16, ptr)
da97f52c 248
5eb70735 249DEF_HELPER_FLAGS_2(recpe_f16, TCG_CALL_NO_RWG, f16, f16, ptr)
b6d4443a
AB
250DEF_HELPER_FLAGS_2(recpe_f32, TCG_CALL_NO_RWG, f32, f32, ptr)
251DEF_HELPER_FLAGS_2(recpe_f64, TCG_CALL_NO_RWG, f64, f64, ptr)
d719cbc7 252DEF_HELPER_FLAGS_2(rsqrte_f16, TCG_CALL_NO_RWG, f16, f16, ptr)
c2fb418e
AB
253DEF_HELPER_FLAGS_2(rsqrte_f32, TCG_CALL_NO_RWG, f32, f32, ptr)
254DEF_HELPER_FLAGS_2(rsqrte_f64, TCG_CALL_NO_RWG, f64, f64, ptr)
fe6fb4be
RH
255DEF_HELPER_FLAGS_1(recpe_u32, TCG_CALL_NO_RWG, i32, i32)
256DEF_HELPER_FLAGS_1(rsqrte_u32, TCG_CALL_NO_RWG, i32, i32)
604cef3e 257DEF_HELPER_FLAGS_4(neon_tbl, TCG_CALL_NO_RWG, i64, env, i32, i64, i64)
9ef39277 258
9ef39277
BS
259DEF_HELPER_3(shl_cc, i32, env, i32, i32)
260DEF_HELPER_3(shr_cc, i32, env, i32, i32)
261DEF_HELPER_3(sar_cc, i32, env, i32, i32)
262DEF_HELPER_3(ror_cc, i32, env, i32, i32)
8984bd2e 263
0a6f4b4c 264DEF_HELPER_FLAGS_2(rinth_exact, TCG_CALL_NO_RWG, f16, f16, ptr)
d9b0848d
PM
265DEF_HELPER_FLAGS_2(rints_exact, TCG_CALL_NO_RWG, f32, f32, ptr)
266DEF_HELPER_FLAGS_2(rintd_exact, TCG_CALL_NO_RWG, f64, f64, ptr)
0a6f4b4c 267DEF_HELPER_FLAGS_2(rinth, TCG_CALL_NO_RWG, f16, f16, ptr)
d9b0848d
PM
268DEF_HELPER_FLAGS_2(rints, TCG_CALL_NO_RWG, f32, f32, ptr)
269DEF_HELPER_FLAGS_2(rintd, TCG_CALL_NO_RWG, f64, f64, ptr)
270
6c1f6f27
RH
271DEF_HELPER_FLAGS_2(vjcvt, TCG_CALL_NO_RWG, i32, f64, env)
272DEF_HELPER_FLAGS_2(fjcvtzs, TCG_CALL_NO_RWG, i64, f64, ptr)
273
9ca1d776
MZ
274DEF_HELPER_FLAGS_3(check_hcr_el2_trap, TCG_CALL_NO_WG, void, env, i32, i32)
275
ad69471c 276/* neon_helper.c */
09e03735
AB
277DEF_HELPER_FLAGS_3(neon_qadd_u8, TCG_CALL_NO_RWG, i32, env, i32, i32)
278DEF_HELPER_FLAGS_3(neon_qadd_s8, TCG_CALL_NO_RWG, i32, env, i32, i32)
279DEF_HELPER_FLAGS_3(neon_qadd_u16, TCG_CALL_NO_RWG, i32, env, i32, i32)
280DEF_HELPER_FLAGS_3(neon_qadd_s16, TCG_CALL_NO_RWG, i32, env, i32, i32)
281DEF_HELPER_FLAGS_3(neon_qadd_u32, TCG_CALL_NO_RWG, i32, env, i32, i32)
282DEF_HELPER_FLAGS_3(neon_qadd_s32, TCG_CALL_NO_RWG, i32, env, i32, i32)
283DEF_HELPER_FLAGS_3(neon_uqadd_s8, TCG_CALL_NO_RWG, i32, env, i32, i32)
284DEF_HELPER_FLAGS_3(neon_uqadd_s16, TCG_CALL_NO_RWG, i32, env, i32, i32)
285DEF_HELPER_FLAGS_3(neon_uqadd_s32, TCG_CALL_NO_RWG, i32, env, i32, i32)
286DEF_HELPER_FLAGS_3(neon_uqadd_s64, TCG_CALL_NO_RWG, i64, env, i64, i64)
287DEF_HELPER_FLAGS_3(neon_sqadd_u8, TCG_CALL_NO_RWG, i32, env, i32, i32)
288DEF_HELPER_FLAGS_3(neon_sqadd_u16, TCG_CALL_NO_RWG, i32, env, i32, i32)
289DEF_HELPER_FLAGS_3(neon_sqadd_u32, TCG_CALL_NO_RWG, i32, env, i32, i32)
290DEF_HELPER_FLAGS_3(neon_sqadd_u64, TCG_CALL_NO_RWG, i64, env, i64, i64)
02da0b2d
PM
291DEF_HELPER_3(neon_qsub_u8, i32, env, i32, i32)
292DEF_HELPER_3(neon_qsub_s8, i32, env, i32, i32)
293DEF_HELPER_3(neon_qsub_u16, i32, env, i32, i32)
294DEF_HELPER_3(neon_qsub_s16, i32, env, i32, i32)
295DEF_HELPER_3(neon_qsub_u32, i32, env, i32, i32)
296DEF_HELPER_3(neon_qsub_s32, i32, env, i32, i32)
297DEF_HELPER_3(neon_qadd_u64, i64, env, i64, i64)
298DEF_HELPER_3(neon_qadd_s64, i64, env, i64, i64)
299DEF_HELPER_3(neon_qsub_u64, i64, env, i64, i64)
300DEF_HELPER_3(neon_qsub_s64, i64, env, i64, i64)
a7812ae4
PB
301
302DEF_HELPER_2(neon_hadd_s8, i32, i32, i32)
303DEF_HELPER_2(neon_hadd_u8, i32, i32, i32)
304DEF_HELPER_2(neon_hadd_s16, i32, i32, i32)
305DEF_HELPER_2(neon_hadd_u16, i32, i32, i32)
306DEF_HELPER_2(neon_hadd_s32, s32, s32, s32)
307DEF_HELPER_2(neon_hadd_u32, i32, i32, i32)
308DEF_HELPER_2(neon_rhadd_s8, i32, i32, i32)
309DEF_HELPER_2(neon_rhadd_u8, i32, i32, i32)
310DEF_HELPER_2(neon_rhadd_s16, i32, i32, i32)
311DEF_HELPER_2(neon_rhadd_u16, i32, i32, i32)
312DEF_HELPER_2(neon_rhadd_s32, s32, s32, s32)
313DEF_HELPER_2(neon_rhadd_u32, i32, i32, i32)
314DEF_HELPER_2(neon_hsub_s8, i32, i32, i32)
315DEF_HELPER_2(neon_hsub_u8, i32, i32, i32)
316DEF_HELPER_2(neon_hsub_s16, i32, i32, i32)
317DEF_HELPER_2(neon_hsub_u16, i32, i32, i32)
318DEF_HELPER_2(neon_hsub_s32, s32, s32, s32)
319DEF_HELPER_2(neon_hsub_u32, i32, i32, i32)
320
a7812ae4
PB
321DEF_HELPER_2(neon_pmin_u8, i32, i32, i32)
322DEF_HELPER_2(neon_pmin_s8, i32, i32, i32)
323DEF_HELPER_2(neon_pmin_u16, i32, i32, i32)
324DEF_HELPER_2(neon_pmin_s16, i32, i32, i32)
325DEF_HELPER_2(neon_pmax_u8, i32, i32, i32)
326DEF_HELPER_2(neon_pmax_s8, i32, i32, i32)
327DEF_HELPER_2(neon_pmax_u16, i32, i32, i32)
328DEF_HELPER_2(neon_pmax_s16, i32, i32, i32)
329
a7812ae4
PB
330DEF_HELPER_2(neon_shl_u16, i32, i32, i32)
331DEF_HELPER_2(neon_shl_s16, i32, i32, i32)
a7812ae4
PB
332DEF_HELPER_2(neon_rshl_u8, i32, i32, i32)
333DEF_HELPER_2(neon_rshl_s8, i32, i32, i32)
334DEF_HELPER_2(neon_rshl_u16, i32, i32, i32)
335DEF_HELPER_2(neon_rshl_s16, i32, i32, i32)
336DEF_HELPER_2(neon_rshl_u32, i32, i32, i32)
337DEF_HELPER_2(neon_rshl_s32, i32, i32, i32)
338DEF_HELPER_2(neon_rshl_u64, i64, i64, i64)
339DEF_HELPER_2(neon_rshl_s64, i64, i64, i64)
02da0b2d
PM
340DEF_HELPER_3(neon_qshl_u8, i32, env, i32, i32)
341DEF_HELPER_3(neon_qshl_s8, i32, env, i32, i32)
342DEF_HELPER_3(neon_qshl_u16, i32, env, i32, i32)
343DEF_HELPER_3(neon_qshl_s16, i32, env, i32, i32)
344DEF_HELPER_3(neon_qshl_u32, i32, env, i32, i32)
345DEF_HELPER_3(neon_qshl_s32, i32, env, i32, i32)
346DEF_HELPER_3(neon_qshl_u64, i64, env, i64, i64)
347DEF_HELPER_3(neon_qshl_s64, i64, env, i64, i64)
f5daeec4
RH
348DEF_HELPER_3(neon_qshlu_s8, i32, env, i32, i32)
349DEF_HELPER_3(neon_qshlu_s16, i32, env, i32, i32)
350DEF_HELPER_3(neon_qshlu_s32, i32, env, i32, i32)
351DEF_HELPER_3(neon_qshlu_s64, i64, env, i64, i64)
02da0b2d
PM
352DEF_HELPER_3(neon_qrshl_u8, i32, env, i32, i32)
353DEF_HELPER_3(neon_qrshl_s8, i32, env, i32, i32)
354DEF_HELPER_3(neon_qrshl_u16, i32, env, i32, i32)
355DEF_HELPER_3(neon_qrshl_s16, i32, env, i32, i32)
356DEF_HELPER_3(neon_qrshl_u32, i32, env, i32, i32)
357DEF_HELPER_3(neon_qrshl_s32, i32, env, i32, i32)
358DEF_HELPER_3(neon_qrshl_u64, i64, env, i64, i64)
359DEF_HELPER_3(neon_qrshl_s64, i64, env, i64, i64)
a7812ae4
PB
360
361DEF_HELPER_2(neon_add_u8, i32, i32, i32)
362DEF_HELPER_2(neon_add_u16, i32, i32, i32)
363DEF_HELPER_2(neon_padd_u8, i32, i32, i32)
364DEF_HELPER_2(neon_padd_u16, i32, i32, i32)
365DEF_HELPER_2(neon_sub_u8, i32, i32, i32)
366DEF_HELPER_2(neon_sub_u16, i32, i32, i32)
367DEF_HELPER_2(neon_mul_u8, i32, i32, i32)
368DEF_HELPER_2(neon_mul_u16, i32, i32, i32)
a7812ae4
PB
369
370DEF_HELPER_2(neon_tst_u8, i32, i32, i32)
371DEF_HELPER_2(neon_tst_u16, i32, i32, i32)
372DEF_HELPER_2(neon_tst_u32, i32, i32, i32)
a7812ae4 373
a7812ae4
PB
374DEF_HELPER_1(neon_clz_u8, i32, i32)
375DEF_HELPER_1(neon_clz_u16, i32, i32)
376DEF_HELPER_1(neon_cls_s8, i32, i32)
377DEF_HELPER_1(neon_cls_s16, i32, i32)
378DEF_HELPER_1(neon_cls_s32, i32, i32)
379DEF_HELPER_1(neon_cnt_u8, i32, i32)
86cbc418 380DEF_HELPER_FLAGS_1(neon_rbit_u8, TCG_CALL_NO_RWG_SE, i32, i32)
a7812ae4 381
02da0b2d
PM
382DEF_HELPER_3(neon_qdmulh_s16, i32, env, i32, i32)
383DEF_HELPER_3(neon_qrdmulh_s16, i32, env, i32, i32)
d9061ec3
RH
384DEF_HELPER_4(neon_qrdmlah_s16, i32, env, i32, i32, i32)
385DEF_HELPER_4(neon_qrdmlsh_s16, i32, env, i32, i32, i32)
02da0b2d
PM
386DEF_HELPER_3(neon_qdmulh_s32, i32, env, i32, i32)
387DEF_HELPER_3(neon_qrdmulh_s32, i32, env, i32, i32)
d9061ec3
RH
388DEF_HELPER_4(neon_qrdmlah_s32, i32, env, s32, s32, s32)
389DEF_HELPER_4(neon_qrdmlsh_s32, i32, env, s32, s32, s32)
a7812ae4
PB
390
391DEF_HELPER_1(neon_narrow_u8, i32, i64)
392DEF_HELPER_1(neon_narrow_u16, i32, i64)
02da0b2d
PM
393DEF_HELPER_2(neon_unarrow_sat8, i32, env, i64)
394DEF_HELPER_2(neon_narrow_sat_u8, i32, env, i64)
395DEF_HELPER_2(neon_narrow_sat_s8, i32, env, i64)
396DEF_HELPER_2(neon_unarrow_sat16, i32, env, i64)
397DEF_HELPER_2(neon_narrow_sat_u16, i32, env, i64)
398DEF_HELPER_2(neon_narrow_sat_s16, i32, env, i64)
399DEF_HELPER_2(neon_unarrow_sat32, i32, env, i64)
400DEF_HELPER_2(neon_narrow_sat_u32, i32, env, i64)
401DEF_HELPER_2(neon_narrow_sat_s32, i32, env, i64)
a7812ae4
PB
402DEF_HELPER_1(neon_narrow_high_u8, i32, i64)
403DEF_HELPER_1(neon_narrow_high_u16, i32, i64)
404DEF_HELPER_1(neon_narrow_round_high_u8, i32, i64)
405DEF_HELPER_1(neon_narrow_round_high_u16, i32, i64)
406DEF_HELPER_1(neon_widen_u8, i64, i32)
407DEF_HELPER_1(neon_widen_s8, i64, i32)
408DEF_HELPER_1(neon_widen_u16, i64, i32)
409DEF_HELPER_1(neon_widen_s16, i64, i32)
410
411DEF_HELPER_2(neon_addl_u16, i64, i64, i64)
412DEF_HELPER_2(neon_addl_u32, i64, i64, i64)
413DEF_HELPER_2(neon_paddl_u16, i64, i64, i64)
414DEF_HELPER_2(neon_paddl_u32, i64, i64, i64)
415DEF_HELPER_2(neon_subl_u16, i64, i64, i64)
416DEF_HELPER_2(neon_subl_u32, i64, i64, i64)
02da0b2d
PM
417DEF_HELPER_3(neon_addl_saturate_s32, i64, env, i64, i64)
418DEF_HELPER_3(neon_addl_saturate_s64, i64, env, i64, i64)
a7812ae4
PB
419DEF_HELPER_2(neon_abdl_u16, i64, i32, i32)
420DEF_HELPER_2(neon_abdl_s16, i64, i32, i32)
421DEF_HELPER_2(neon_abdl_u32, i64, i32, i32)
422DEF_HELPER_2(neon_abdl_s32, i64, i32, i32)
423DEF_HELPER_2(neon_abdl_u64, i64, i32, i32)
424DEF_HELPER_2(neon_abdl_s64, i64, i32, i32)
425DEF_HELPER_2(neon_mull_u8, i64, i32, i32)
426DEF_HELPER_2(neon_mull_s8, i64, i32, i32)
427DEF_HELPER_2(neon_mull_u16, i64, i32, i32)
428DEF_HELPER_2(neon_mull_s16, i64, i32, i32)
429
430DEF_HELPER_1(neon_negl_u16, i64, i64)
431DEF_HELPER_1(neon_negl_u32, i64, i64)
a7812ae4 432
0a79bc87
AB
433DEF_HELPER_FLAGS_2(neon_qabs_s8, TCG_CALL_NO_RWG, i32, env, i32)
434DEF_HELPER_FLAGS_2(neon_qabs_s16, TCG_CALL_NO_RWG, i32, env, i32)
435DEF_HELPER_FLAGS_2(neon_qabs_s32, TCG_CALL_NO_RWG, i32, env, i32)
436DEF_HELPER_FLAGS_2(neon_qabs_s64, TCG_CALL_NO_RWG, i64, env, i64)
437DEF_HELPER_FLAGS_2(neon_qneg_s8, TCG_CALL_NO_RWG, i32, env, i32)
438DEF_HELPER_FLAGS_2(neon_qneg_s16, TCG_CALL_NO_RWG, i32, env, i32)
439DEF_HELPER_FLAGS_2(neon_qneg_s32, TCG_CALL_NO_RWG, i32, env, i32)
440DEF_HELPER_FLAGS_2(neon_qneg_s64, TCG_CALL_NO_RWG, i64, env, i64)
a7812ae4 441
aa47cfdd
PM
442DEF_HELPER_3(neon_ceq_f32, i32, i32, i32, ptr)
443DEF_HELPER_3(neon_cge_f32, i32, i32, i32, ptr)
444DEF_HELPER_3(neon_cgt_f32, i32, i32, i32, ptr)
445DEF_HELPER_3(neon_acge_f32, i32, i32, i32, ptr)
446DEF_HELPER_3(neon_acgt_f32, i32, i32, i32, ptr)
057d5f62
PM
447DEF_HELPER_3(neon_acge_f64, i64, i64, i64, ptr)
448DEF_HELPER_3(neon_acgt_f64, i64, i64, i64, ptr)
ad69471c 449
e677137d 450/* iwmmxt_helper.c */
a7812ae4
PB
451DEF_HELPER_2(iwmmxt_maddsq, i64, i64, i64)
452DEF_HELPER_2(iwmmxt_madduq, i64, i64, i64)
453DEF_HELPER_2(iwmmxt_sadb, i64, i64, i64)
454DEF_HELPER_2(iwmmxt_sadw, i64, i64, i64)
455DEF_HELPER_2(iwmmxt_mulslw, i64, i64, i64)
456DEF_HELPER_2(iwmmxt_mulshw, i64, i64, i64)
457DEF_HELPER_2(iwmmxt_mululw, i64, i64, i64)
458DEF_HELPER_2(iwmmxt_muluhw, i64, i64, i64)
459DEF_HELPER_2(iwmmxt_macsw, i64, i64, i64)
460DEF_HELPER_2(iwmmxt_macuw, i64, i64, i64)
461DEF_HELPER_1(iwmmxt_setpsr_nz, i32, i64)
e677137d 462
477955bd
PM
463#define DEF_IWMMXT_HELPER_SIZE_ENV(name) \
464DEF_HELPER_3(iwmmxt_##name##b, i64, env, i64, i64) \
465DEF_HELPER_3(iwmmxt_##name##w, i64, env, i64, i64) \
466DEF_HELPER_3(iwmmxt_##name##l, i64, env, i64, i64) \
467
468DEF_IWMMXT_HELPER_SIZE_ENV(unpackl)
469DEF_IWMMXT_HELPER_SIZE_ENV(unpackh)
470
471DEF_HELPER_2(iwmmxt_unpacklub, i64, env, i64)
472DEF_HELPER_2(iwmmxt_unpackluw, i64, env, i64)
473DEF_HELPER_2(iwmmxt_unpacklul, i64, env, i64)
474DEF_HELPER_2(iwmmxt_unpackhub, i64, env, i64)
475DEF_HELPER_2(iwmmxt_unpackhuw, i64, env, i64)
476DEF_HELPER_2(iwmmxt_unpackhul, i64, env, i64)
477DEF_HELPER_2(iwmmxt_unpacklsb, i64, env, i64)
478DEF_HELPER_2(iwmmxt_unpacklsw, i64, env, i64)
479DEF_HELPER_2(iwmmxt_unpacklsl, i64, env, i64)
480DEF_HELPER_2(iwmmxt_unpackhsb, i64, env, i64)
481DEF_HELPER_2(iwmmxt_unpackhsw, i64, env, i64)
482DEF_HELPER_2(iwmmxt_unpackhsl, i64, env, i64)
483
484DEF_IWMMXT_HELPER_SIZE_ENV(cmpeq)
485DEF_IWMMXT_HELPER_SIZE_ENV(cmpgtu)
486DEF_IWMMXT_HELPER_SIZE_ENV(cmpgts)
487
488DEF_IWMMXT_HELPER_SIZE_ENV(mins)
489DEF_IWMMXT_HELPER_SIZE_ENV(minu)
490DEF_IWMMXT_HELPER_SIZE_ENV(maxs)
491DEF_IWMMXT_HELPER_SIZE_ENV(maxu)
492
493DEF_IWMMXT_HELPER_SIZE_ENV(subn)
494DEF_IWMMXT_HELPER_SIZE_ENV(addn)
495DEF_IWMMXT_HELPER_SIZE_ENV(subu)
496DEF_IWMMXT_HELPER_SIZE_ENV(addu)
497DEF_IWMMXT_HELPER_SIZE_ENV(subs)
498DEF_IWMMXT_HELPER_SIZE_ENV(adds)
499
500DEF_HELPER_3(iwmmxt_avgb0, i64, env, i64, i64)
501DEF_HELPER_3(iwmmxt_avgb1, i64, env, i64, i64)
502DEF_HELPER_3(iwmmxt_avgw0, i64, env, i64, i64)
503DEF_HELPER_3(iwmmxt_avgw1, i64, env, i64, i64)
a7812ae4 504
a7812ae4
PB
505DEF_HELPER_3(iwmmxt_align, i64, i64, i64, i32)
506DEF_HELPER_4(iwmmxt_insr, i64, i64, i32, i32, i32)
507
508DEF_HELPER_1(iwmmxt_bcstb, i64, i32)
509DEF_HELPER_1(iwmmxt_bcstw, i64, i32)
510DEF_HELPER_1(iwmmxt_bcstl, i64, i32)
511
512DEF_HELPER_1(iwmmxt_addcb, i64, i64)
513DEF_HELPER_1(iwmmxt_addcw, i64, i64)
514DEF_HELPER_1(iwmmxt_addcl, i64, i64)
515
516DEF_HELPER_1(iwmmxt_msbb, i32, i64)
517DEF_HELPER_1(iwmmxt_msbw, i32, i64)
518DEF_HELPER_1(iwmmxt_msbl, i32, i64)
519
477955bd
PM
520DEF_HELPER_3(iwmmxt_srlw, i64, env, i64, i32)
521DEF_HELPER_3(iwmmxt_srll, i64, env, i64, i32)
522DEF_HELPER_3(iwmmxt_srlq, i64, env, i64, i32)
523DEF_HELPER_3(iwmmxt_sllw, i64, env, i64, i32)
524DEF_HELPER_3(iwmmxt_slll, i64, env, i64, i32)
525DEF_HELPER_3(iwmmxt_sllq, i64, env, i64, i32)
526DEF_HELPER_3(iwmmxt_sraw, i64, env, i64, i32)
527DEF_HELPER_3(iwmmxt_sral, i64, env, i64, i32)
528DEF_HELPER_3(iwmmxt_sraq, i64, env, i64, i32)
529DEF_HELPER_3(iwmmxt_rorw, i64, env, i64, i32)
530DEF_HELPER_3(iwmmxt_rorl, i64, env, i64, i32)
531DEF_HELPER_3(iwmmxt_rorq, i64, env, i64, i32)
532DEF_HELPER_3(iwmmxt_shufh, i64, env, i64, i32)
533
534DEF_HELPER_3(iwmmxt_packuw, i64, env, i64, i64)
535DEF_HELPER_3(iwmmxt_packul, i64, env, i64, i64)
536DEF_HELPER_3(iwmmxt_packuq, i64, env, i64, i64)
537DEF_HELPER_3(iwmmxt_packsw, i64, env, i64, i64)
538DEF_HELPER_3(iwmmxt_packsl, i64, env, i64, i64)
539DEF_HELPER_3(iwmmxt_packsq, i64, env, i64, i64)
a7812ae4
PB
540
541DEF_HELPER_3(iwmmxt_muladdsl, i64, i64, i32, i32)
542DEF_HELPER_3(iwmmxt_muladdsw, i64, i64, i32, i32)
543DEF_HELPER_3(iwmmxt_muladdswl, i64, i64, i32, i32)
544
b13708bb
RH
545DEF_HELPER_FLAGS_2(neon_unzip8, TCG_CALL_NO_RWG, void, ptr, ptr)
546DEF_HELPER_FLAGS_2(neon_unzip16, TCG_CALL_NO_RWG, void, ptr, ptr)
547DEF_HELPER_FLAGS_2(neon_qunzip8, TCG_CALL_NO_RWG, void, ptr, ptr)
548DEF_HELPER_FLAGS_2(neon_qunzip16, TCG_CALL_NO_RWG, void, ptr, ptr)
549DEF_HELPER_FLAGS_2(neon_qunzip32, TCG_CALL_NO_RWG, void, ptr, ptr)
550DEF_HELPER_FLAGS_2(neon_zip8, TCG_CALL_NO_RWG, void, ptr, ptr)
551DEF_HELPER_FLAGS_2(neon_zip16, TCG_CALL_NO_RWG, void, ptr, ptr)
552DEF_HELPER_FLAGS_2(neon_qzip8, TCG_CALL_NO_RWG, void, ptr, ptr)
553DEF_HELPER_FLAGS_2(neon_qzip16, TCG_CALL_NO_RWG, void, ptr, ptr)
554DEF_HELPER_FLAGS_2(neon_qzip32, TCG_CALL_NO_RWG, void, ptr, ptr)
02acedf9 555
a04b68e1 556DEF_HELPER_FLAGS_4(crypto_aese, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
0f23908c 557DEF_HELPER_FLAGS_4(crypto_aesd, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1a66ac61 558DEF_HELPER_FLAGS_3(crypto_aesmc, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
0f23908c 559DEF_HELPER_FLAGS_3(crypto_aesimc, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
9d935509 560
afc8b7d3
RH
561DEF_HELPER_FLAGS_4(crypto_sha1su0, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
562DEF_HELPER_FLAGS_4(crypto_sha1c, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
563DEF_HELPER_FLAGS_4(crypto_sha1p, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
564DEF_HELPER_FLAGS_4(crypto_sha1m, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
effa992f
RH
565DEF_HELPER_FLAGS_3(crypto_sha1h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
566DEF_HELPER_FLAGS_3(crypto_sha1su1, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
f1ecb913 567
effa992f
RH
568DEF_HELPER_FLAGS_4(crypto_sha256h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
569DEF_HELPER_FLAGS_4(crypto_sha256h2, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
570DEF_HELPER_FLAGS_3(crypto_sha256su0, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
571DEF_HELPER_FLAGS_4(crypto_sha256su1, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
f1ecb913 572
aaffebd6
RH
573DEF_HELPER_FLAGS_4(crypto_sha512h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
574DEF_HELPER_FLAGS_4(crypto_sha512h2, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
575DEF_HELPER_FLAGS_3(crypto_sha512su0, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
576DEF_HELPER_FLAGS_4(crypto_sha512su1, TCG_CALL_NO_RWG,
577 void, ptr, ptr, ptr, i32)
90b827d1 578
43fa36c9
RH
579DEF_HELPER_FLAGS_4(crypto_sm3tt1a, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
580DEF_HELPER_FLAGS_4(crypto_sm3tt1b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
581DEF_HELPER_FLAGS_4(crypto_sm3tt2a, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
582DEF_HELPER_FLAGS_4(crypto_sm3tt2b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
aaffebd6
RH
583DEF_HELPER_FLAGS_4(crypto_sm3partw1, TCG_CALL_NO_RWG,
584 void, ptr, ptr, ptr, i32)
585DEF_HELPER_FLAGS_4(crypto_sm3partw2, TCG_CALL_NO_RWG,
586 void, ptr, ptr, ptr, i32)
80d6f4c6 587
a04b68e1
RH
588DEF_HELPER_FLAGS_4(crypto_sm4e, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
589DEF_HELPER_FLAGS_4(crypto_sm4ekey, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
b6577bcd 590
1738860d
RH
591DEF_HELPER_FLAGS_4(crypto_rax1, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
592
eb0ecd5a
WN
593DEF_HELPER_FLAGS_3(crc32, TCG_CALL_NO_RWG_SE, i32, i32, i32, i32)
594DEF_HELPER_FLAGS_3(crc32c, TCG_CALL_NO_RWG_SE, i32, i32, i32, i32)
595
e7186d82
RH
596DEF_HELPER_FLAGS_5(gvec_qrdmlah_s16, TCG_CALL_NO_RWG,
597 void, ptr, ptr, ptr, ptr, i32)
598DEF_HELPER_FLAGS_5(gvec_qrdmlsh_s16, TCG_CALL_NO_RWG,
599 void, ptr, ptr, ptr, ptr, i32)
600DEF_HELPER_FLAGS_5(gvec_qrdmlah_s32, TCG_CALL_NO_RWG,
601 void, ptr, ptr, ptr, ptr, i32)
602DEF_HELPER_FLAGS_5(gvec_qrdmlsh_s32, TCG_CALL_NO_RWG,
603 void, ptr, ptr, ptr, ptr, i32)
604
ab3ddf31
RH
605DEF_HELPER_FLAGS_5(sve2_sqrdmlah_b, TCG_CALL_NO_RWG,
606 void, ptr, ptr, ptr, ptr, i32)
607DEF_HELPER_FLAGS_5(sve2_sqrdmlsh_b, TCG_CALL_NO_RWG,
608 void, ptr, ptr, ptr, ptr, i32)
609DEF_HELPER_FLAGS_5(sve2_sqrdmlah_h, TCG_CALL_NO_RWG,
610 void, ptr, ptr, ptr, ptr, i32)
611DEF_HELPER_FLAGS_5(sve2_sqrdmlsh_h, TCG_CALL_NO_RWG,
612 void, ptr, ptr, ptr, ptr, i32)
613DEF_HELPER_FLAGS_5(sve2_sqrdmlah_s, TCG_CALL_NO_RWG,
614 void, ptr, ptr, ptr, ptr, i32)
615DEF_HELPER_FLAGS_5(sve2_sqrdmlsh_s, TCG_CALL_NO_RWG,
616 void, ptr, ptr, ptr, ptr, i32)
617DEF_HELPER_FLAGS_5(sve2_sqrdmlah_d, TCG_CALL_NO_RWG,
618 void, ptr, ptr, ptr, ptr, i32)
619DEF_HELPER_FLAGS_5(sve2_sqrdmlsh_d, TCG_CALL_NO_RWG,
620 void, ptr, ptr, ptr, ptr, i32)
621
bc2bd697
RH
622DEF_HELPER_FLAGS_5(gvec_sdot_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
623DEF_HELPER_FLAGS_5(gvec_udot_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
624DEF_HELPER_FLAGS_5(gvec_sdot_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
625DEF_HELPER_FLAGS_5(gvec_udot_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
6a98cb2a 626DEF_HELPER_FLAGS_5(gvec_usdot_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
bc2bd697
RH
627
628DEF_HELPER_FLAGS_5(gvec_sdot_idx_b, TCG_CALL_NO_RWG,
629 void, ptr, ptr, ptr, ptr, i32)
630DEF_HELPER_FLAGS_5(gvec_udot_idx_b, TCG_CALL_NO_RWG,
631 void, ptr, ptr, ptr, ptr, i32)
632DEF_HELPER_FLAGS_5(gvec_sdot_idx_h, TCG_CALL_NO_RWG,
633 void, ptr, ptr, ptr, ptr, i32)
634DEF_HELPER_FLAGS_5(gvec_udot_idx_h, TCG_CALL_NO_RWG,
635 void, ptr, ptr, ptr, ptr, i32)
2867039a
RH
636DEF_HELPER_FLAGS_5(gvec_sudot_idx_b, TCG_CALL_NO_RWG,
637 void, ptr, ptr, ptr, ptr, i32)
638DEF_HELPER_FLAGS_5(gvec_usdot_idx_b, TCG_CALL_NO_RWG,
639 void, ptr, ptr, ptr, ptr, i32)
16fcfdc7 640
1695cd61
RH
641DEF_HELPER_FLAGS_5(gvec_fcaddh, TCG_CALL_NO_RWG,
642 void, ptr, ptr, ptr, ptr, i32)
643DEF_HELPER_FLAGS_5(gvec_fcadds, TCG_CALL_NO_RWG,
644 void, ptr, ptr, ptr, ptr, i32)
645DEF_HELPER_FLAGS_5(gvec_fcaddd, TCG_CALL_NO_RWG,
646 void, ptr, ptr, ptr, ptr, i32)
647
636ddeb1
RH
648DEF_HELPER_FLAGS_6(gvec_fcmlah, TCG_CALL_NO_RWG,
649 void, ptr, ptr, ptr, ptr, ptr, i32)
650DEF_HELPER_FLAGS_6(gvec_fcmlah_idx, TCG_CALL_NO_RWG,
651 void, ptr, ptr, ptr, ptr, ptr, i32)
652DEF_HELPER_FLAGS_6(gvec_fcmlas, TCG_CALL_NO_RWG,
653 void, ptr, ptr, ptr, ptr, ptr, i32)
654DEF_HELPER_FLAGS_6(gvec_fcmlas_idx, TCG_CALL_NO_RWG,
655 void, ptr, ptr, ptr, ptr, ptr, i32)
656DEF_HELPER_FLAGS_6(gvec_fcmlad, TCG_CALL_NO_RWG,
657 void, ptr, ptr, ptr, ptr, ptr, i32)
d17b7cdc 658
1dc587ee
PM
659DEF_HELPER_FLAGS_5(neon_paddh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
660DEF_HELPER_FLAGS_5(neon_pmaxh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
661DEF_HELPER_FLAGS_5(neon_pminh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
662DEF_HELPER_FLAGS_5(neon_padds, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
663DEF_HELPER_FLAGS_5(neon_pmaxs, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
664DEF_HELPER_FLAGS_5(neon_pmins, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
665
7782a9af
PM
666DEF_HELPER_FLAGS_4(gvec_sstoh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
667DEF_HELPER_FLAGS_4(gvec_sitos, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
668DEF_HELPER_FLAGS_4(gvec_ustoh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
669DEF_HELPER_FLAGS_4(gvec_uitos, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
670DEF_HELPER_FLAGS_4(gvec_tosszh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
671DEF_HELPER_FLAGS_4(gvec_tosizs, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
672DEF_HELPER_FLAGS_4(gvec_touszh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
673DEF_HELPER_FLAGS_4(gvec_touizs, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
674
7b959c58
PM
675DEF_HELPER_FLAGS_4(gvec_vcvt_sf, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
676DEF_HELPER_FLAGS_4(gvec_vcvt_uf, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
677DEF_HELPER_FLAGS_4(gvec_vcvt_fs, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
678DEF_HELPER_FLAGS_4(gvec_vcvt_fu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
679
24018cf3
PM
680DEF_HELPER_FLAGS_4(gvec_vcvt_sh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
681DEF_HELPER_FLAGS_4(gvec_vcvt_uh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
682DEF_HELPER_FLAGS_4(gvec_vcvt_hs, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
683DEF_HELPER_FLAGS_4(gvec_vcvt_hu, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
684
ca88a6ef
PM
685DEF_HELPER_FLAGS_4(gvec_vcvt_rm_ss, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
686DEF_HELPER_FLAGS_4(gvec_vcvt_rm_us, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
687DEF_HELPER_FLAGS_4(gvec_vcvt_rm_sh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
688DEF_HELPER_FLAGS_4(gvec_vcvt_rm_uh, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
689
18725916
PM
690DEF_HELPER_FLAGS_4(gvec_vrint_rm_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
691DEF_HELPER_FLAGS_4(gvec_vrint_rm_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
692
23afcdd2
PM
693DEF_HELPER_FLAGS_4(gvec_vrintx_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
694DEF_HELPER_FLAGS_4(gvec_vrintx_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
695
3887c038
RH
696DEF_HELPER_FLAGS_4(gvec_frecpe_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
697DEF_HELPER_FLAGS_4(gvec_frecpe_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
698DEF_HELPER_FLAGS_4(gvec_frecpe_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
699
700DEF_HELPER_FLAGS_4(gvec_frsqrte_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
701DEF_HELPER_FLAGS_4(gvec_frsqrte_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
702DEF_HELPER_FLAGS_4(gvec_frsqrte_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
703
635187aa
PM
704DEF_HELPER_FLAGS_4(gvec_fcgt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
705DEF_HELPER_FLAGS_4(gvec_fcgt0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
706
707DEF_HELPER_FLAGS_4(gvec_fcge0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
708DEF_HELPER_FLAGS_4(gvec_fcge0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
709
710DEF_HELPER_FLAGS_4(gvec_fceq0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
711DEF_HELPER_FLAGS_4(gvec_fceq0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
712
713DEF_HELPER_FLAGS_4(gvec_fcle0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
714DEF_HELPER_FLAGS_4(gvec_fcle0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
715
716DEF_HELPER_FLAGS_4(gvec_fclt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
717DEF_HELPER_FLAGS_4(gvec_fclt0_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
718
29b80469
RH
719DEF_HELPER_FLAGS_5(gvec_fadd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
720DEF_HELPER_FLAGS_5(gvec_fadd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
721DEF_HELPER_FLAGS_5(gvec_fadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
722
723DEF_HELPER_FLAGS_5(gvec_fsub_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
724DEF_HELPER_FLAGS_5(gvec_fsub_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
725DEF_HELPER_FLAGS_5(gvec_fsub_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
726
727DEF_HELPER_FLAGS_5(gvec_fmul_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
728DEF_HELPER_FLAGS_5(gvec_fmul_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
729DEF_HELPER_FLAGS_5(gvec_fmul_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
730
e4a6d4a6 731DEF_HELPER_FLAGS_5(gvec_fabd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
a26a352b
PM
732DEF_HELPER_FLAGS_5(gvec_fabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
733
ad505db2
PM
734DEF_HELPER_FLAGS_5(gvec_fceq_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
735DEF_HELPER_FLAGS_5(gvec_fceq_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
736
737DEF_HELPER_FLAGS_5(gvec_fcge_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
738DEF_HELPER_FLAGS_5(gvec_fcge_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
739
740DEF_HELPER_FLAGS_5(gvec_fcgt_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
741DEF_HELPER_FLAGS_5(gvec_fcgt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
742
bb2741da
PM
743DEF_HELPER_FLAGS_5(gvec_facge_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
744DEF_HELPER_FLAGS_5(gvec_facge_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
745
746DEF_HELPER_FLAGS_5(gvec_facgt_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
747DEF_HELPER_FLAGS_5(gvec_facgt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
748
e43268c5
PM
749DEF_HELPER_FLAGS_5(gvec_fmax_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
750DEF_HELPER_FLAGS_5(gvec_fmax_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
751
752DEF_HELPER_FLAGS_5(gvec_fmin_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
753DEF_HELPER_FLAGS_5(gvec_fmin_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
754
e22705bb
PM
755DEF_HELPER_FLAGS_5(gvec_fmaxnum_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
756DEF_HELPER_FLAGS_5(gvec_fmaxnum_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
757
758DEF_HELPER_FLAGS_5(gvec_fminnum_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
759DEF_HELPER_FLAGS_5(gvec_fminnum_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
760
ac8c62c4
PM
761DEF_HELPER_FLAGS_5(gvec_recps_nf_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
762DEF_HELPER_FLAGS_5(gvec_recps_nf_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
763
40fde72d
PM
764DEF_HELPER_FLAGS_5(gvec_rsqrts_nf_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
765DEF_HELPER_FLAGS_5(gvec_rsqrts_nf_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
766
e5adc706
PM
767DEF_HELPER_FLAGS_5(gvec_fmla_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
768DEF_HELPER_FLAGS_5(gvec_fmla_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
769
770DEF_HELPER_FLAGS_5(gvec_fmls_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
771DEF_HELPER_FLAGS_5(gvec_fmls_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
772
cf722d75
PM
773DEF_HELPER_FLAGS_5(gvec_vfma_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
774DEF_HELPER_FLAGS_5(gvec_vfma_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
775
776DEF_HELPER_FLAGS_5(gvec_vfms_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
777DEF_HELPER_FLAGS_5(gvec_vfms_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
778
29b80469
RH
779DEF_HELPER_FLAGS_5(gvec_ftsmul_h, TCG_CALL_NO_RWG,
780 void, ptr, ptr, ptr, ptr, i32)
781DEF_HELPER_FLAGS_5(gvec_ftsmul_s, TCG_CALL_NO_RWG,
782 void, ptr, ptr, ptr, ptr, i32)
783DEF_HELPER_FLAGS_5(gvec_ftsmul_d, TCG_CALL_NO_RWG,
784 void, ptr, ptr, ptr, ptr, i32)
785
ca40a6e6
RH
786DEF_HELPER_FLAGS_5(gvec_fmul_idx_h, TCG_CALL_NO_RWG,
787 void, ptr, ptr, ptr, ptr, i32)
788DEF_HELPER_FLAGS_5(gvec_fmul_idx_s, TCG_CALL_NO_RWG,
789 void, ptr, ptr, ptr, ptr, i32)
790DEF_HELPER_FLAGS_5(gvec_fmul_idx_d, TCG_CALL_NO_RWG,
791 void, ptr, ptr, ptr, ptr, i32)
792
c50d8d14
PM
793DEF_HELPER_FLAGS_5(gvec_fmla_nf_idx_h, TCG_CALL_NO_RWG,
794 void, ptr, ptr, ptr, ptr, i32)
795DEF_HELPER_FLAGS_5(gvec_fmla_nf_idx_s, TCG_CALL_NO_RWG,
796 void, ptr, ptr, ptr, ptr, i32)
797
798DEF_HELPER_FLAGS_5(gvec_fmls_nf_idx_h, TCG_CALL_NO_RWG,
799 void, ptr, ptr, ptr, ptr, i32)
800DEF_HELPER_FLAGS_5(gvec_fmls_nf_idx_s, TCG_CALL_NO_RWG,
801 void, ptr, ptr, ptr, ptr, i32)
802
ca40a6e6
RH
803DEF_HELPER_FLAGS_6(gvec_fmla_idx_h, TCG_CALL_NO_RWG,
804 void, ptr, ptr, ptr, ptr, ptr, i32)
805DEF_HELPER_FLAGS_6(gvec_fmla_idx_s, TCG_CALL_NO_RWG,
806 void, ptr, ptr, ptr, ptr, ptr, i32)
807DEF_HELPER_FLAGS_6(gvec_fmla_idx_d, TCG_CALL_NO_RWG,
808 void, ptr, ptr, ptr, ptr, ptr, i32)
809
89e68b57
RH
810DEF_HELPER_FLAGS_5(gvec_uqadd_b, TCG_CALL_NO_RWG,
811 void, ptr, ptr, ptr, ptr, i32)
812DEF_HELPER_FLAGS_5(gvec_uqadd_h, TCG_CALL_NO_RWG,
813 void, ptr, ptr, ptr, ptr, i32)
814DEF_HELPER_FLAGS_5(gvec_uqadd_s, TCG_CALL_NO_RWG,
815 void, ptr, ptr, ptr, ptr, i32)
816DEF_HELPER_FLAGS_5(gvec_uqadd_d, TCG_CALL_NO_RWG,
817 void, ptr, ptr, ptr, ptr, i32)
818DEF_HELPER_FLAGS_5(gvec_sqadd_b, TCG_CALL_NO_RWG,
819 void, ptr, ptr, ptr, ptr, i32)
820DEF_HELPER_FLAGS_5(gvec_sqadd_h, TCG_CALL_NO_RWG,
821 void, ptr, ptr, ptr, ptr, i32)
822DEF_HELPER_FLAGS_5(gvec_sqadd_s, TCG_CALL_NO_RWG,
823 void, ptr, ptr, ptr, ptr, i32)
824DEF_HELPER_FLAGS_5(gvec_sqadd_d, TCG_CALL_NO_RWG,
825 void, ptr, ptr, ptr, ptr, i32)
826DEF_HELPER_FLAGS_5(gvec_uqsub_b, TCG_CALL_NO_RWG,
827 void, ptr, ptr, ptr, ptr, i32)
828DEF_HELPER_FLAGS_5(gvec_uqsub_h, TCG_CALL_NO_RWG,
829 void, ptr, ptr, ptr, ptr, i32)
830DEF_HELPER_FLAGS_5(gvec_uqsub_s, TCG_CALL_NO_RWG,
831 void, ptr, ptr, ptr, ptr, i32)
832DEF_HELPER_FLAGS_5(gvec_uqsub_d, TCG_CALL_NO_RWG,
833 void, ptr, ptr, ptr, ptr, i32)
834DEF_HELPER_FLAGS_5(gvec_sqsub_b, TCG_CALL_NO_RWG,
835 void, ptr, ptr, ptr, ptr, i32)
836DEF_HELPER_FLAGS_5(gvec_sqsub_h, TCG_CALL_NO_RWG,
837 void, ptr, ptr, ptr, ptr, i32)
838DEF_HELPER_FLAGS_5(gvec_sqsub_s, TCG_CALL_NO_RWG,
839 void, ptr, ptr, ptr, ptr, i32)
840DEF_HELPER_FLAGS_5(gvec_sqsub_d, TCG_CALL_NO_RWG,
841 void, ptr, ptr, ptr, ptr, i32)
842
a4e943a7
RH
843DEF_HELPER_FLAGS_5(gvec_fmlal_a32, TCG_CALL_NO_RWG,
844 void, ptr, ptr, ptr, ptr, i32)
845DEF_HELPER_FLAGS_5(gvec_fmlal_a64, TCG_CALL_NO_RWG,
846 void, ptr, ptr, ptr, ptr, i32)
847DEF_HELPER_FLAGS_5(gvec_fmlal_idx_a32, TCG_CALL_NO_RWG,
848 void, ptr, ptr, ptr, ptr, i32)
849DEF_HELPER_FLAGS_5(gvec_fmlal_idx_a64, TCG_CALL_NO_RWG,
850 void, ptr, ptr, ptr, ptr, i32)
851
6bea2563
RH
852DEF_HELPER_FLAGS_2(frint32_s, TCG_CALL_NO_RWG, f32, f32, ptr)
853DEF_HELPER_FLAGS_2(frint64_s, TCG_CALL_NO_RWG, f32, f32, ptr)
854DEF_HELPER_FLAGS_2(frint32_d, TCG_CALL_NO_RWG, f64, f64, ptr)
855DEF_HELPER_FLAGS_2(frint64_d, TCG_CALL_NO_RWG, f64, f64, ptr)
856
6b375d35
RH
857DEF_HELPER_FLAGS_3(gvec_ceq0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
858DEF_HELPER_FLAGS_3(gvec_ceq0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
859DEF_HELPER_FLAGS_3(gvec_clt0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
860DEF_HELPER_FLAGS_3(gvec_clt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
861DEF_HELPER_FLAGS_3(gvec_cle0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
862DEF_HELPER_FLAGS_3(gvec_cle0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
863DEF_HELPER_FLAGS_3(gvec_cgt0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
864DEF_HELPER_FLAGS_3(gvec_cgt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
865DEF_HELPER_FLAGS_3(gvec_cge0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
866DEF_HELPER_FLAGS_3(gvec_cge0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
867
5dad1ba5
RH
868DEF_HELPER_FLAGS_4(gvec_smulh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
869DEF_HELPER_FLAGS_4(gvec_smulh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
870DEF_HELPER_FLAGS_4(gvec_smulh_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
871DEF_HELPER_FLAGS_4(gvec_smulh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
872
873DEF_HELPER_FLAGS_4(gvec_umulh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
874DEF_HELPER_FLAGS_4(gvec_umulh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
875DEF_HELPER_FLAGS_4(gvec_umulh_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
876DEF_HELPER_FLAGS_4(gvec_umulh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
877
87b74e8b
RH
878DEF_HELPER_FLAGS_4(gvec_sshl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
879DEF_HELPER_FLAGS_4(gvec_sshl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
880DEF_HELPER_FLAGS_4(gvec_ushl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
881DEF_HELPER_FLAGS_4(gvec_ushl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
882
a21bb78e 883DEF_HELPER_FLAGS_4(gvec_pmul_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
b9ed510e 884DEF_HELPER_FLAGS_4(gvec_pmull_q, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
a21bb78e 885
e7e96fc5
RH
886DEF_HELPER_FLAGS_4(neon_pmull_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
887
631e5654
RH
888DEF_HELPER_FLAGS_3(gvec_ssra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
889DEF_HELPER_FLAGS_3(gvec_ssra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
890DEF_HELPER_FLAGS_3(gvec_ssra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
891DEF_HELPER_FLAGS_3(gvec_ssra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
892
893DEF_HELPER_FLAGS_3(gvec_usra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
894DEF_HELPER_FLAGS_3(gvec_usra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
895DEF_HELPER_FLAGS_3(gvec_usra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
896DEF_HELPER_FLAGS_3(gvec_usra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
897
6ccd48d4
RH
898DEF_HELPER_FLAGS_3(gvec_srshr_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
899DEF_HELPER_FLAGS_3(gvec_srshr_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
900DEF_HELPER_FLAGS_3(gvec_srshr_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
901DEF_HELPER_FLAGS_3(gvec_srshr_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
902
903DEF_HELPER_FLAGS_3(gvec_urshr_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
904DEF_HELPER_FLAGS_3(gvec_urshr_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
905DEF_HELPER_FLAGS_3(gvec_urshr_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
906DEF_HELPER_FLAGS_3(gvec_urshr_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
907
908DEF_HELPER_FLAGS_3(gvec_srsra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
909DEF_HELPER_FLAGS_3(gvec_srsra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
910DEF_HELPER_FLAGS_3(gvec_srsra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
911DEF_HELPER_FLAGS_3(gvec_srsra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
912
913DEF_HELPER_FLAGS_3(gvec_ursra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
914DEF_HELPER_FLAGS_3(gvec_ursra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
915DEF_HELPER_FLAGS_3(gvec_ursra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
916DEF_HELPER_FLAGS_3(gvec_ursra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
917
893ab054
RH
918DEF_HELPER_FLAGS_3(gvec_sri_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
919DEF_HELPER_FLAGS_3(gvec_sri_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
920DEF_HELPER_FLAGS_3(gvec_sri_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
921DEF_HELPER_FLAGS_3(gvec_sri_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
922
923DEF_HELPER_FLAGS_3(gvec_sli_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
924DEF_HELPER_FLAGS_3(gvec_sli_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
925DEF_HELPER_FLAGS_3(gvec_sli_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
926DEF_HELPER_FLAGS_3(gvec_sli_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
927
50c160d4
RH
928DEF_HELPER_FLAGS_4(gvec_sabd_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
929DEF_HELPER_FLAGS_4(gvec_sabd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
930DEF_HELPER_FLAGS_4(gvec_sabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
931DEF_HELPER_FLAGS_4(gvec_sabd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
932
933DEF_HELPER_FLAGS_4(gvec_uabd_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
934DEF_HELPER_FLAGS_4(gvec_uabd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
935DEF_HELPER_FLAGS_4(gvec_uabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
936DEF_HELPER_FLAGS_4(gvec_uabd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
937
cfdb2c0c
RH
938DEF_HELPER_FLAGS_4(gvec_saba_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
939DEF_HELPER_FLAGS_4(gvec_saba_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
940DEF_HELPER_FLAGS_4(gvec_saba_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
941DEF_HELPER_FLAGS_4(gvec_saba_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
942
943DEF_HELPER_FLAGS_4(gvec_uaba_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
944DEF_HELPER_FLAGS_4(gvec_uaba_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
945DEF_HELPER_FLAGS_4(gvec_uaba_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
946DEF_HELPER_FLAGS_4(gvec_uaba_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
947
2e5a265e
RH
948DEF_HELPER_FLAGS_4(gvec_mul_idx_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
949DEF_HELPER_FLAGS_4(gvec_mul_idx_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
950DEF_HELPER_FLAGS_4(gvec_mul_idx_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
951
3607440c
RH
952DEF_HELPER_FLAGS_5(gvec_mla_idx_h, TCG_CALL_NO_RWG,
953 void, ptr, ptr, ptr, ptr, i32)
954DEF_HELPER_FLAGS_5(gvec_mla_idx_s, TCG_CALL_NO_RWG,
955 void, ptr, ptr, ptr, ptr, i32)
956DEF_HELPER_FLAGS_5(gvec_mla_idx_d, TCG_CALL_NO_RWG,
957 void, ptr, ptr, ptr, ptr, i32)
958
959DEF_HELPER_FLAGS_5(gvec_mls_idx_h, TCG_CALL_NO_RWG,
960 void, ptr, ptr, ptr, ptr, i32)
961DEF_HELPER_FLAGS_5(gvec_mls_idx_s, TCG_CALL_NO_RWG,
962 void, ptr, ptr, ptr, ptr, i32)
963DEF_HELPER_FLAGS_5(gvec_mls_idx_d, TCG_CALL_NO_RWG,
964 void, ptr, ptr, ptr, ptr, i32)
965
ed78849d
RH
966DEF_HELPER_FLAGS_5(neon_sqdmulh_h, TCG_CALL_NO_RWG,
967 void, ptr, ptr, ptr, ptr, i32)
968DEF_HELPER_FLAGS_5(neon_sqdmulh_s, TCG_CALL_NO_RWG,
969 void, ptr, ptr, ptr, ptr, i32)
970
971DEF_HELPER_FLAGS_5(neon_sqrdmulh_h, TCG_CALL_NO_RWG,
972 void, ptr, ptr, ptr, ptr, i32)
973DEF_HELPER_FLAGS_5(neon_sqrdmulh_s, TCG_CALL_NO_RWG,
974 void, ptr, ptr, ptr, ptr, i32)
975
169d7c58
RH
976DEF_HELPER_FLAGS_4(sve2_sqdmulh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
977DEF_HELPER_FLAGS_4(sve2_sqdmulh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
978DEF_HELPER_FLAGS_4(sve2_sqdmulh_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
979DEF_HELPER_FLAGS_4(sve2_sqdmulh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
980
981DEF_HELPER_FLAGS_4(sve2_sqrdmulh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
982DEF_HELPER_FLAGS_4(sve2_sqrdmulh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
983DEF_HELPER_FLAGS_4(sve2_sqrdmulh_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
984DEF_HELPER_FLAGS_4(sve2_sqrdmulh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
985
1aee2d70
RH
986DEF_HELPER_FLAGS_4(sve2_sqdmulh_idx_h, TCG_CALL_NO_RWG,
987 void, ptr, ptr, ptr, i32)
988DEF_HELPER_FLAGS_4(sve2_sqdmulh_idx_s, TCG_CALL_NO_RWG,
989 void, ptr, ptr, ptr, i32)
990DEF_HELPER_FLAGS_4(sve2_sqdmulh_idx_d, TCG_CALL_NO_RWG,
991 void, ptr, ptr, ptr, i32)
992
993DEF_HELPER_FLAGS_4(sve2_sqrdmulh_idx_h, TCG_CALL_NO_RWG,
994 void, ptr, ptr, ptr, i32)
995DEF_HELPER_FLAGS_4(sve2_sqrdmulh_idx_s, TCG_CALL_NO_RWG,
996 void, ptr, ptr, ptr, i32)
997DEF_HELPER_FLAGS_4(sve2_sqrdmulh_idx_d, TCG_CALL_NO_RWG,
998 void, ptr, ptr, ptr, i32)
999
50d102bd
SL
1000DEF_HELPER_FLAGS_6(sve2_fmlal_zzzw_s, TCG_CALL_NO_RWG,
1001 void, ptr, ptr, ptr, ptr, ptr, i32)
1002DEF_HELPER_FLAGS_6(sve2_fmlal_zzxw_s, TCG_CALL_NO_RWG,
1003 void, ptr, ptr, ptr, ptr, ptr, i32)
1004
e6eba6e5
RH
1005DEF_HELPER_FLAGS_4(gvec_xar_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1006
2323c5ff
RH
1007DEF_HELPER_FLAGS_5(gvec_smmla_b, TCG_CALL_NO_RWG,
1008 void, ptr, ptr, ptr, ptr, i32)
1009DEF_HELPER_FLAGS_5(gvec_ummla_b, TCG_CALL_NO_RWG,
1010 void, ptr, ptr, ptr, ptr, i32)
1011DEF_HELPER_FLAGS_5(gvec_usmmla_b, TCG_CALL_NO_RWG,
1012 void, ptr, ptr, ptr, ptr, i32)
1013
cb8657f7
RH
1014DEF_HELPER_FLAGS_5(gvec_bfdot, TCG_CALL_NO_RWG,
1015 void, ptr, ptr, ptr, ptr, i32)
83914478
RH
1016DEF_HELPER_FLAGS_5(gvec_bfdot_idx, TCG_CALL_NO_RWG,
1017 void, ptr, ptr, ptr, ptr, i32)
cb8657f7 1018
81266a1f
RH
1019DEF_HELPER_FLAGS_5(gvec_bfmmla, TCG_CALL_NO_RWG,
1020 void, ptr, ptr, ptr, ptr, i32)
1021
5693887f
RH
1022DEF_HELPER_FLAGS_6(gvec_bfmlal, TCG_CALL_NO_RWG,
1023 void, ptr, ptr, ptr, ptr, ptr, i32)
458d0ab6
RH
1024DEF_HELPER_FLAGS_6(gvec_bfmlal_idx, TCG_CALL_NO_RWG,
1025 void, ptr, ptr, ptr, ptr, ptr, i32)
5693887f 1026
6b5a3bdf
RH
1027DEF_HELPER_FLAGS_5(gvec_sclamp_b, TCG_CALL_NO_RWG,
1028 void, ptr, ptr, ptr, ptr, i32)
1029DEF_HELPER_FLAGS_5(gvec_sclamp_h, TCG_CALL_NO_RWG,
1030 void, ptr, ptr, ptr, ptr, i32)
1031DEF_HELPER_FLAGS_5(gvec_sclamp_s, TCG_CALL_NO_RWG,
1032 void, ptr, ptr, ptr, ptr, i32)
1033DEF_HELPER_FLAGS_5(gvec_sclamp_d, TCG_CALL_NO_RWG,
1034 void, ptr, ptr, ptr, ptr, i32)
1035
1036DEF_HELPER_FLAGS_5(gvec_uclamp_b, TCG_CALL_NO_RWG,
1037 void, ptr, ptr, ptr, ptr, i32)
1038DEF_HELPER_FLAGS_5(gvec_uclamp_h, TCG_CALL_NO_RWG,
1039 void, ptr, ptr, ptr, ptr, i32)
1040DEF_HELPER_FLAGS_5(gvec_uclamp_s, TCG_CALL_NO_RWG,
1041 void, ptr, ptr, ptr, ptr, i32)
1042DEF_HELPER_FLAGS_5(gvec_uclamp_d, TCG_CALL_NO_RWG,
1043 void, ptr, ptr, ptr, ptr, i32)
1044
d3e35a1f 1045#ifdef TARGET_AARCH64
67ce09b5
RH
1046#include "tcg/helper-a64.h"
1047#include "tcg/helper-sve.h"
1048#include "tcg/helper-sme.h"
d3e35a1f 1049#endif
507b6a50 1050
67ce09b5 1051#include "tcg/helper-mve.h"