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