]> Git Repo - qemu.git/blame - target/arm/helper.h
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
[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
a7812ae4
PB
99DEF_HELPER_1(vfp_get_fpscr, i32, env)
100DEF_HELPER_2(vfp_set_fpscr, void, env, i32)
101
ae1857ec
PM
102DEF_HELPER_3(vfp_adds, f32, f32, f32, ptr)
103DEF_HELPER_3(vfp_addd, f64, f64, f64, ptr)
104DEF_HELPER_3(vfp_subs, f32, f32, f32, ptr)
105DEF_HELPER_3(vfp_subd, f64, f64, f64, ptr)
106DEF_HELPER_3(vfp_muls, f32, f32, f32, ptr)
107DEF_HELPER_3(vfp_muld, f64, f64, f64, ptr)
108DEF_HELPER_3(vfp_divs, f32, f32, f32, ptr)
109DEF_HELPER_3(vfp_divd, f64, f64, f64, ptr)
f71a2ae5
PM
110DEF_HELPER_3(vfp_maxs, f32, f32, f32, ptr)
111DEF_HELPER_3(vfp_maxd, f64, f64, f64, ptr)
112DEF_HELPER_3(vfp_mins, f32, f32, f32, ptr)
113DEF_HELPER_3(vfp_mind, f64, f64, f64, ptr)
114DEF_HELPER_3(vfp_maxnums, f32, f32, f32, ptr)
115DEF_HELPER_3(vfp_maxnumd, f64, f64, f64, ptr)
116DEF_HELPER_3(vfp_minnums, f32, f32, f32, ptr)
117DEF_HELPER_3(vfp_minnumd, f64, f64, f64, ptr)
a7812ae4
PB
118DEF_HELPER_1(vfp_negs, f32, f32)
119DEF_HELPER_1(vfp_negd, f64, f64)
120DEF_HELPER_1(vfp_abss, f32, f32)
121DEF_HELPER_1(vfp_absd, f64, f64)
122DEF_HELPER_2(vfp_sqrts, f32, f32, env)
123DEF_HELPER_2(vfp_sqrtd, f64, f64, env)
124DEF_HELPER_3(vfp_cmps, void, f32, f32, env)
125DEF_HELPER_3(vfp_cmpd, void, f64, f64, env)
126DEF_HELPER_3(vfp_cmpes, void, f32, f32, env)
127DEF_HELPER_3(vfp_cmped, void, f64, f64, env)
128
129DEF_HELPER_2(vfp_fcvtds, f64, f32, env)
130DEF_HELPER_2(vfp_fcvtsd, f32, f64, env)
131
93193190 132DEF_HELPER_2(vfp_uitoh, f16, i32, ptr)
5500b06c
PM
133DEF_HELPER_2(vfp_uitos, f32, i32, ptr)
134DEF_HELPER_2(vfp_uitod, f64, i32, ptr)
93193190 135DEF_HELPER_2(vfp_sitoh, f16, i32, ptr)
5500b06c
PM
136DEF_HELPER_2(vfp_sitos, f32, i32, ptr)
137DEF_HELPER_2(vfp_sitod, f64, i32, ptr)
138
93193190 139DEF_HELPER_2(vfp_touih, i32, f16, ptr)
5500b06c
PM
140DEF_HELPER_2(vfp_touis, i32, f32, ptr)
141DEF_HELPER_2(vfp_touid, i32, f64, ptr)
93193190 142DEF_HELPER_2(vfp_touizh, i32, f16, ptr)
5500b06c
PM
143DEF_HELPER_2(vfp_touizs, i32, f32, ptr)
144DEF_HELPER_2(vfp_touizd, i32, f64, ptr)
df4de1af
RH
145DEF_HELPER_2(vfp_tosih, s32, f16, ptr)
146DEF_HELPER_2(vfp_tosis, s32, f32, ptr)
147DEF_HELPER_2(vfp_tosid, s32, f64, ptr)
148DEF_HELPER_2(vfp_tosizh, s32, f16, ptr)
149DEF_HELPER_2(vfp_tosizs, s32, f32, ptr)
150DEF_HELPER_2(vfp_tosizd, s32, f64, ptr)
5500b06c 151
16d5b3ca
WN
152DEF_HELPER_3(vfp_toshs_round_to_zero, i32, f32, i32, ptr)
153DEF_HELPER_3(vfp_tosls_round_to_zero, i32, f32, i32, ptr)
154DEF_HELPER_3(vfp_touhs_round_to_zero, i32, f32, i32, ptr)
155DEF_HELPER_3(vfp_touls_round_to_zero, i32, f32, i32, ptr)
156DEF_HELPER_3(vfp_toshd_round_to_zero, i64, f64, i32, ptr)
157DEF_HELPER_3(vfp_tosld_round_to_zero, i64, f64, i32, ptr)
158DEF_HELPER_3(vfp_touhd_round_to_zero, i64, f64, i32, ptr)
159DEF_HELPER_3(vfp_tould_round_to_zero, i64, f64, i32, ptr)
88808a02
RH
160DEF_HELPER_3(vfp_touhh, i32, f16, i32, ptr)
161DEF_HELPER_3(vfp_toshh, i32, f16, i32, ptr)
564a0632
RH
162DEF_HELPER_3(vfp_toulh, i32, f16, i32, ptr)
163DEF_HELPER_3(vfp_toslh, i32, f16, i32, ptr)
164DEF_HELPER_3(vfp_touqh, i64, f16, i32, ptr)
165DEF_HELPER_3(vfp_tosqh, i64, f16, i32, ptr)
3c6a074a
WN
166DEF_HELPER_3(vfp_toshs, i32, f32, i32, ptr)
167DEF_HELPER_3(vfp_tosls, i32, f32, i32, ptr)
168DEF_HELPER_3(vfp_tosqs, i64, f32, i32, ptr)
169DEF_HELPER_3(vfp_touhs, i32, f32, i32, ptr)
170DEF_HELPER_3(vfp_touls, i32, f32, i32, ptr)
171DEF_HELPER_3(vfp_touqs, i64, f32, i32, ptr)
172DEF_HELPER_3(vfp_toshd, i64, f64, i32, ptr)
173DEF_HELPER_3(vfp_tosld, i64, f64, i32, ptr)
174DEF_HELPER_3(vfp_tosqd, i64, f64, i32, ptr)
175DEF_HELPER_3(vfp_touhd, i64, f64, i32, ptr)
176DEF_HELPER_3(vfp_tould, i64, f64, i32, ptr)
177DEF_HELPER_3(vfp_touqd, i64, f64, i32, ptr)
5500b06c
PM
178DEF_HELPER_3(vfp_shtos, f32, i32, i32, ptr)
179DEF_HELPER_3(vfp_sltos, f32, i32, i32, ptr)
3c6a074a 180DEF_HELPER_3(vfp_sqtos, f32, i64, i32, ptr)
5500b06c
PM
181DEF_HELPER_3(vfp_uhtos, f32, i32, i32, ptr)
182DEF_HELPER_3(vfp_ultos, f32, i32, i32, ptr)
3c6a074a 183DEF_HELPER_3(vfp_uqtos, f32, i64, i32, ptr)
5500b06c
PM
184DEF_HELPER_3(vfp_shtod, f64, i64, i32, ptr)
185DEF_HELPER_3(vfp_sltod, f64, i64, i32, ptr)
3c6a074a 186DEF_HELPER_3(vfp_sqtod, f64, i64, i32, ptr)
5500b06c
PM
187DEF_HELPER_3(vfp_uhtod, f64, i64, i32, ptr)
188DEF_HELPER_3(vfp_ultod, f64, i64, i32, ptr)
3c6a074a 189DEF_HELPER_3(vfp_uqtod, f64, i64, i32, ptr)
93193190
AB
190DEF_HELPER_3(vfp_sltoh, f16, i32, i32, ptr)
191DEF_HELPER_3(vfp_ultoh, f16, i32, i32, ptr)
564a0632
RH
192DEF_HELPER_3(vfp_sqtoh, f16, i64, i32, ptr)
193DEF_HELPER_3(vfp_uqtoh, f16, i64, i32, ptr)
a7812ae4 194
9b049916 195DEF_HELPER_FLAGS_2(set_rmode, TCG_CALL_NO_RWG, i32, i32, ptr)
43630e58 196DEF_HELPER_FLAGS_2(set_neon_rmode, TCG_CALL_NO_RWG, i32, i32, env)
52a1f6a3 197
486624fc
AB
198DEF_HELPER_FLAGS_3(vfp_fcvt_f16_to_f32, TCG_CALL_NO_RWG, f32, f16, ptr, i32)
199DEF_HELPER_FLAGS_3(vfp_fcvt_f32_to_f16, TCG_CALL_NO_RWG, f16, f32, ptr, i32)
200DEF_HELPER_FLAGS_3(vfp_fcvt_f16_to_f64, TCG_CALL_NO_RWG, f64, f16, ptr, i32)
201DEF_HELPER_FLAGS_3(vfp_fcvt_f64_to_f16, TCG_CALL_NO_RWG, f16, f64, ptr, i32)
60011498 202
da97f52c
PM
203DEF_HELPER_4(vfp_muladdd, f64, f64, f64, f64, ptr)
204DEF_HELPER_4(vfp_muladds, f32, f32, f32, f32, ptr)
205
26c6f695
PM
206DEF_HELPER_3(recps_f32, f32, env, f32, f32)
207DEF_HELPER_3(rsqrts_f32, f32, env, f32, f32)
5eb70735 208DEF_HELPER_FLAGS_2(recpe_f16, TCG_CALL_NO_RWG, f16, f16, ptr)
b6d4443a
AB
209DEF_HELPER_FLAGS_2(recpe_f32, TCG_CALL_NO_RWG, f32, f32, ptr)
210DEF_HELPER_FLAGS_2(recpe_f64, TCG_CALL_NO_RWG, f64, f64, ptr)
d719cbc7 211DEF_HELPER_FLAGS_2(rsqrte_f16, TCG_CALL_NO_RWG, f16, f16, ptr)
c2fb418e
AB
212DEF_HELPER_FLAGS_2(rsqrte_f32, TCG_CALL_NO_RWG, f32, f32, ptr)
213DEF_HELPER_FLAGS_2(rsqrte_f64, TCG_CALL_NO_RWG, f64, f64, ptr)
fe6fb4be
RH
214DEF_HELPER_FLAGS_1(recpe_u32, TCG_CALL_NO_RWG, i32, i32)
215DEF_HELPER_FLAGS_1(rsqrte_u32, TCG_CALL_NO_RWG, i32, i32)
e7c06c4e 216DEF_HELPER_FLAGS_4(neon_tbl, TCG_CALL_NO_RWG, i32, i32, i32, ptr, i32)
9ef39277 217
9ef39277
BS
218DEF_HELPER_3(shl_cc, i32, env, i32, i32)
219DEF_HELPER_3(shr_cc, i32, env, i32, i32)
220DEF_HELPER_3(sar_cc, i32, env, i32, i32)
221DEF_HELPER_3(ror_cc, i32, env, i32, i32)
8984bd2e 222
d9b0848d
PM
223DEF_HELPER_FLAGS_2(rints_exact, TCG_CALL_NO_RWG, f32, f32, ptr)
224DEF_HELPER_FLAGS_2(rintd_exact, TCG_CALL_NO_RWG, f64, f64, ptr)
225DEF_HELPER_FLAGS_2(rints, TCG_CALL_NO_RWG, f32, f32, ptr)
226DEF_HELPER_FLAGS_2(rintd, TCG_CALL_NO_RWG, f64, f64, ptr)
227
6c1f6f27
RH
228DEF_HELPER_FLAGS_2(vjcvt, TCG_CALL_NO_RWG, i32, f64, env)
229DEF_HELPER_FLAGS_2(fjcvtzs, TCG_CALL_NO_RWG, i64, f64, ptr)
230
9ca1d776
MZ
231DEF_HELPER_FLAGS_3(check_hcr_el2_trap, TCG_CALL_NO_WG, void, env, i32, i32)
232
ad69471c 233/* neon_helper.c */
09e03735
AB
234DEF_HELPER_FLAGS_3(neon_qadd_u8, TCG_CALL_NO_RWG, i32, env, i32, i32)
235DEF_HELPER_FLAGS_3(neon_qadd_s8, TCG_CALL_NO_RWG, i32, env, i32, i32)
236DEF_HELPER_FLAGS_3(neon_qadd_u16, TCG_CALL_NO_RWG, i32, env, i32, i32)
237DEF_HELPER_FLAGS_3(neon_qadd_s16, TCG_CALL_NO_RWG, i32, env, i32, i32)
238DEF_HELPER_FLAGS_3(neon_qadd_u32, TCG_CALL_NO_RWG, i32, env, i32, i32)
239DEF_HELPER_FLAGS_3(neon_qadd_s32, TCG_CALL_NO_RWG, i32, env, i32, i32)
240DEF_HELPER_FLAGS_3(neon_uqadd_s8, TCG_CALL_NO_RWG, i32, env, i32, i32)
241DEF_HELPER_FLAGS_3(neon_uqadd_s16, TCG_CALL_NO_RWG, i32, env, i32, i32)
242DEF_HELPER_FLAGS_3(neon_uqadd_s32, TCG_CALL_NO_RWG, i32, env, i32, i32)
243DEF_HELPER_FLAGS_3(neon_uqadd_s64, TCG_CALL_NO_RWG, i64, env, i64, i64)
244DEF_HELPER_FLAGS_3(neon_sqadd_u8, TCG_CALL_NO_RWG, i32, env, i32, i32)
245DEF_HELPER_FLAGS_3(neon_sqadd_u16, TCG_CALL_NO_RWG, i32, env, i32, i32)
246DEF_HELPER_FLAGS_3(neon_sqadd_u32, TCG_CALL_NO_RWG, i32, env, i32, i32)
247DEF_HELPER_FLAGS_3(neon_sqadd_u64, TCG_CALL_NO_RWG, i64, env, i64, i64)
02da0b2d
PM
248DEF_HELPER_3(neon_qsub_u8, i32, env, i32, i32)
249DEF_HELPER_3(neon_qsub_s8, i32, env, i32, i32)
250DEF_HELPER_3(neon_qsub_u16, i32, env, i32, i32)
251DEF_HELPER_3(neon_qsub_s16, i32, env, i32, i32)
252DEF_HELPER_3(neon_qsub_u32, i32, env, i32, i32)
253DEF_HELPER_3(neon_qsub_s32, i32, env, i32, i32)
254DEF_HELPER_3(neon_qadd_u64, i64, env, i64, i64)
255DEF_HELPER_3(neon_qadd_s64, i64, env, i64, i64)
256DEF_HELPER_3(neon_qsub_u64, i64, env, i64, i64)
257DEF_HELPER_3(neon_qsub_s64, i64, env, i64, i64)
a7812ae4
PB
258
259DEF_HELPER_2(neon_hadd_s8, i32, i32, i32)
260DEF_HELPER_2(neon_hadd_u8, i32, i32, i32)
261DEF_HELPER_2(neon_hadd_s16, i32, i32, i32)
262DEF_HELPER_2(neon_hadd_u16, i32, i32, i32)
263DEF_HELPER_2(neon_hadd_s32, s32, s32, s32)
264DEF_HELPER_2(neon_hadd_u32, i32, i32, i32)
265DEF_HELPER_2(neon_rhadd_s8, i32, i32, i32)
266DEF_HELPER_2(neon_rhadd_u8, i32, i32, i32)
267DEF_HELPER_2(neon_rhadd_s16, i32, i32, i32)
268DEF_HELPER_2(neon_rhadd_u16, i32, i32, i32)
269DEF_HELPER_2(neon_rhadd_s32, s32, s32, s32)
270DEF_HELPER_2(neon_rhadd_u32, i32, i32, i32)
271DEF_HELPER_2(neon_hsub_s8, i32, i32, i32)
272DEF_HELPER_2(neon_hsub_u8, i32, i32, i32)
273DEF_HELPER_2(neon_hsub_s16, i32, i32, i32)
274DEF_HELPER_2(neon_hsub_u16, i32, i32, i32)
275DEF_HELPER_2(neon_hsub_s32, s32, s32, s32)
276DEF_HELPER_2(neon_hsub_u32, i32, i32, i32)
277
a7812ae4
PB
278DEF_HELPER_2(neon_pmin_u8, i32, i32, i32)
279DEF_HELPER_2(neon_pmin_s8, i32, i32, i32)
280DEF_HELPER_2(neon_pmin_u16, i32, i32, i32)
281DEF_HELPER_2(neon_pmin_s16, i32, i32, i32)
282DEF_HELPER_2(neon_pmax_u8, i32, i32, i32)
283DEF_HELPER_2(neon_pmax_s8, i32, i32, i32)
284DEF_HELPER_2(neon_pmax_u16, i32, i32, i32)
285DEF_HELPER_2(neon_pmax_s16, i32, i32, i32)
286
a7812ae4
PB
287DEF_HELPER_2(neon_shl_u16, i32, i32, i32)
288DEF_HELPER_2(neon_shl_s16, i32, i32, i32)
a7812ae4
PB
289DEF_HELPER_2(neon_rshl_u8, i32, i32, i32)
290DEF_HELPER_2(neon_rshl_s8, i32, i32, i32)
291DEF_HELPER_2(neon_rshl_u16, i32, i32, i32)
292DEF_HELPER_2(neon_rshl_s16, i32, i32, i32)
293DEF_HELPER_2(neon_rshl_u32, i32, i32, i32)
294DEF_HELPER_2(neon_rshl_s32, i32, i32, i32)
295DEF_HELPER_2(neon_rshl_u64, i64, i64, i64)
296DEF_HELPER_2(neon_rshl_s64, i64, i64, i64)
02da0b2d
PM
297DEF_HELPER_3(neon_qshl_u8, i32, env, i32, i32)
298DEF_HELPER_3(neon_qshl_s8, i32, env, i32, i32)
299DEF_HELPER_3(neon_qshl_u16, i32, env, i32, i32)
300DEF_HELPER_3(neon_qshl_s16, i32, env, i32, i32)
301DEF_HELPER_3(neon_qshl_u32, i32, env, i32, i32)
302DEF_HELPER_3(neon_qshl_s32, i32, env, i32, i32)
303DEF_HELPER_3(neon_qshl_u64, i64, env, i64, i64)
304DEF_HELPER_3(neon_qshl_s64, i64, env, i64, i64)
f5daeec4
RH
305DEF_HELPER_3(neon_qshlu_s8, i32, env, i32, i32)
306DEF_HELPER_3(neon_qshlu_s16, i32, env, i32, i32)
307DEF_HELPER_3(neon_qshlu_s32, i32, env, i32, i32)
308DEF_HELPER_3(neon_qshlu_s64, i64, env, i64, i64)
02da0b2d
PM
309DEF_HELPER_3(neon_qrshl_u8, i32, env, i32, i32)
310DEF_HELPER_3(neon_qrshl_s8, i32, env, i32, i32)
311DEF_HELPER_3(neon_qrshl_u16, i32, env, i32, i32)
312DEF_HELPER_3(neon_qrshl_s16, i32, env, i32, i32)
313DEF_HELPER_3(neon_qrshl_u32, i32, env, i32, i32)
314DEF_HELPER_3(neon_qrshl_s32, i32, env, i32, i32)
315DEF_HELPER_3(neon_qrshl_u64, i64, env, i64, i64)
316DEF_HELPER_3(neon_qrshl_s64, i64, env, i64, i64)
a7812ae4
PB
317
318DEF_HELPER_2(neon_add_u8, i32, i32, i32)
319DEF_HELPER_2(neon_add_u16, i32, i32, i32)
320DEF_HELPER_2(neon_padd_u8, i32, i32, i32)
321DEF_HELPER_2(neon_padd_u16, i32, i32, i32)
322DEF_HELPER_2(neon_sub_u8, i32, i32, i32)
323DEF_HELPER_2(neon_sub_u16, i32, i32, i32)
324DEF_HELPER_2(neon_mul_u8, i32, i32, i32)
325DEF_HELPER_2(neon_mul_u16, i32, i32, i32)
a7812ae4
PB
326
327DEF_HELPER_2(neon_tst_u8, i32, i32, i32)
328DEF_HELPER_2(neon_tst_u16, i32, i32, i32)
329DEF_HELPER_2(neon_tst_u32, i32, i32, i32)
a7812ae4 330
a7812ae4
PB
331DEF_HELPER_1(neon_clz_u8, i32, i32)
332DEF_HELPER_1(neon_clz_u16, i32, i32)
333DEF_HELPER_1(neon_cls_s8, i32, i32)
334DEF_HELPER_1(neon_cls_s16, i32, i32)
335DEF_HELPER_1(neon_cls_s32, i32, i32)
336DEF_HELPER_1(neon_cnt_u8, i32, i32)
86cbc418 337DEF_HELPER_FLAGS_1(neon_rbit_u8, TCG_CALL_NO_RWG_SE, i32, i32)
a7812ae4 338
02da0b2d
PM
339DEF_HELPER_3(neon_qdmulh_s16, i32, env, i32, i32)
340DEF_HELPER_3(neon_qrdmulh_s16, i32, env, i32, i32)
d9061ec3
RH
341DEF_HELPER_4(neon_qrdmlah_s16, i32, env, i32, i32, i32)
342DEF_HELPER_4(neon_qrdmlsh_s16, i32, env, i32, i32, i32)
02da0b2d
PM
343DEF_HELPER_3(neon_qdmulh_s32, i32, env, i32, i32)
344DEF_HELPER_3(neon_qrdmulh_s32, i32, env, i32, i32)
d9061ec3
RH
345DEF_HELPER_4(neon_qrdmlah_s32, i32, env, s32, s32, s32)
346DEF_HELPER_4(neon_qrdmlsh_s32, i32, env, s32, s32, s32)
a7812ae4
PB
347
348DEF_HELPER_1(neon_narrow_u8, i32, i64)
349DEF_HELPER_1(neon_narrow_u16, i32, i64)
02da0b2d
PM
350DEF_HELPER_2(neon_unarrow_sat8, i32, env, i64)
351DEF_HELPER_2(neon_narrow_sat_u8, i32, env, i64)
352DEF_HELPER_2(neon_narrow_sat_s8, i32, env, i64)
353DEF_HELPER_2(neon_unarrow_sat16, i32, env, i64)
354DEF_HELPER_2(neon_narrow_sat_u16, i32, env, i64)
355DEF_HELPER_2(neon_narrow_sat_s16, i32, env, i64)
356DEF_HELPER_2(neon_unarrow_sat32, i32, env, i64)
357DEF_HELPER_2(neon_narrow_sat_u32, i32, env, i64)
358DEF_HELPER_2(neon_narrow_sat_s32, i32, env, i64)
a7812ae4
PB
359DEF_HELPER_1(neon_narrow_high_u8, i32, i64)
360DEF_HELPER_1(neon_narrow_high_u16, i32, i64)
361DEF_HELPER_1(neon_narrow_round_high_u8, i32, i64)
362DEF_HELPER_1(neon_narrow_round_high_u16, i32, i64)
363DEF_HELPER_1(neon_widen_u8, i64, i32)
364DEF_HELPER_1(neon_widen_s8, i64, i32)
365DEF_HELPER_1(neon_widen_u16, i64, i32)
366DEF_HELPER_1(neon_widen_s16, i64, i32)
367
368DEF_HELPER_2(neon_addl_u16, i64, i64, i64)
369DEF_HELPER_2(neon_addl_u32, i64, i64, i64)
370DEF_HELPER_2(neon_paddl_u16, i64, i64, i64)
371DEF_HELPER_2(neon_paddl_u32, i64, i64, i64)
372DEF_HELPER_2(neon_subl_u16, i64, i64, i64)
373DEF_HELPER_2(neon_subl_u32, i64, i64, i64)
02da0b2d
PM
374DEF_HELPER_3(neon_addl_saturate_s32, i64, env, i64, i64)
375DEF_HELPER_3(neon_addl_saturate_s64, i64, env, i64, i64)
a7812ae4
PB
376DEF_HELPER_2(neon_abdl_u16, i64, i32, i32)
377DEF_HELPER_2(neon_abdl_s16, i64, i32, i32)
378DEF_HELPER_2(neon_abdl_u32, i64, i32, i32)
379DEF_HELPER_2(neon_abdl_s32, i64, i32, i32)
380DEF_HELPER_2(neon_abdl_u64, i64, i32, i32)
381DEF_HELPER_2(neon_abdl_s64, i64, i32, i32)
382DEF_HELPER_2(neon_mull_u8, i64, i32, i32)
383DEF_HELPER_2(neon_mull_s8, i64, i32, i32)
384DEF_HELPER_2(neon_mull_u16, i64, i32, i32)
385DEF_HELPER_2(neon_mull_s16, i64, i32, i32)
386
387DEF_HELPER_1(neon_negl_u16, i64, i64)
388DEF_HELPER_1(neon_negl_u32, i64, i64)
a7812ae4 389
0a79bc87
AB
390DEF_HELPER_FLAGS_2(neon_qabs_s8, TCG_CALL_NO_RWG, i32, env, i32)
391DEF_HELPER_FLAGS_2(neon_qabs_s16, TCG_CALL_NO_RWG, i32, env, i32)
392DEF_HELPER_FLAGS_2(neon_qabs_s32, TCG_CALL_NO_RWG, i32, env, i32)
393DEF_HELPER_FLAGS_2(neon_qabs_s64, TCG_CALL_NO_RWG, i64, env, i64)
394DEF_HELPER_FLAGS_2(neon_qneg_s8, TCG_CALL_NO_RWG, i32, env, i32)
395DEF_HELPER_FLAGS_2(neon_qneg_s16, TCG_CALL_NO_RWG, i32, env, i32)
396DEF_HELPER_FLAGS_2(neon_qneg_s32, TCG_CALL_NO_RWG, i32, env, i32)
397DEF_HELPER_FLAGS_2(neon_qneg_s64, TCG_CALL_NO_RWG, i64, env, i64)
a7812ae4 398
aa47cfdd
PM
399DEF_HELPER_3(neon_ceq_f32, i32, i32, i32, ptr)
400DEF_HELPER_3(neon_cge_f32, i32, i32, i32, ptr)
401DEF_HELPER_3(neon_cgt_f32, i32, i32, i32, ptr)
402DEF_HELPER_3(neon_acge_f32, i32, i32, i32, ptr)
403DEF_HELPER_3(neon_acgt_f32, i32, i32, i32, ptr)
057d5f62
PM
404DEF_HELPER_3(neon_acge_f64, i64, i64, i64, ptr)
405DEF_HELPER_3(neon_acgt_f64, i64, i64, i64, ptr)
ad69471c 406
e677137d 407/* iwmmxt_helper.c */
a7812ae4
PB
408DEF_HELPER_2(iwmmxt_maddsq, i64, i64, i64)
409DEF_HELPER_2(iwmmxt_madduq, i64, i64, i64)
410DEF_HELPER_2(iwmmxt_sadb, i64, i64, i64)
411DEF_HELPER_2(iwmmxt_sadw, i64, i64, i64)
412DEF_HELPER_2(iwmmxt_mulslw, i64, i64, i64)
413DEF_HELPER_2(iwmmxt_mulshw, i64, i64, i64)
414DEF_HELPER_2(iwmmxt_mululw, i64, i64, i64)
415DEF_HELPER_2(iwmmxt_muluhw, i64, i64, i64)
416DEF_HELPER_2(iwmmxt_macsw, i64, i64, i64)
417DEF_HELPER_2(iwmmxt_macuw, i64, i64, i64)
418DEF_HELPER_1(iwmmxt_setpsr_nz, i32, i64)
e677137d 419
477955bd
PM
420#define DEF_IWMMXT_HELPER_SIZE_ENV(name) \
421DEF_HELPER_3(iwmmxt_##name##b, i64, env, i64, i64) \
422DEF_HELPER_3(iwmmxt_##name##w, i64, env, i64, i64) \
423DEF_HELPER_3(iwmmxt_##name##l, i64, env, i64, i64) \
424
425DEF_IWMMXT_HELPER_SIZE_ENV(unpackl)
426DEF_IWMMXT_HELPER_SIZE_ENV(unpackh)
427
428DEF_HELPER_2(iwmmxt_unpacklub, i64, env, i64)
429DEF_HELPER_2(iwmmxt_unpackluw, i64, env, i64)
430DEF_HELPER_2(iwmmxt_unpacklul, i64, env, i64)
431DEF_HELPER_2(iwmmxt_unpackhub, i64, env, i64)
432DEF_HELPER_2(iwmmxt_unpackhuw, i64, env, i64)
433DEF_HELPER_2(iwmmxt_unpackhul, i64, env, i64)
434DEF_HELPER_2(iwmmxt_unpacklsb, i64, env, i64)
435DEF_HELPER_2(iwmmxt_unpacklsw, i64, env, i64)
436DEF_HELPER_2(iwmmxt_unpacklsl, i64, env, i64)
437DEF_HELPER_2(iwmmxt_unpackhsb, i64, env, i64)
438DEF_HELPER_2(iwmmxt_unpackhsw, i64, env, i64)
439DEF_HELPER_2(iwmmxt_unpackhsl, i64, env, i64)
440
441DEF_IWMMXT_HELPER_SIZE_ENV(cmpeq)
442DEF_IWMMXT_HELPER_SIZE_ENV(cmpgtu)
443DEF_IWMMXT_HELPER_SIZE_ENV(cmpgts)
444
445DEF_IWMMXT_HELPER_SIZE_ENV(mins)
446DEF_IWMMXT_HELPER_SIZE_ENV(minu)
447DEF_IWMMXT_HELPER_SIZE_ENV(maxs)
448DEF_IWMMXT_HELPER_SIZE_ENV(maxu)
449
450DEF_IWMMXT_HELPER_SIZE_ENV(subn)
451DEF_IWMMXT_HELPER_SIZE_ENV(addn)
452DEF_IWMMXT_HELPER_SIZE_ENV(subu)
453DEF_IWMMXT_HELPER_SIZE_ENV(addu)
454DEF_IWMMXT_HELPER_SIZE_ENV(subs)
455DEF_IWMMXT_HELPER_SIZE_ENV(adds)
456
457DEF_HELPER_3(iwmmxt_avgb0, i64, env, i64, i64)
458DEF_HELPER_3(iwmmxt_avgb1, i64, env, i64, i64)
459DEF_HELPER_3(iwmmxt_avgw0, i64, env, i64, i64)
460DEF_HELPER_3(iwmmxt_avgw1, i64, env, i64, i64)
a7812ae4 461
a7812ae4
PB
462DEF_HELPER_3(iwmmxt_align, i64, i64, i64, i32)
463DEF_HELPER_4(iwmmxt_insr, i64, i64, i32, i32, i32)
464
465DEF_HELPER_1(iwmmxt_bcstb, i64, i32)
466DEF_HELPER_1(iwmmxt_bcstw, i64, i32)
467DEF_HELPER_1(iwmmxt_bcstl, i64, i32)
468
469DEF_HELPER_1(iwmmxt_addcb, i64, i64)
470DEF_HELPER_1(iwmmxt_addcw, i64, i64)
471DEF_HELPER_1(iwmmxt_addcl, i64, i64)
472
473DEF_HELPER_1(iwmmxt_msbb, i32, i64)
474DEF_HELPER_1(iwmmxt_msbw, i32, i64)
475DEF_HELPER_1(iwmmxt_msbl, i32, i64)
476
477955bd
PM
477DEF_HELPER_3(iwmmxt_srlw, i64, env, i64, i32)
478DEF_HELPER_3(iwmmxt_srll, i64, env, i64, i32)
479DEF_HELPER_3(iwmmxt_srlq, i64, env, i64, i32)
480DEF_HELPER_3(iwmmxt_sllw, i64, env, i64, i32)
481DEF_HELPER_3(iwmmxt_slll, i64, env, i64, i32)
482DEF_HELPER_3(iwmmxt_sllq, i64, env, i64, i32)
483DEF_HELPER_3(iwmmxt_sraw, i64, env, i64, i32)
484DEF_HELPER_3(iwmmxt_sral, i64, env, i64, i32)
485DEF_HELPER_3(iwmmxt_sraq, i64, env, i64, i32)
486DEF_HELPER_3(iwmmxt_rorw, i64, env, i64, i32)
487DEF_HELPER_3(iwmmxt_rorl, i64, env, i64, i32)
488DEF_HELPER_3(iwmmxt_rorq, i64, env, i64, i32)
489DEF_HELPER_3(iwmmxt_shufh, i64, env, i64, i32)
490
491DEF_HELPER_3(iwmmxt_packuw, i64, env, i64, i64)
492DEF_HELPER_3(iwmmxt_packul, i64, env, i64, i64)
493DEF_HELPER_3(iwmmxt_packuq, i64, env, i64, i64)
494DEF_HELPER_3(iwmmxt_packsw, i64, env, i64, i64)
495DEF_HELPER_3(iwmmxt_packsl, i64, env, i64, i64)
496DEF_HELPER_3(iwmmxt_packsq, i64, env, i64, i64)
a7812ae4
PB
497
498DEF_HELPER_3(iwmmxt_muladdsl, i64, i64, i32, i32)
499DEF_HELPER_3(iwmmxt_muladdsw, i64, i64, i32, i32)
500DEF_HELPER_3(iwmmxt_muladdswl, i64, i64, i32, i32)
501
b13708bb
RH
502DEF_HELPER_FLAGS_2(neon_unzip8, TCG_CALL_NO_RWG, void, ptr, ptr)
503DEF_HELPER_FLAGS_2(neon_unzip16, TCG_CALL_NO_RWG, void, ptr, ptr)
504DEF_HELPER_FLAGS_2(neon_qunzip8, TCG_CALL_NO_RWG, void, ptr, ptr)
505DEF_HELPER_FLAGS_2(neon_qunzip16, TCG_CALL_NO_RWG, void, ptr, ptr)
506DEF_HELPER_FLAGS_2(neon_qunzip32, TCG_CALL_NO_RWG, void, ptr, ptr)
507DEF_HELPER_FLAGS_2(neon_zip8, TCG_CALL_NO_RWG, void, ptr, ptr)
508DEF_HELPER_FLAGS_2(neon_zip16, TCG_CALL_NO_RWG, void, ptr, ptr)
509DEF_HELPER_FLAGS_2(neon_qzip8, TCG_CALL_NO_RWG, void, ptr, ptr)
510DEF_HELPER_FLAGS_2(neon_qzip16, TCG_CALL_NO_RWG, void, ptr, ptr)
511DEF_HELPER_FLAGS_2(neon_qzip32, TCG_CALL_NO_RWG, void, ptr, ptr)
02acedf9 512
a04b68e1 513DEF_HELPER_FLAGS_4(crypto_aese, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1a66ac61 514DEF_HELPER_FLAGS_3(crypto_aesmc, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
9d935509 515
afc8b7d3
RH
516DEF_HELPER_FLAGS_4(crypto_sha1su0, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
517DEF_HELPER_FLAGS_4(crypto_sha1c, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
518DEF_HELPER_FLAGS_4(crypto_sha1p, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
519DEF_HELPER_FLAGS_4(crypto_sha1m, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
effa992f
RH
520DEF_HELPER_FLAGS_3(crypto_sha1h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
521DEF_HELPER_FLAGS_3(crypto_sha1su1, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
f1ecb913 522
effa992f
RH
523DEF_HELPER_FLAGS_4(crypto_sha256h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
524DEF_HELPER_FLAGS_4(crypto_sha256h2, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
525DEF_HELPER_FLAGS_3(crypto_sha256su0, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
526DEF_HELPER_FLAGS_4(crypto_sha256su1, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
f1ecb913 527
aaffebd6
RH
528DEF_HELPER_FLAGS_4(crypto_sha512h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
529DEF_HELPER_FLAGS_4(crypto_sha512h2, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
530DEF_HELPER_FLAGS_3(crypto_sha512su0, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
531DEF_HELPER_FLAGS_4(crypto_sha512su1, TCG_CALL_NO_RWG,
532 void, ptr, ptr, ptr, i32)
90b827d1 533
43fa36c9
RH
534DEF_HELPER_FLAGS_4(crypto_sm3tt1a, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
535DEF_HELPER_FLAGS_4(crypto_sm3tt1b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
536DEF_HELPER_FLAGS_4(crypto_sm3tt2a, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
537DEF_HELPER_FLAGS_4(crypto_sm3tt2b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
aaffebd6
RH
538DEF_HELPER_FLAGS_4(crypto_sm3partw1, TCG_CALL_NO_RWG,
539 void, ptr, ptr, ptr, i32)
540DEF_HELPER_FLAGS_4(crypto_sm3partw2, TCG_CALL_NO_RWG,
541 void, ptr, ptr, ptr, i32)
80d6f4c6 542
a04b68e1
RH
543DEF_HELPER_FLAGS_4(crypto_sm4e, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
544DEF_HELPER_FLAGS_4(crypto_sm4ekey, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
b6577bcd 545
1738860d
RH
546DEF_HELPER_FLAGS_4(crypto_rax1, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
547
eb0ecd5a
WN
548DEF_HELPER_FLAGS_3(crc32, TCG_CALL_NO_RWG_SE, i32, i32, i32, i32)
549DEF_HELPER_FLAGS_3(crc32c, TCG_CALL_NO_RWG_SE, i32, i32, i32, i32)
550
e7186d82
RH
551DEF_HELPER_FLAGS_5(gvec_qrdmlah_s16, TCG_CALL_NO_RWG,
552 void, ptr, ptr, ptr, ptr, i32)
553DEF_HELPER_FLAGS_5(gvec_qrdmlsh_s16, TCG_CALL_NO_RWG,
554 void, ptr, ptr, ptr, ptr, i32)
555DEF_HELPER_FLAGS_5(gvec_qrdmlah_s32, TCG_CALL_NO_RWG,
556 void, ptr, ptr, ptr, ptr, i32)
557DEF_HELPER_FLAGS_5(gvec_qrdmlsh_s32, TCG_CALL_NO_RWG,
558 void, ptr, ptr, ptr, ptr, i32)
559
d730ecaa
RH
560DEF_HELPER_FLAGS_4(gvec_sdot_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
561DEF_HELPER_FLAGS_4(gvec_udot_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
562DEF_HELPER_FLAGS_4(gvec_sdot_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
563DEF_HELPER_FLAGS_4(gvec_udot_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
564
16fcfdc7
RH
565DEF_HELPER_FLAGS_4(gvec_sdot_idx_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
566DEF_HELPER_FLAGS_4(gvec_udot_idx_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
567DEF_HELPER_FLAGS_4(gvec_sdot_idx_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
568DEF_HELPER_FLAGS_4(gvec_udot_idx_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
569
1695cd61
RH
570DEF_HELPER_FLAGS_5(gvec_fcaddh, TCG_CALL_NO_RWG,
571 void, ptr, ptr, ptr, ptr, i32)
572DEF_HELPER_FLAGS_5(gvec_fcadds, TCG_CALL_NO_RWG,
573 void, ptr, ptr, ptr, ptr, i32)
574DEF_HELPER_FLAGS_5(gvec_fcaddd, TCG_CALL_NO_RWG,
575 void, ptr, ptr, ptr, ptr, i32)
576
d17b7cdc
RH
577DEF_HELPER_FLAGS_5(gvec_fcmlah, TCG_CALL_NO_RWG,
578 void, ptr, ptr, ptr, ptr, i32)
579DEF_HELPER_FLAGS_5(gvec_fcmlah_idx, TCG_CALL_NO_RWG,
580 void, ptr, ptr, ptr, ptr, i32)
581DEF_HELPER_FLAGS_5(gvec_fcmlas, TCG_CALL_NO_RWG,
582 void, ptr, ptr, ptr, ptr, i32)
583DEF_HELPER_FLAGS_5(gvec_fcmlas_idx, TCG_CALL_NO_RWG,
584 void, ptr, ptr, ptr, ptr, i32)
585DEF_HELPER_FLAGS_5(gvec_fcmlad, TCG_CALL_NO_RWG,
586 void, ptr, ptr, ptr, ptr, i32)
587
3887c038
RH
588DEF_HELPER_FLAGS_4(gvec_frecpe_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
589DEF_HELPER_FLAGS_4(gvec_frecpe_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
590DEF_HELPER_FLAGS_4(gvec_frecpe_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
591
592DEF_HELPER_FLAGS_4(gvec_frsqrte_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
593DEF_HELPER_FLAGS_4(gvec_frsqrte_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
594DEF_HELPER_FLAGS_4(gvec_frsqrte_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
595
29b80469
RH
596DEF_HELPER_FLAGS_5(gvec_fadd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
597DEF_HELPER_FLAGS_5(gvec_fadd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
598DEF_HELPER_FLAGS_5(gvec_fadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
599
600DEF_HELPER_FLAGS_5(gvec_fsub_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
601DEF_HELPER_FLAGS_5(gvec_fsub_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
602DEF_HELPER_FLAGS_5(gvec_fsub_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
603
604DEF_HELPER_FLAGS_5(gvec_fmul_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
605DEF_HELPER_FLAGS_5(gvec_fmul_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
606DEF_HELPER_FLAGS_5(gvec_fmul_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
607
a26a352b
PM
608DEF_HELPER_FLAGS_5(gvec_fabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
609
29b80469
RH
610DEF_HELPER_FLAGS_5(gvec_ftsmul_h, TCG_CALL_NO_RWG,
611 void, ptr, ptr, ptr, ptr, i32)
612DEF_HELPER_FLAGS_5(gvec_ftsmul_s, TCG_CALL_NO_RWG,
613 void, ptr, ptr, ptr, ptr, i32)
614DEF_HELPER_FLAGS_5(gvec_ftsmul_d, TCG_CALL_NO_RWG,
615 void, ptr, ptr, ptr, ptr, i32)
616
ca40a6e6
RH
617DEF_HELPER_FLAGS_5(gvec_fmul_idx_h, TCG_CALL_NO_RWG,
618 void, ptr, ptr, ptr, ptr, i32)
619DEF_HELPER_FLAGS_5(gvec_fmul_idx_s, TCG_CALL_NO_RWG,
620 void, ptr, ptr, ptr, ptr, i32)
621DEF_HELPER_FLAGS_5(gvec_fmul_idx_d, TCG_CALL_NO_RWG,
622 void, ptr, ptr, ptr, ptr, i32)
623
624DEF_HELPER_FLAGS_6(gvec_fmla_idx_h, TCG_CALL_NO_RWG,
625 void, ptr, ptr, ptr, ptr, ptr, i32)
626DEF_HELPER_FLAGS_6(gvec_fmla_idx_s, TCG_CALL_NO_RWG,
627 void, ptr, ptr, ptr, ptr, ptr, i32)
628DEF_HELPER_FLAGS_6(gvec_fmla_idx_d, TCG_CALL_NO_RWG,
629 void, ptr, ptr, ptr, ptr, ptr, i32)
630
89e68b57
RH
631DEF_HELPER_FLAGS_5(gvec_uqadd_b, TCG_CALL_NO_RWG,
632 void, ptr, ptr, ptr, ptr, i32)
633DEF_HELPER_FLAGS_5(gvec_uqadd_h, TCG_CALL_NO_RWG,
634 void, ptr, ptr, ptr, ptr, i32)
635DEF_HELPER_FLAGS_5(gvec_uqadd_s, TCG_CALL_NO_RWG,
636 void, ptr, ptr, ptr, ptr, i32)
637DEF_HELPER_FLAGS_5(gvec_uqadd_d, TCG_CALL_NO_RWG,
638 void, ptr, ptr, ptr, ptr, i32)
639DEF_HELPER_FLAGS_5(gvec_sqadd_b, TCG_CALL_NO_RWG,
640 void, ptr, ptr, ptr, ptr, i32)
641DEF_HELPER_FLAGS_5(gvec_sqadd_h, TCG_CALL_NO_RWG,
642 void, ptr, ptr, ptr, ptr, i32)
643DEF_HELPER_FLAGS_5(gvec_sqadd_s, TCG_CALL_NO_RWG,
644 void, ptr, ptr, ptr, ptr, i32)
645DEF_HELPER_FLAGS_5(gvec_sqadd_d, TCG_CALL_NO_RWG,
646 void, ptr, ptr, ptr, ptr, i32)
647DEF_HELPER_FLAGS_5(gvec_uqsub_b, TCG_CALL_NO_RWG,
648 void, ptr, ptr, ptr, ptr, i32)
649DEF_HELPER_FLAGS_5(gvec_uqsub_h, TCG_CALL_NO_RWG,
650 void, ptr, ptr, ptr, ptr, i32)
651DEF_HELPER_FLAGS_5(gvec_uqsub_s, TCG_CALL_NO_RWG,
652 void, ptr, ptr, ptr, ptr, i32)
653DEF_HELPER_FLAGS_5(gvec_uqsub_d, TCG_CALL_NO_RWG,
654 void, ptr, ptr, ptr, ptr, i32)
655DEF_HELPER_FLAGS_5(gvec_sqsub_b, TCG_CALL_NO_RWG,
656 void, ptr, ptr, ptr, ptr, i32)
657DEF_HELPER_FLAGS_5(gvec_sqsub_h, TCG_CALL_NO_RWG,
658 void, ptr, ptr, ptr, ptr, i32)
659DEF_HELPER_FLAGS_5(gvec_sqsub_s, TCG_CALL_NO_RWG,
660 void, ptr, ptr, ptr, ptr, i32)
661DEF_HELPER_FLAGS_5(gvec_sqsub_d, TCG_CALL_NO_RWG,
662 void, ptr, ptr, ptr, ptr, i32)
663
a4e943a7
RH
664DEF_HELPER_FLAGS_5(gvec_fmlal_a32, TCG_CALL_NO_RWG,
665 void, ptr, ptr, ptr, ptr, i32)
666DEF_HELPER_FLAGS_5(gvec_fmlal_a64, TCG_CALL_NO_RWG,
667 void, ptr, ptr, ptr, ptr, i32)
668DEF_HELPER_FLAGS_5(gvec_fmlal_idx_a32, TCG_CALL_NO_RWG,
669 void, ptr, ptr, ptr, ptr, i32)
670DEF_HELPER_FLAGS_5(gvec_fmlal_idx_a64, TCG_CALL_NO_RWG,
671 void, ptr, ptr, ptr, ptr, i32)
672
6bea2563
RH
673DEF_HELPER_FLAGS_2(frint32_s, TCG_CALL_NO_RWG, f32, f32, ptr)
674DEF_HELPER_FLAGS_2(frint64_s, TCG_CALL_NO_RWG, f32, f32, ptr)
675DEF_HELPER_FLAGS_2(frint32_d, TCG_CALL_NO_RWG, f64, f64, ptr)
676DEF_HELPER_FLAGS_2(frint64_d, TCG_CALL_NO_RWG, f64, f64, ptr)
677
6b375d35
RH
678DEF_HELPER_FLAGS_3(gvec_ceq0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
679DEF_HELPER_FLAGS_3(gvec_ceq0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
680DEF_HELPER_FLAGS_3(gvec_clt0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
681DEF_HELPER_FLAGS_3(gvec_clt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
682DEF_HELPER_FLAGS_3(gvec_cle0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
683DEF_HELPER_FLAGS_3(gvec_cle0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
684DEF_HELPER_FLAGS_3(gvec_cgt0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
685DEF_HELPER_FLAGS_3(gvec_cgt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
686DEF_HELPER_FLAGS_3(gvec_cge0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
687DEF_HELPER_FLAGS_3(gvec_cge0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
688
87b74e8b
RH
689DEF_HELPER_FLAGS_4(gvec_sshl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
690DEF_HELPER_FLAGS_4(gvec_sshl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
691DEF_HELPER_FLAGS_4(gvec_ushl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
692DEF_HELPER_FLAGS_4(gvec_ushl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
693
a21bb78e 694DEF_HELPER_FLAGS_4(gvec_pmul_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
b9ed510e 695DEF_HELPER_FLAGS_4(gvec_pmull_q, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
a21bb78e 696
e7e96fc5
RH
697DEF_HELPER_FLAGS_4(neon_pmull_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
698
631e5654
RH
699DEF_HELPER_FLAGS_3(gvec_ssra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
700DEF_HELPER_FLAGS_3(gvec_ssra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
701DEF_HELPER_FLAGS_3(gvec_ssra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
702DEF_HELPER_FLAGS_3(gvec_ssra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
703
704DEF_HELPER_FLAGS_3(gvec_usra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
705DEF_HELPER_FLAGS_3(gvec_usra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
706DEF_HELPER_FLAGS_3(gvec_usra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
707DEF_HELPER_FLAGS_3(gvec_usra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
708
6ccd48d4
RH
709DEF_HELPER_FLAGS_3(gvec_srshr_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
710DEF_HELPER_FLAGS_3(gvec_srshr_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
711DEF_HELPER_FLAGS_3(gvec_srshr_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
712DEF_HELPER_FLAGS_3(gvec_srshr_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
713
714DEF_HELPER_FLAGS_3(gvec_urshr_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
715DEF_HELPER_FLAGS_3(gvec_urshr_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
716DEF_HELPER_FLAGS_3(gvec_urshr_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
717DEF_HELPER_FLAGS_3(gvec_urshr_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
718
719DEF_HELPER_FLAGS_3(gvec_srsra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
720DEF_HELPER_FLAGS_3(gvec_srsra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
721DEF_HELPER_FLAGS_3(gvec_srsra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
722DEF_HELPER_FLAGS_3(gvec_srsra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
723
724DEF_HELPER_FLAGS_3(gvec_ursra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
725DEF_HELPER_FLAGS_3(gvec_ursra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
726DEF_HELPER_FLAGS_3(gvec_ursra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
727DEF_HELPER_FLAGS_3(gvec_ursra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
728
893ab054
RH
729DEF_HELPER_FLAGS_3(gvec_sri_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
730DEF_HELPER_FLAGS_3(gvec_sri_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
731DEF_HELPER_FLAGS_3(gvec_sri_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
732DEF_HELPER_FLAGS_3(gvec_sri_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
733
734DEF_HELPER_FLAGS_3(gvec_sli_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
735DEF_HELPER_FLAGS_3(gvec_sli_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
736DEF_HELPER_FLAGS_3(gvec_sli_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
737DEF_HELPER_FLAGS_3(gvec_sli_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
738
50c160d4
RH
739DEF_HELPER_FLAGS_4(gvec_sabd_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
740DEF_HELPER_FLAGS_4(gvec_sabd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
741DEF_HELPER_FLAGS_4(gvec_sabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
742DEF_HELPER_FLAGS_4(gvec_sabd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
743
744DEF_HELPER_FLAGS_4(gvec_uabd_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
745DEF_HELPER_FLAGS_4(gvec_uabd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
746DEF_HELPER_FLAGS_4(gvec_uabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
747DEF_HELPER_FLAGS_4(gvec_uabd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
748
cfdb2c0c
RH
749DEF_HELPER_FLAGS_4(gvec_saba_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
750DEF_HELPER_FLAGS_4(gvec_saba_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
751DEF_HELPER_FLAGS_4(gvec_saba_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
752DEF_HELPER_FLAGS_4(gvec_saba_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
753
754DEF_HELPER_FLAGS_4(gvec_uaba_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
755DEF_HELPER_FLAGS_4(gvec_uaba_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
756DEF_HELPER_FLAGS_4(gvec_uaba_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
757DEF_HELPER_FLAGS_4(gvec_uaba_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
758
d3e35a1f
AG
759#ifdef TARGET_AARCH64
760#include "helper-a64.h"
9e18d7a6 761#include "helper-sve.h"
d3e35a1f 762#endif
This page took 1.025291 seconds and 4 git commands to generate.