xref: /openbmc/qemu/target/arm/tcg/helper.h (revision bb153e7960b24fb31b36b4230e4d1d008ae2f129)
1a7a3ae9eSPierrick Bouvier /* SPDX-License-Identifier: GPL-2.0-or-later */
2a7a3ae9eSPierrick Bouvier 
3a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_1(sxtb16, TCG_CALL_NO_RWG_SE, i32, i32)
4a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_1(uxtb16, TCG_CALL_NO_RWG_SE, i32, i32)
5a7a3ae9eSPierrick Bouvier 
6a7a3ae9eSPierrick Bouvier DEF_HELPER_3(add_setq, i32, env, i32, i32)
7a7a3ae9eSPierrick Bouvier DEF_HELPER_3(add_saturate, i32, env, i32, i32)
8a7a3ae9eSPierrick Bouvier DEF_HELPER_3(sub_saturate, i32, env, i32, i32)
9a7a3ae9eSPierrick Bouvier DEF_HELPER_3(add_usaturate, i32, env, i32, i32)
10a7a3ae9eSPierrick Bouvier DEF_HELPER_3(sub_usaturate, i32, env, i32, i32)
11a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(sdiv, TCG_CALL_NO_RWG, s32, env, s32, s32)
12a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(udiv, TCG_CALL_NO_RWG, i32, env, i32, i32)
13a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_1(rbit, TCG_CALL_NO_RWG_SE, i32, i32)
14a7a3ae9eSPierrick Bouvier 
15a7a3ae9eSPierrick Bouvier #define PAS_OP(pfx)  \
16a7a3ae9eSPierrick Bouvier     DEF_HELPER_3(pfx ## add8, i32, i32, i32, ptr) \
17a7a3ae9eSPierrick Bouvier     DEF_HELPER_3(pfx ## sub8, i32, i32, i32, ptr) \
18a7a3ae9eSPierrick Bouvier     DEF_HELPER_3(pfx ## sub16, i32, i32, i32, ptr) \
19a7a3ae9eSPierrick Bouvier     DEF_HELPER_3(pfx ## add16, i32, i32, i32, ptr) \
20a7a3ae9eSPierrick Bouvier     DEF_HELPER_3(pfx ## addsubx, i32, i32, i32, ptr) \
21a7a3ae9eSPierrick Bouvier     DEF_HELPER_3(pfx ## subaddx, i32, i32, i32, ptr)
22a7a3ae9eSPierrick Bouvier 
23a7a3ae9eSPierrick Bouvier PAS_OP(s)
24a7a3ae9eSPierrick Bouvier PAS_OP(u)
25a7a3ae9eSPierrick Bouvier #undef PAS_OP
26a7a3ae9eSPierrick Bouvier 
27a7a3ae9eSPierrick Bouvier #define PAS_OP(pfx)  \
28a7a3ae9eSPierrick Bouvier     DEF_HELPER_2(pfx ## add8, i32, i32, i32) \
29a7a3ae9eSPierrick Bouvier     DEF_HELPER_2(pfx ## sub8, i32, i32, i32) \
30a7a3ae9eSPierrick Bouvier     DEF_HELPER_2(pfx ## sub16, i32, i32, i32) \
31a7a3ae9eSPierrick Bouvier     DEF_HELPER_2(pfx ## add16, i32, i32, i32) \
32a7a3ae9eSPierrick Bouvier     DEF_HELPER_2(pfx ## addsubx, i32, i32, i32) \
33a7a3ae9eSPierrick Bouvier     DEF_HELPER_2(pfx ## subaddx, i32, i32, i32)
34a7a3ae9eSPierrick Bouvier PAS_OP(q)
35a7a3ae9eSPierrick Bouvier PAS_OP(sh)
36a7a3ae9eSPierrick Bouvier PAS_OP(uq)
37a7a3ae9eSPierrick Bouvier PAS_OP(uh)
38a7a3ae9eSPierrick Bouvier #undef PAS_OP
39a7a3ae9eSPierrick Bouvier 
40a7a3ae9eSPierrick Bouvier DEF_HELPER_3(ssat, i32, env, i32, i32)
41a7a3ae9eSPierrick Bouvier DEF_HELPER_3(usat, i32, env, i32, i32)
42a7a3ae9eSPierrick Bouvier DEF_HELPER_3(ssat16, i32, env, i32, i32)
43a7a3ae9eSPierrick Bouvier DEF_HELPER_3(usat16, i32, env, i32, i32)
44a7a3ae9eSPierrick Bouvier 
45a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(usad8, TCG_CALL_NO_RWG_SE, i32, i32, i32)
46a7a3ae9eSPierrick Bouvier 
47a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(sel_flags, TCG_CALL_NO_RWG_SE,
48a7a3ae9eSPierrick Bouvier                    i32, i32, i32, i32)
49a7a3ae9eSPierrick Bouvier DEF_HELPER_2(exception_internal, noreturn, env, i32)
50a7a3ae9eSPierrick Bouvier DEF_HELPER_3(exception_with_syndrome, noreturn, env, i32, i32)
51a7a3ae9eSPierrick Bouvier DEF_HELPER_4(exception_with_syndrome_el, noreturn, env, i32, i32, i32)
52a7a3ae9eSPierrick Bouvier DEF_HELPER_2(exception_bkpt_insn, noreturn, env, i32)
53a7a3ae9eSPierrick Bouvier DEF_HELPER_2(exception_swstep, noreturn, env, i32)
54a7a3ae9eSPierrick Bouvier DEF_HELPER_2(exception_pc_alignment, noreturn, env, vaddr)
55a7a3ae9eSPierrick Bouvier DEF_HELPER_1(setend, void, env)
56a7a3ae9eSPierrick Bouvier DEF_HELPER_2(wfi, void, env, i32)
57a7a3ae9eSPierrick Bouvier DEF_HELPER_1(wfe, void, env)
58a7a3ae9eSPierrick Bouvier DEF_HELPER_2(wfit, void, env, i64)
59a7a3ae9eSPierrick Bouvier DEF_HELPER_1(yield, void, env)
60a7a3ae9eSPierrick Bouvier DEF_HELPER_1(pre_hvc, void, env)
61a7a3ae9eSPierrick Bouvier DEF_HELPER_2(pre_smc, void, env, i32)
62a7a3ae9eSPierrick Bouvier DEF_HELPER_1(vesb, void, env)
63a7a3ae9eSPierrick Bouvier 
64a7a3ae9eSPierrick Bouvier DEF_HELPER_3(cpsr_write, void, env, i32, i32)
65a7a3ae9eSPierrick Bouvier DEF_HELPER_2(cpsr_write_eret, void, env, i32)
66a7a3ae9eSPierrick Bouvier DEF_HELPER_1(cpsr_read, i32, env)
67a7a3ae9eSPierrick Bouvier 
68a7a3ae9eSPierrick Bouvier DEF_HELPER_3(v7m_msr, void, env, i32, i32)
69a7a3ae9eSPierrick Bouvier DEF_HELPER_2(v7m_mrs, i32, env, i32)
70a7a3ae9eSPierrick Bouvier 
71a7a3ae9eSPierrick Bouvier DEF_HELPER_2(v7m_bxns, void, env, i32)
72a7a3ae9eSPierrick Bouvier DEF_HELPER_2(v7m_blxns, void, env, i32)
73a7a3ae9eSPierrick Bouvier 
74a7a3ae9eSPierrick Bouvier DEF_HELPER_3(v7m_tt, i32, env, i32, i32)
75a7a3ae9eSPierrick Bouvier 
76a7a3ae9eSPierrick Bouvier DEF_HELPER_1(v7m_preserve_fp_state, void, env)
77a7a3ae9eSPierrick Bouvier 
78a7a3ae9eSPierrick Bouvier DEF_HELPER_2(v7m_vlstm, void, env, i32)
79a7a3ae9eSPierrick Bouvier DEF_HELPER_2(v7m_vlldm, void, env, i32)
80a7a3ae9eSPierrick Bouvier 
81a7a3ae9eSPierrick Bouvier DEF_HELPER_2(v8m_stackcheck, void, env, i32)
82a7a3ae9eSPierrick Bouvier 
83a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(check_bxj_trap, TCG_CALL_NO_WG, void, env, i32)
84a7a3ae9eSPierrick Bouvier 
85a7a3ae9eSPierrick Bouvier DEF_HELPER_4(access_check_cp_reg, cptr, env, i32, i32, i32)
86a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(lookup_cp_reg, TCG_CALL_NO_RWG_SE, cptr, env, i32)
87a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(tidcp_el0, TCG_CALL_NO_WG, void, env, i32)
88a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(tidcp_el1, TCG_CALL_NO_WG, void, env, i32)
89a7a3ae9eSPierrick Bouvier DEF_HELPER_3(set_cp_reg, void, env, cptr, i32)
90a7a3ae9eSPierrick Bouvier DEF_HELPER_2(get_cp_reg, i32, env, cptr)
91a7a3ae9eSPierrick Bouvier DEF_HELPER_3(set_cp_reg64, void, env, cptr, i64)
92a7a3ae9eSPierrick Bouvier DEF_HELPER_2(get_cp_reg64, i64, env, cptr)
93a7a3ae9eSPierrick Bouvier 
94a7a3ae9eSPierrick Bouvier DEF_HELPER_2(get_r13_banked, i32, env, i32)
95a7a3ae9eSPierrick Bouvier DEF_HELPER_3(set_r13_banked, void, env, i32, i32)
96a7a3ae9eSPierrick Bouvier 
97a7a3ae9eSPierrick Bouvier DEF_HELPER_3(mrs_banked, i32, env, i32, i32)
98a7a3ae9eSPierrick Bouvier DEF_HELPER_4(msr_banked, void, env, i32, i32, i32)
99a7a3ae9eSPierrick Bouvier 
100a7a3ae9eSPierrick Bouvier DEF_HELPER_2(get_user_reg, i32, env, i32)
101a7a3ae9eSPierrick Bouvier DEF_HELPER_3(set_user_reg, void, env, i32, i32)
102a7a3ae9eSPierrick Bouvier 
103a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_1(rebuild_hflags_m32_newel, TCG_CALL_NO_RWG, void, env)
104a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rebuild_hflags_m32, TCG_CALL_NO_RWG, void, env, int)
105a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_1(rebuild_hflags_a32_newel, TCG_CALL_NO_RWG, void, env)
106a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rebuild_hflags_a32, TCG_CALL_NO_RWG, void, env, int)
107a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rebuild_hflags_a64, TCG_CALL_NO_RWG, void, env, int)
108a7a3ae9eSPierrick Bouvier 
109a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(probe_access, TCG_CALL_NO_WG, void, env, vaddr, i32, i32, i32)
110a7a3ae9eSPierrick Bouvier 
111a7a3ae9eSPierrick Bouvier DEF_HELPER_1(vfp_get_fpscr, i32, env)
112a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_set_fpscr, void, env, i32)
113a7a3ae9eSPierrick Bouvier 
114a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_addh, f16, f16, f16, fpst)
115a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_adds, f32, f32, f32, fpst)
116a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_addd, f64, f64, f64, fpst)
117a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_subh, f16, f16, f16, fpst)
118a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_subs, f32, f32, f32, fpst)
119a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_subd, f64, f64, f64, fpst)
120a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_mulh, f16, f16, f16, fpst)
121a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_muls, f32, f32, f32, fpst)
122a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_muld, f64, f64, f64, fpst)
123a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_divh, f16, f16, f16, fpst)
124a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_divs, f32, f32, f32, fpst)
125a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_divd, f64, f64, f64, fpst)
126a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_maxh, f16, f16, f16, fpst)
127a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_maxs, f32, f32, f32, fpst)
128a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_maxd, f64, f64, f64, fpst)
129a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_minh, f16, f16, f16, fpst)
130a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_mins, f32, f32, f32, fpst)
131a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_mind, f64, f64, f64, fpst)
132a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_maxnumh, f16, f16, f16, fpst)
133a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_maxnums, f32, f32, f32, fpst)
134a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_maxnumd, f64, f64, f64, fpst)
135a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_minnumh, f16, f16, f16, fpst)
136a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_minnums, f32, f32, f32, fpst)
137a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_minnumd, f64, f64, f64, fpst)
138a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_sqrth, f16, f16, fpst)
139a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_sqrts, f32, f32, fpst)
140a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_sqrtd, f64, f64, fpst)
141a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_cmph, void, f16, f16, env)
142a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_cmps, void, f32, f32, env)
143a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_cmpd, void, f64, f64, env)
144a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_cmpeh, void, f16, f16, env)
145a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_cmpes, void, f32, f32, env)
146a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_cmped, void, f64, f64, env)
147a7a3ae9eSPierrick Bouvier 
148a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_fcvtds, f64, f32, fpst)
149a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_fcvtsd, f32, f64, fpst)
150a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(bfcvt, TCG_CALL_NO_RWG, i32, f32, fpst)
151a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(bfcvt_pair, TCG_CALL_NO_RWG, i32, i64, fpst)
152a7a3ae9eSPierrick Bouvier 
153a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_uitoh, f16, i32, fpst)
154a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_uitos, f32, i32, fpst)
155a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_uitod, f64, i32, fpst)
156a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_sitoh, f16, i32, fpst)
157a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_sitos, f32, i32, fpst)
158a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_sitod, f64, i32, fpst)
159a7a3ae9eSPierrick Bouvier 
160a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_touih, i32, f16, fpst)
161a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_touis, i32, f32, fpst)
162a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_touid, i32, f64, fpst)
163a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_touizh, i32, f16, fpst)
164a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_touizs, i32, f32, fpst)
165a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_touizd, i32, f64, fpst)
166a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_tosih, s32, f16, fpst)
167a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_tosis, s32, f32, fpst)
168a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_tosid, s32, f64, fpst)
169a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_tosizh, s32, f16, fpst)
170a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_tosizs, s32, f32, fpst)
171a7a3ae9eSPierrick Bouvier DEF_HELPER_2(vfp_tosizd, s32, f64, fpst)
172a7a3ae9eSPierrick Bouvier 
173a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_toshh_round_to_zero, i32, f16, i32, fpst)
174a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_toslh_round_to_zero, i32, f16, i32, fpst)
175a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_touhh_round_to_zero, i32, f16, i32, fpst)
176a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_toulh_round_to_zero, i32, f16, i32, fpst)
177a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_toshs_round_to_zero, i32, f32, i32, fpst)
178a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_tosls_round_to_zero, i32, f32, i32, fpst)
179a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_touhs_round_to_zero, i32, f32, i32, fpst)
180a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_touls_round_to_zero, i32, f32, i32, fpst)
181a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_toshd_round_to_zero, i64, f64, i32, fpst)
182a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_tosld_round_to_zero, i64, f64, i32, fpst)
183a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_tosqd_round_to_zero, i64, f64, i32, fpst)
184a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_touhd_round_to_zero, i64, f64, i32, fpst)
185a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_tould_round_to_zero, i64, f64, i32, fpst)
186a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_touqd_round_to_zero, i64, f64, i32, fpst)
187a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_touhh, i32, f16, i32, fpst)
188a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_toshh, i32, f16, i32, fpst)
189a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_toulh, i32, f16, i32, fpst)
190a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_toslh, i32, f16, i32, fpst)
191a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_touqh, i64, f16, i32, fpst)
192a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_tosqh, i64, f16, i32, fpst)
193a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_toshs, i32, f32, i32, fpst)
194a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_tosls, i32, f32, i32, fpst)
195a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_tosqs, i64, f32, i32, fpst)
196a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_touhs, i32, f32, i32, fpst)
197a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_touls, i32, f32, i32, fpst)
198a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_touqs, i64, f32, i32, fpst)
199a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_toshd, i64, f64, i32, fpst)
200a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_tosld, i64, f64, i32, fpst)
201a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_tosqd, i64, f64, i32, fpst)
202a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_touhd, i64, f64, i32, fpst)
203a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_tould, i64, f64, i32, fpst)
204a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_touqd, i64, f64, i32, fpst)
205a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_shtos, f32, i32, i32, fpst)
206a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_sltos, f32, i32, i32, fpst)
207a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_sqtos, f32, i64, i32, fpst)
208a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_uhtos, f32, i32, i32, fpst)
209a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_ultos, f32, i32, i32, fpst)
210a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_uqtos, f32, i64, i32, fpst)
211a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_shtod, f64, i64, i32, fpst)
212a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_sltod, f64, i64, i32, fpst)
213a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_sqtod, f64, i64, i32, fpst)
214a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_uhtod, f64, i64, i32, fpst)
215a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_ultod, f64, i64, i32, fpst)
216a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_uqtod, f64, i64, i32, fpst)
217a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_shtoh, f16, i32, i32, fpst)
218a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_uhtoh, f16, i32, i32, fpst)
219a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_sltoh, f16, i32, i32, fpst)
220a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_ultoh, f16, i32, i32, fpst)
221a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_sqtoh, f16, i64, i32, fpst)
222a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_uqtoh, f16, i64, i32, fpst)
223a7a3ae9eSPierrick Bouvier 
224a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_shtos_round_to_nearest, f32, i32, i32, fpst)
225a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_sltos_round_to_nearest, f32, i32, i32, fpst)
226a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_uhtos_round_to_nearest, f32, i32, i32, fpst)
227a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_ultos_round_to_nearest, f32, i32, i32, fpst)
228a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_shtod_round_to_nearest, f64, i64, i32, fpst)
229a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_sltod_round_to_nearest, f64, i64, i32, fpst)
230a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_uhtod_round_to_nearest, f64, i64, i32, fpst)
231a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_ultod_round_to_nearest, f64, i64, i32, fpst)
232a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_shtoh_round_to_nearest, f16, i32, i32, fpst)
233a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_uhtoh_round_to_nearest, f16, i32, i32, fpst)
234a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_sltoh_round_to_nearest, f16, i32, i32, fpst)
235a7a3ae9eSPierrick Bouvier DEF_HELPER_3(vfp_ultoh_round_to_nearest, f16, i32, i32, fpst)
236a7a3ae9eSPierrick Bouvier 
237a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(set_rmode, TCG_CALL_NO_RWG, i32, i32, fpst)
238a7a3ae9eSPierrick Bouvier 
239a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(vfp_fcvt_f16_to_f32, TCG_CALL_NO_RWG, f32, f16, fpst, i32)
240a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(vfp_fcvt_f32_to_f16, TCG_CALL_NO_RWG, f16, f32, fpst, i32)
241a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(vfp_fcvt_f16_to_f64, TCG_CALL_NO_RWG, f64, f16, fpst, i32)
242a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(vfp_fcvt_f64_to_f16, TCG_CALL_NO_RWG, f16, f64, fpst, i32)
243a7a3ae9eSPierrick Bouvier 
244a7a3ae9eSPierrick Bouvier DEF_HELPER_4(vfp_muladdd, f64, f64, f64, f64, fpst)
245a7a3ae9eSPierrick Bouvier DEF_HELPER_4(vfp_muladds, f32, f32, f32, f32, fpst)
246a7a3ae9eSPierrick Bouvier DEF_HELPER_4(vfp_muladdh, f16, f16, f16, f16, fpst)
247a7a3ae9eSPierrick Bouvier 
248a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(recpe_f16, TCG_CALL_NO_RWG, f16, f16, fpst)
249a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(recpe_f32, TCG_CALL_NO_RWG, f32, f32, fpst)
250a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(recpe_rpres_f32, TCG_CALL_NO_RWG, f32, f32, fpst)
251a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(recpe_f64, TCG_CALL_NO_RWG, f64, f64, fpst)
252a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rsqrte_f16, TCG_CALL_NO_RWG, f16, f16, fpst)
253a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rsqrte_f32, TCG_CALL_NO_RWG, f32, f32, fpst)
254a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rsqrte_rpres_f32, TCG_CALL_NO_RWG, f32, f32, fpst)
255a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rsqrte_f64, TCG_CALL_NO_RWG, f64, f64, fpst)
256a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_1(recpe_u32, TCG_CALL_NO_RWG, i32, i32)
257a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_1(rsqrte_u32, TCG_CALL_NO_RWG, i32, i32)
258a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_tbl, TCG_CALL_NO_RWG, i64, env, i32, i64, i64)
259a7a3ae9eSPierrick Bouvier 
260a7a3ae9eSPierrick Bouvier DEF_HELPER_3(shl_cc, i32, env, i32, i32)
261a7a3ae9eSPierrick Bouvier DEF_HELPER_3(shr_cc, i32, env, i32, i32)
262a7a3ae9eSPierrick Bouvier DEF_HELPER_3(sar_cc, i32, env, i32, i32)
263a7a3ae9eSPierrick Bouvier DEF_HELPER_3(ror_cc, i32, env, i32, i32)
264a7a3ae9eSPierrick Bouvier 
265a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rinth_exact, TCG_CALL_NO_RWG, f16, f16, fpst)
266a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rints_exact, TCG_CALL_NO_RWG, f32, f32, fpst)
267a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rintd_exact, TCG_CALL_NO_RWG, f64, f64, fpst)
268a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rinth, TCG_CALL_NO_RWG, f16, f16, fpst)
269a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rints, TCG_CALL_NO_RWG, f32, f32, fpst)
270a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(rintd, TCG_CALL_NO_RWG, f64, f64, fpst)
271a7a3ae9eSPierrick Bouvier 
272a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(vjcvt, TCG_CALL_NO_RWG, i32, f64, env)
273a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(fjcvtzs, TCG_CALL_NO_RWG, i64, f64, fpst)
274a7a3ae9eSPierrick Bouvier 
275a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(check_hcr_el2_trap, TCG_CALL_NO_WG, void, env, i32, i32)
276a7a3ae9eSPierrick Bouvier 
277a7a3ae9eSPierrick Bouvier /* neon_helper.c */
278a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_pmin_u8, i32, i32, i32)
279a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_pmin_s8, i32, i32, i32)
280a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_pmin_u16, i32, i32, i32)
281a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_pmin_s16, i32, i32, i32)
282a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_pmax_u8, i32, i32, i32)
283a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_pmax_s8, i32, i32, i32)
284a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_pmax_u16, i32, i32, i32)
285a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_pmax_s16, i32, i32, i32)
286a7a3ae9eSPierrick Bouvier 
287a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_shl_u16, i32, i32, i32)
288a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_shl_s16, i32, i32, i32)
289a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_rshl_u8, i32, i32, i32)
290a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_rshl_s8, i32, i32, i32)
291a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_rshl_u16, i32, i32, i32)
292a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_rshl_s16, i32, i32, i32)
293a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_rshl_u32, i32, i32, i32)
294a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_rshl_s32, i32, i32, i32)
295a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_rshl_u64, i64, i64, i64)
296a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_rshl_s64, i64, i64, i64)
297a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qshl_u8, i32, env, i32, i32)
298a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qshl_s8, i32, env, i32, i32)
299a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qshl_u16, i32, env, i32, i32)
300a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qshl_s16, i32, env, i32, i32)
301a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qshl_u32, i32, env, i32, i32)
302a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qshl_s32, i32, env, i32, i32)
303a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qshl_u64, i64, env, i64, i64)
304a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qshl_s64, i64, env, i64, i64)
305a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qshlu_s8, i32, env, i32, i32)
306a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qshlu_s16, i32, env, i32, i32)
307a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qshlu_s32, i32, env, i32, i32)
308a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qshlu_s64, i64, env, i64, i64)
309a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qrshl_u8, i32, env, i32, i32)
310a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qrshl_s8, i32, env, i32, i32)
311a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qrshl_u16, i32, env, i32, i32)
312a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qrshl_s16, i32, env, i32, i32)
313a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qrshl_u32, i32, env, i32, i32)
314a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qrshl_s32, i32, env, i32, i32)
315a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qrshl_u64, i64, env, i64, i64)
316a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qrshl_s64, i64, env, i64, i64)
317a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqshl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
318a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqshl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
319a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqshl_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
320a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqshl_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
321a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_uqshl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
322a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_uqshl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
323a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_uqshl_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
324a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_uqshl_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
325a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqrshl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
326a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqrshl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
327a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqrshl_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
328a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqrshl_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
329a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_uqrshl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
330a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_uqrshl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
331a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_uqrshl_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
332a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_uqrshl_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, env, i32)
333a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_sqshli_b, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
334a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_sqshli_h, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
335a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_sqshli_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
336a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_sqshli_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
337a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_uqshli_b, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
338a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_uqshli_h, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
339a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_uqshli_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
340a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_uqshli_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
341a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_sqshlui_b, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
342a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_sqshlui_h, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
343a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_sqshlui_s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
344a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_sqshlui_d, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
345a7a3ae9eSPierrick Bouvier 
346a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_srshl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
347a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_srshl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
348a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_srshl_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
349a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_srshl_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
350a7a3ae9eSPierrick Bouvier 
351a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_urshl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
352a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_urshl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
353a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_urshl_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
354a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_urshl_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
355a7a3ae9eSPierrick Bouvier 
356bc65d2bdSRichard Henderson DEF_HELPER_FLAGS_4(sme2_srshl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
357bc65d2bdSRichard Henderson DEF_HELPER_FLAGS_4(sme2_srshl_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
358bc65d2bdSRichard Henderson DEF_HELPER_FLAGS_4(sme2_srshl_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
359bc65d2bdSRichard Henderson 
360bc65d2bdSRichard Henderson DEF_HELPER_FLAGS_4(sme2_urshl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
361bc65d2bdSRichard Henderson DEF_HELPER_FLAGS_4(sme2_urshl_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
362bc65d2bdSRichard Henderson DEF_HELPER_FLAGS_4(sme2_urshl_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
363bc65d2bdSRichard Henderson 
364a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_add_u8, i32, i32, i32)
365a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_add_u16, i32, i32, i32)
366a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_sub_u8, i32, i32, i32)
367a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_sub_u16, i32, i32, i32)
368a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_mul_u8, i32, i32, i32)
369a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_mul_u16, i32, i32, i32)
370a7a3ae9eSPierrick Bouvier 
371a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_tst_u8, i32, i32, i32)
372a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_tst_u16, i32, i32, i32)
373a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_tst_u32, i32, i32, i32)
374a7a3ae9eSPierrick Bouvier 
375a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_clz_u8, i32, i32)
376a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_clz_u16, i32, i32)
377a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_cls_s8, i32, i32)
378a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_cls_s16, i32, i32)
379a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_cls_s32, i32, i32)
380a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_cnt_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
381a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_rbit_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
382a7a3ae9eSPierrick Bouvier 
383a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qdmulh_s16, i32, env, i32, i32)
384a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qrdmulh_s16, i32, env, i32, i32)
385a7a3ae9eSPierrick Bouvier DEF_HELPER_4(neon_qrdmlah_s16, i32, env, i32, i32, i32)
386a7a3ae9eSPierrick Bouvier DEF_HELPER_4(neon_qrdmlsh_s16, i32, env, i32, i32, i32)
387a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qdmulh_s32, i32, env, i32, i32)
388a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_qrdmulh_s32, i32, env, i32, i32)
389a7a3ae9eSPierrick Bouvier DEF_HELPER_4(neon_qrdmlah_s32, i32, env, s32, s32, s32)
390a7a3ae9eSPierrick Bouvier DEF_HELPER_4(neon_qrdmlsh_s32, i32, env, s32, s32, s32)
391a7a3ae9eSPierrick Bouvier 
392a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_narrow_u8, i64, i64)
393a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_narrow_u16, i64, i64)
394a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_unarrow_sat8, i64, env, i64)
395a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_narrow_sat_u8, i64, env, i64)
396a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_narrow_sat_s8, i64, env, i64)
397a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_unarrow_sat16, i64, env, i64)
398a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_narrow_sat_u16, i64, env, i64)
399a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_narrow_sat_s16, i64, env, i64)
400a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_unarrow_sat32, i64, env, i64)
401a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_narrow_sat_u32, i64, env, i64)
402a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_narrow_sat_s32, i64, env, i64)
403a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_narrow_high_u8, i32, i64)
404a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_narrow_high_u16, i32, i64)
405a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_narrow_round_high_u8, i32, i64)
406a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_narrow_round_high_u16, i32, i64)
407a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_widen_u8, i64, i32)
408a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_widen_s8, i64, i32)
409a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_widen_u16, i64, i32)
410a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_widen_s16, i64, i32)
411a7a3ae9eSPierrick Bouvier 
412a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_1(neon_addlp_s8, TCG_CALL_NO_RWG_SE, i64, i64)
413a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_1(neon_addlp_s16, TCG_CALL_NO_RWG_SE, i64, i64)
414a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_addl_saturate_s32, i64, env, i64, i64)
415a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_addl_saturate_s64, i64, env, i64, i64)
416a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_abdl_u16, i64, i32, i32)
417a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_abdl_s16, i64, i32, i32)
418a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_abdl_u32, i64, i32, i32)
419a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_abdl_s32, i64, i32, i32)
420a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_abdl_u64, i64, i32, i32)
421a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_abdl_s64, i64, i32, i32)
422a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_mull_u8, i64, i32, i32)
423a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_mull_s8, i64, i32, i32)
424a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_mull_u16, i64, i32, i32)
425a7a3ae9eSPierrick Bouvier DEF_HELPER_2(neon_mull_s16, i64, i32, i32)
426a7a3ae9eSPierrick Bouvier 
427a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_negl_u16, i64, i64)
428a7a3ae9eSPierrick Bouvier DEF_HELPER_1(neon_negl_u32, i64, i64)
429a7a3ae9eSPierrick Bouvier 
430a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qabs_s8, TCG_CALL_NO_RWG, i32, env, i32)
431a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qabs_s16, TCG_CALL_NO_RWG, i32, env, i32)
432a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qabs_s32, TCG_CALL_NO_RWG, i32, env, i32)
433a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qabs_s64, TCG_CALL_NO_RWG, i64, env, i64)
434a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qneg_s8, TCG_CALL_NO_RWG, i32, env, i32)
435a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qneg_s16, TCG_CALL_NO_RWG, i32, env, i32)
436a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qneg_s32, TCG_CALL_NO_RWG, i32, env, i32)
437a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qneg_s64, TCG_CALL_NO_RWG, i64, env, i64)
438a7a3ae9eSPierrick Bouvier 
439a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_ceq_f32, i32, i32, i32, fpst)
440a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_cge_f32, i32, i32, i32, fpst)
441a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_cgt_f32, i32, i32, i32, fpst)
442a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_acge_f32, i32, i32, i32, fpst)
443a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_acgt_f32, i32, i32, i32, fpst)
444a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_acge_f64, i64, i64, i64, fpst)
445a7a3ae9eSPierrick Bouvier DEF_HELPER_3(neon_acgt_f64, i64, i64, i64, fpst)
446a7a3ae9eSPierrick Bouvier 
447a7a3ae9eSPierrick Bouvier /* iwmmxt_helper.c */
448a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_maddsq, i64, i64, i64)
449a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_madduq, i64, i64, i64)
450a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_sadb, i64, i64, i64)
451a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_sadw, i64, i64, i64)
452a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_mulslw, i64, i64, i64)
453a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_mulshw, i64, i64, i64)
454a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_mululw, i64, i64, i64)
455a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_muluhw, i64, i64, i64)
456a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_macsw, i64, i64, i64)
457a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_macuw, i64, i64, i64)
458a7a3ae9eSPierrick Bouvier DEF_HELPER_1(iwmmxt_setpsr_nz, i32, i64)
459a7a3ae9eSPierrick Bouvier 
460a7a3ae9eSPierrick Bouvier #define DEF_IWMMXT_HELPER_SIZE_ENV(name) \
461a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_##name##b, i64, env, i64, i64) \
462a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_##name##w, i64, env, i64, i64) \
463a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_##name##l, i64, env, i64, i64) \
464a7a3ae9eSPierrick Bouvier 
465a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(unpackl)
466a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(unpackh)
467a7a3ae9eSPierrick Bouvier 
468a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_unpacklub, i64, env, i64)
469a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_unpackluw, i64, env, i64)
470a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_unpacklul, i64, env, i64)
471a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_unpackhub, i64, env, i64)
472a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_unpackhuw, i64, env, i64)
473a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_unpackhul, i64, env, i64)
474a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_unpacklsb, i64, env, i64)
475a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_unpacklsw, i64, env, i64)
476a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_unpacklsl, i64, env, i64)
477a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_unpackhsb, i64, env, i64)
478a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_unpackhsw, i64, env, i64)
479a7a3ae9eSPierrick Bouvier DEF_HELPER_2(iwmmxt_unpackhsl, i64, env, i64)
480a7a3ae9eSPierrick Bouvier 
481a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(cmpeq)
482a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(cmpgtu)
483a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(cmpgts)
484a7a3ae9eSPierrick Bouvier 
485a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(mins)
486a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(minu)
487a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(maxs)
488a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(maxu)
489a7a3ae9eSPierrick Bouvier 
490a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(subn)
491a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(addn)
492a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(subu)
493a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(addu)
494a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(subs)
495a7a3ae9eSPierrick Bouvier DEF_IWMMXT_HELPER_SIZE_ENV(adds)
496a7a3ae9eSPierrick Bouvier 
497a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_avgb0, i64, env, i64, i64)
498a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_avgb1, i64, env, i64, i64)
499a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_avgw0, i64, env, i64, i64)
500a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_avgw1, i64, env, i64, i64)
501a7a3ae9eSPierrick Bouvier 
502a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_align, i64, i64, i64, i32)
503a7a3ae9eSPierrick Bouvier DEF_HELPER_4(iwmmxt_insr, i64, i64, i32, i32, i32)
504a7a3ae9eSPierrick Bouvier 
505a7a3ae9eSPierrick Bouvier DEF_HELPER_1(iwmmxt_bcstb, i64, i32)
506a7a3ae9eSPierrick Bouvier DEF_HELPER_1(iwmmxt_bcstw, i64, i32)
507a7a3ae9eSPierrick Bouvier DEF_HELPER_1(iwmmxt_bcstl, i64, i32)
508a7a3ae9eSPierrick Bouvier 
509a7a3ae9eSPierrick Bouvier DEF_HELPER_1(iwmmxt_addcb, i64, i64)
510a7a3ae9eSPierrick Bouvier DEF_HELPER_1(iwmmxt_addcw, i64, i64)
511a7a3ae9eSPierrick Bouvier DEF_HELPER_1(iwmmxt_addcl, i64, i64)
512a7a3ae9eSPierrick Bouvier 
513a7a3ae9eSPierrick Bouvier DEF_HELPER_1(iwmmxt_msbb, i32, i64)
514a7a3ae9eSPierrick Bouvier DEF_HELPER_1(iwmmxt_msbw, i32, i64)
515a7a3ae9eSPierrick Bouvier DEF_HELPER_1(iwmmxt_msbl, i32, i64)
516a7a3ae9eSPierrick Bouvier 
517a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_srlw, i64, env, i64, i32)
518a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_srll, i64, env, i64, i32)
519a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_srlq, i64, env, i64, i32)
520a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_sllw, i64, env, i64, i32)
521a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_slll, i64, env, i64, i32)
522a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_sllq, i64, env, i64, i32)
523a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_sraw, i64, env, i64, i32)
524a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_sral, i64, env, i64, i32)
525a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_sraq, i64, env, i64, i32)
526a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_rorw, i64, env, i64, i32)
527a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_rorl, i64, env, i64, i32)
528a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_rorq, i64, env, i64, i32)
529a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_shufh, i64, env, i64, i32)
530a7a3ae9eSPierrick Bouvier 
531a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_packuw, i64, env, i64, i64)
532a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_packul, i64, env, i64, i64)
533a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_packuq, i64, env, i64, i64)
534a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_packsw, i64, env, i64, i64)
535a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_packsl, i64, env, i64, i64)
536a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_packsq, i64, env, i64, i64)
537a7a3ae9eSPierrick Bouvier 
538a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_muladdsl, i64, i64, i32, i32)
539a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_muladdsw, i64, i64, i32, i32)
540a7a3ae9eSPierrick Bouvier DEF_HELPER_3(iwmmxt_muladdswl, i64, i64, i32, i32)
541a7a3ae9eSPierrick Bouvier 
542a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_unzip8, TCG_CALL_NO_RWG, void, ptr, ptr)
543a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_unzip16, TCG_CALL_NO_RWG, void, ptr, ptr)
544a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qunzip8, TCG_CALL_NO_RWG, void, ptr, ptr)
545a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qunzip16, TCG_CALL_NO_RWG, void, ptr, ptr)
546a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qunzip32, TCG_CALL_NO_RWG, void, ptr, ptr)
547a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_zip8, TCG_CALL_NO_RWG, void, ptr, ptr)
548a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_zip16, TCG_CALL_NO_RWG, void, ptr, ptr)
549a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qzip8, TCG_CALL_NO_RWG, void, ptr, ptr)
550a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qzip16, TCG_CALL_NO_RWG, void, ptr, ptr)
551a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(neon_qzip32, TCG_CALL_NO_RWG, void, ptr, ptr)
552a7a3ae9eSPierrick Bouvier 
553a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_aese, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
554a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_aesd, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
555a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(crypto_aesmc, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
556a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(crypto_aesimc, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
557a7a3ae9eSPierrick Bouvier 
558a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sha1su0, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
559a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sha1c, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
560a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sha1p, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
561a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sha1m, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
562a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(crypto_sha1h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
563a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(crypto_sha1su1, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
564a7a3ae9eSPierrick Bouvier 
565a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sha256h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
566a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sha256h2, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
567a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(crypto_sha256su0, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
568a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sha256su1, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
569a7a3ae9eSPierrick Bouvier 
570a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sha512h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
571a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sha512h2, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
572a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(crypto_sha512su0, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
573a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sha512su1, TCG_CALL_NO_RWG,
574a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, i32)
575a7a3ae9eSPierrick Bouvier 
576a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sm3tt1a, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
577a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sm3tt1b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
578a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sm3tt2a, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
579a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sm3tt2b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
580a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sm3partw1, TCG_CALL_NO_RWG,
581a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, i32)
582a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sm3partw2, TCG_CALL_NO_RWG,
583a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, i32)
584a7a3ae9eSPierrick Bouvier 
585a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sm4e, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
586a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_sm4ekey, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
587a7a3ae9eSPierrick Bouvier 
588a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(crypto_rax1, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
589a7a3ae9eSPierrick Bouvier 
590a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(crc32, TCG_CALL_NO_RWG_SE, i32, i32, i32, i32)
591a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(crc32c, TCG_CALL_NO_RWG_SE, i32, i32, i32, i32)
592a7a3ae9eSPierrick Bouvier 
593a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_qrdmlah_s16, TCG_CALL_NO_RWG,
594a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
595a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_qrdmlsh_s16, TCG_CALL_NO_RWG,
596a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
597a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_qrdmlah_s32, TCG_CALL_NO_RWG,
598a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
599a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_qrdmlsh_s32, TCG_CALL_NO_RWG,
600a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
601a7a3ae9eSPierrick Bouvier 
602a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(sve2_sqrdmlah_b, TCG_CALL_NO_RWG,
603a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
604a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(sve2_sqrdmlsh_b, TCG_CALL_NO_RWG,
605a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
606a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(sve2_sqrdmlah_h, TCG_CALL_NO_RWG,
607a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
608a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(sve2_sqrdmlsh_h, TCG_CALL_NO_RWG,
609a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
610a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(sve2_sqrdmlah_s, TCG_CALL_NO_RWG,
611a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
612a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(sve2_sqrdmlsh_s, TCG_CALL_NO_RWG,
613a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
614a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(sve2_sqrdmlah_d, TCG_CALL_NO_RWG,
615a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
616a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(sve2_sqrdmlsh_d, TCG_CALL_NO_RWG,
617a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
618a7a3ae9eSPierrick Bouvier 
619f7186b42SRichard Henderson DEF_HELPER_FLAGS_5(gvec_sdot_4b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
620f7186b42SRichard Henderson DEF_HELPER_FLAGS_5(gvec_udot_4b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
621f7186b42SRichard Henderson DEF_HELPER_FLAGS_5(gvec_sdot_4h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
622f7186b42SRichard Henderson DEF_HELPER_FLAGS_5(gvec_udot_4h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
623f7186b42SRichard Henderson DEF_HELPER_FLAGS_5(gvec_usdot_4b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
624a7a3ae9eSPierrick Bouvier 
6259fce675aSRichard Henderson DEF_HELPER_FLAGS_5(gvec_sdot_2h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
6269fce675aSRichard Henderson DEF_HELPER_FLAGS_5(gvec_udot_2h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, ptr, i32)
6279fce675aSRichard Henderson 
628f7186b42SRichard Henderson DEF_HELPER_FLAGS_5(gvec_sdot_idx_4b, TCG_CALL_NO_RWG,
629a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
630f7186b42SRichard Henderson DEF_HELPER_FLAGS_5(gvec_udot_idx_4b, TCG_CALL_NO_RWG,
631a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
632f7186b42SRichard Henderson DEF_HELPER_FLAGS_5(gvec_sdot_idx_4h, TCG_CALL_NO_RWG,
633a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
634f7186b42SRichard Henderson DEF_HELPER_FLAGS_5(gvec_udot_idx_4h, TCG_CALL_NO_RWG,
635a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
636f7186b42SRichard Henderson DEF_HELPER_FLAGS_5(gvec_sudot_idx_4b, TCG_CALL_NO_RWG,
637a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
638f7186b42SRichard Henderson DEF_HELPER_FLAGS_5(gvec_usdot_idx_4b, TCG_CALL_NO_RWG,
639a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
640a7a3ae9eSPierrick Bouvier 
6419fce675aSRichard Henderson DEF_HELPER_FLAGS_5(gvec_sdot_idx_2h, TCG_CALL_NO_RWG,
6429fce675aSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
6439fce675aSRichard Henderson DEF_HELPER_FLAGS_5(gvec_udot_idx_2h, TCG_CALL_NO_RWG,
6449fce675aSRichard Henderson                    void, ptr, ptr, ptr, ptr, i32)
6459fce675aSRichard Henderson 
646a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fcaddh, TCG_CALL_NO_RWG,
647a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
648a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fcadds, TCG_CALL_NO_RWG,
649a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
650a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fcaddd, TCG_CALL_NO_RWG,
651a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
652a7a3ae9eSPierrick Bouvier 
653a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_fcmlah, TCG_CALL_NO_RWG,
654a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
655a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_fcmlah_idx, TCG_CALL_NO_RWG,
656a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
657a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_fcmlas, TCG_CALL_NO_RWG,
658a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
659a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_fcmlas_idx, TCG_CALL_NO_RWG,
660a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
661a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_fcmlad, TCG_CALL_NO_RWG,
662a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
663a7a3ae9eSPierrick Bouvier 
664a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_sstoh, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
665a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_sitos, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
666a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_ustoh, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
667a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_uitos, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
668a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_tosszh, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
669a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_tosizs, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
670a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_touszh, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
671a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_touizs, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
672a7a3ae9eSPierrick Bouvier 
673a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_sf, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
674a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_uf, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
675a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_rz_fs, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
676a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_rz_fu, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
677a7a3ae9eSPierrick Bouvier 
678a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_sh, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
679a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_uh, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
680a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_rz_hs, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
681a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_rz_hu, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
682a7a3ae9eSPierrick Bouvier 
683a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_sd, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
684a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_ud, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
685a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_rz_ds, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
686a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_rz_du, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
687a7a3ae9eSPierrick Bouvier 
688a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_rm_sd, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
689a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_rm_ud, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
690a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_rm_ss, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
691a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_rm_us, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
692a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_rm_sh, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
693a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vcvt_rm_uh, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
694a7a3ae9eSPierrick Bouvier 
695a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vrint_rm_h, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
696a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vrint_rm_s, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
697a7a3ae9eSPierrick Bouvier 
698a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vrintx_h, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
699a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_vrintx_s, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
700a7a3ae9eSPierrick Bouvier 
701a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_frecpe_h, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
702a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_frecpe_s, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
703a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_frecpe_rpres_s, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
704a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_frecpe_d, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
705a7a3ae9eSPierrick Bouvier 
706a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_frsqrte_h, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
707a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_frsqrte_s, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
708a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_frsqrte_rpres_s, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
709a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_frsqrte_d, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
710a7a3ae9eSPierrick Bouvier 
711a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fcgt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
712a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fcgt0_s, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
713a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fcgt0_d, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
714a7a3ae9eSPierrick Bouvier 
715a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fcge0_h, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
716a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fcge0_s, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
717a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fcge0_d, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
718a7a3ae9eSPierrick Bouvier 
719a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fceq0_h, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
720a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fceq0_s, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
721a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fceq0_d, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
722a7a3ae9eSPierrick Bouvier 
723a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fcle0_h, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
724a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fcle0_s, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
725a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fcle0_d, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
726a7a3ae9eSPierrick Bouvier 
727a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fclt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
728a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fclt0_s, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
729a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_fclt0_d, TCG_CALL_NO_RWG, void, ptr, ptr, fpst, i32)
730a7a3ae9eSPierrick Bouvier 
7312b5a9bbbSPeter Maydell DEF_HELPER_FLAGS_5(gvec_fadd_b16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
732a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fadd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
733a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fadd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
734a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fadd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
735c4f514e2SRichard Henderson DEF_HELPER_FLAGS_5(gvec_bfadd, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
736a7a3ae9eSPierrick Bouvier 
7372b5a9bbbSPeter Maydell DEF_HELPER_FLAGS_5(gvec_fsub_b16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
738a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fsub_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
739a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fsub_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
740a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fsub_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
741c4f514e2SRichard Henderson DEF_HELPER_FLAGS_5(gvec_bfsub, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
742a7a3ae9eSPierrick Bouvier 
7432b5a9bbbSPeter Maydell DEF_HELPER_FLAGS_5(gvec_fmul_b16, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
744a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmul_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
745a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmul_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
746a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmul_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
747a7a3ae9eSPierrick Bouvier 
748a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fabd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
749a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
750a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fabd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
751a7a3ae9eSPierrick Bouvier 
752a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_ah_fabd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
753a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_ah_fabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
754a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_ah_fabd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
755a7a3ae9eSPierrick Bouvier 
756a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fceq_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
757a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fceq_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
758a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fceq_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
759a7a3ae9eSPierrick Bouvier 
760a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fcge_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
761a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fcge_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
762a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fcge_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
763a7a3ae9eSPierrick Bouvier 
764a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fcgt_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
765a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fcgt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
766a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fcgt_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
767a7a3ae9eSPierrick Bouvier 
768a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_facge_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
769a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_facge_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
770a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_facge_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
771a7a3ae9eSPierrick Bouvier 
772a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_facgt_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
773a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_facgt_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
774a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_facgt_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
775a7a3ae9eSPierrick Bouvier 
776a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmax_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
777a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmax_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
778a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmax_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
779a7a3ae9eSPierrick Bouvier 
780a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmin_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
781a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmin_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
782a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmin_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
783a7a3ae9eSPierrick Bouvier 
784a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmaxnum_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
785a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmaxnum_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
786a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmaxnum_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
787a7a3ae9eSPierrick Bouvier 
788a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fminnum_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
789a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fminnum_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
790a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fminnum_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
791a7a3ae9eSPierrick Bouvier 
792a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_recps_nf_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
793a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_recps_nf_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
794a7a3ae9eSPierrick Bouvier 
795a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_rsqrts_nf_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
796a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_rsqrts_nf_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
797a7a3ae9eSPierrick Bouvier 
798e0646fc9SRichard Henderson DEF_HELPER_FLAGS_5(gvec_fmla_nf_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
799e0646fc9SRichard Henderson DEF_HELPER_FLAGS_5(gvec_fmla_nf_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
800a7a3ae9eSPierrick Bouvier 
801e0646fc9SRichard Henderson DEF_HELPER_FLAGS_5(gvec_fmls_nf_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
802e0646fc9SRichard Henderson DEF_HELPER_FLAGS_5(gvec_fmls_nf_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
803a7a3ae9eSPierrick Bouvier 
804a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_vfma_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
805a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_vfma_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
806a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_vfma_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
80757ef0081SRichard Henderson DEF_HELPER_FLAGS_5(gvec_bfmla, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
808a7a3ae9eSPierrick Bouvier 
809a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_vfms_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
810a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_vfms_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
811a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_vfms_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
81257ef0081SRichard Henderson DEF_HELPER_FLAGS_5(gvec_bfmls, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
813a7a3ae9eSPierrick Bouvier 
814a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_ah_vfms_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
815a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_ah_vfms_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
816a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_ah_vfms_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
81757ef0081SRichard Henderson DEF_HELPER_FLAGS_5(gvec_ah_bfmls, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
818a7a3ae9eSPierrick Bouvier 
819a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_ftsmul_h, TCG_CALL_NO_RWG,
820a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
821a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_ftsmul_s, TCG_CALL_NO_RWG,
822a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
823a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_ftsmul_d, TCG_CALL_NO_RWG,
824a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
825a7a3ae9eSPierrick Bouvier 
826*f71c3f47SPeter Maydell DEF_HELPER_FLAGS_5(gvec_fmul_idx_b16, TCG_CALL_NO_RWG,
827*f71c3f47SPeter Maydell                    void, ptr, ptr, ptr, fpst, i32)
828a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmul_idx_h, TCG_CALL_NO_RWG,
829a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
830a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmul_idx_s, TCG_CALL_NO_RWG,
831a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
832a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmul_idx_d, TCG_CALL_NO_RWG,
833a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
834a7a3ae9eSPierrick Bouvier 
835a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmla_nf_idx_h, TCG_CALL_NO_RWG,
836a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
837a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmla_nf_idx_s, TCG_CALL_NO_RWG,
838a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
839a7a3ae9eSPierrick Bouvier 
840a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmls_nf_idx_h, TCG_CALL_NO_RWG,
841a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
842a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmls_nf_idx_s, TCG_CALL_NO_RWG,
843a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, fpst, i32)
844a7a3ae9eSPierrick Bouvier 
845a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_fmla_idx_h, TCG_CALL_NO_RWG,
846a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
847a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_fmla_idx_s, TCG_CALL_NO_RWG,
848a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
849a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_fmla_idx_d, TCG_CALL_NO_RWG,
850a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
85157ef0081SRichard Henderson DEF_HELPER_FLAGS_6(gvec_bfmla_idx, TCG_CALL_NO_RWG,
85257ef0081SRichard Henderson                    void, ptr, ptr, ptr, ptr, fpst, i32)
853a7a3ae9eSPierrick Bouvier 
854a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_fmls_idx_h, TCG_CALL_NO_RWG,
855a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
856a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_fmls_idx_s, TCG_CALL_NO_RWG,
857a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
858a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_fmls_idx_d, TCG_CALL_NO_RWG,
859a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
86057ef0081SRichard Henderson DEF_HELPER_FLAGS_6(gvec_bfmls_idx, TCG_CALL_NO_RWG,
86157ef0081SRichard Henderson                    void, ptr, ptr, ptr, ptr, fpst, i32)
862a7a3ae9eSPierrick Bouvier 
863a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_ah_fmls_idx_h, TCG_CALL_NO_RWG,
864a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
865a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_ah_fmls_idx_s, TCG_CALL_NO_RWG,
866a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
867a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_ah_fmls_idx_d, TCG_CALL_NO_RWG,
868a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
86957ef0081SRichard Henderson DEF_HELPER_FLAGS_6(gvec_ah_bfmls_idx, TCG_CALL_NO_RWG,
87057ef0081SRichard Henderson                    void, ptr, ptr, ptr, ptr, fpst, i32)
871a7a3ae9eSPierrick Bouvier 
872a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_uqadd_b, TCG_CALL_NO_RWG,
873a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
874a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_uqadd_h, TCG_CALL_NO_RWG,
875a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
876a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_uqadd_s, TCG_CALL_NO_RWG,
877a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
878a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_uqadd_d, TCG_CALL_NO_RWG,
879a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
880a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_sqadd_b, TCG_CALL_NO_RWG,
881a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
882a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_sqadd_h, TCG_CALL_NO_RWG,
883a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
884a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_sqadd_s, TCG_CALL_NO_RWG,
885a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
886a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_sqadd_d, TCG_CALL_NO_RWG,
887a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
888a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_uqsub_b, TCG_CALL_NO_RWG,
889a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
890a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_uqsub_h, TCG_CALL_NO_RWG,
891a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
892a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_uqsub_s, TCG_CALL_NO_RWG,
893a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
894a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_uqsub_d, TCG_CALL_NO_RWG,
895a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
896a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_sqsub_b, TCG_CALL_NO_RWG,
897a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
898a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_sqsub_h, TCG_CALL_NO_RWG,
899a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
900a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_sqsub_s, TCG_CALL_NO_RWG,
901a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
902a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_sqsub_d, TCG_CALL_NO_RWG,
903a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
904a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_usqadd_b, TCG_CALL_NO_RWG,
905a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
906a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_usqadd_h, TCG_CALL_NO_RWG,
907a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
908a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_usqadd_s, TCG_CALL_NO_RWG,
909a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
910a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_usqadd_d, TCG_CALL_NO_RWG,
911a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
912a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_suqadd_b, TCG_CALL_NO_RWG,
913a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
914a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_suqadd_h, TCG_CALL_NO_RWG,
915a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
916a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_suqadd_s, TCG_CALL_NO_RWG,
917a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
918a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_suqadd_d, TCG_CALL_NO_RWG,
919a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
920a7a3ae9eSPierrick Bouvier 
921a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmlal_a32, TCG_CALL_NO_RWG,
922a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, env, i32)
923a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmlal_a64, TCG_CALL_NO_RWG,
924a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, env, i32)
925a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmlal_idx_a32, TCG_CALL_NO_RWG,
926a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, env, i32)
927a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmlal_idx_a64, TCG_CALL_NO_RWG,
928a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, env, i32)
929a7a3ae9eSPierrick Bouvier 
930a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(frint32_s, TCG_CALL_NO_RWG, f32, f32, fpst)
931a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(frint64_s, TCG_CALL_NO_RWG, f32, f32, fpst)
932a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(frint32_d, TCG_CALL_NO_RWG, f64, f64, fpst)
933a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_2(frint64_d, TCG_CALL_NO_RWG, f64, f64, fpst)
934a7a3ae9eSPierrick Bouvier 
935a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_ceq0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
936a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_ceq0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
937a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_clt0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
938a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_clt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
939a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_cle0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
940a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_cle0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
941a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_cgt0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
942a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_cgt0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
943a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_cge0_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
944a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_cge0_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
945a7a3ae9eSPierrick Bouvier 
946a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_smulh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
947a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_smulh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
948a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_smulh_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
949a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_smulh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
950a7a3ae9eSPierrick Bouvier 
951a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_umulh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
952a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_umulh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
953a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_umulh_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
954a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_umulh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
955a7a3ae9eSPierrick Bouvier 
956a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_sshl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
957a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_sshl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
958a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_ushl_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
959a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_ushl_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
960a7a3ae9eSPierrick Bouvier 
961a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_pmul_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
962a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_pmull_q, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
963a7a3ae9eSPierrick Bouvier 
964a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(neon_pmull_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
965a7a3ae9eSPierrick Bouvier 
966a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_ssra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
967a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_ssra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
968a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_ssra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
969a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_ssra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
970a7a3ae9eSPierrick Bouvier 
971a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_usra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
972a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_usra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
973a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_usra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
974a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_usra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
975a7a3ae9eSPierrick Bouvier 
976a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_srshr_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
977a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_srshr_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
978a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_srshr_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
979a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_srshr_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
980a7a3ae9eSPierrick Bouvier 
981a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_urshr_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
982a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_urshr_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
983a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_urshr_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
984a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_urshr_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
985a7a3ae9eSPierrick Bouvier 
986a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_srsra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
987a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_srsra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
988a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_srsra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
989a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_srsra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
990a7a3ae9eSPierrick Bouvier 
991a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_ursra_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
992a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_ursra_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
993a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_ursra_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
994a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_ursra_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
995a7a3ae9eSPierrick Bouvier 
996a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_sri_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
997a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_sri_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
998a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_sri_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
999a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_sri_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
1000a7a3ae9eSPierrick Bouvier 
1001a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_sli_b, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
1002a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_sli_h, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
1003a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_sli_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
1004a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_sli_d, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
1005a7a3ae9eSPierrick Bouvier 
1006a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_sabd_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1007a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_sabd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1008a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_sabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1009a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_sabd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1010a7a3ae9eSPierrick Bouvier 
1011a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_uabd_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1012a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_uabd_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1013a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_uabd_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1014a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_uabd_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1015a7a3ae9eSPierrick Bouvier 
1016a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_saba_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1017a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_saba_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1018a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_saba_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1019a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_saba_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1020a7a3ae9eSPierrick Bouvier 
1021a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_uaba_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1022a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_uaba_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1023a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_uaba_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1024a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_uaba_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1025a7a3ae9eSPierrick Bouvier 
1026a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_mul_idx_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1027a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_mul_idx_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1028a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_mul_idx_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1029a7a3ae9eSPierrick Bouvier 
1030a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_mla_idx_h, TCG_CALL_NO_RWG,
1031a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1032a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_mla_idx_s, TCG_CALL_NO_RWG,
1033a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1034a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_mla_idx_d, TCG_CALL_NO_RWG,
1035a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1036a7a3ae9eSPierrick Bouvier 
1037a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_mls_idx_h, TCG_CALL_NO_RWG,
1038a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1039a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_mls_idx_s, TCG_CALL_NO_RWG,
1040a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1041a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_mls_idx_d, TCG_CALL_NO_RWG,
1042a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1043a7a3ae9eSPierrick Bouvier 
1044a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqdmulh_h, TCG_CALL_NO_RWG,
1045a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1046a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqdmulh_s, TCG_CALL_NO_RWG,
1047a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1048a7a3ae9eSPierrick Bouvier 
1049a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqrdmulh_h, TCG_CALL_NO_RWG,
1050a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1051a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqrdmulh_s, TCG_CALL_NO_RWG,
1052a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1053a7a3ae9eSPierrick Bouvier 
1054a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqdmulh_idx_h, TCG_CALL_NO_RWG,
1055a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1056a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqdmulh_idx_s, TCG_CALL_NO_RWG,
1057a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1058a7a3ae9eSPierrick Bouvier 
1059a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqrdmulh_idx_h, TCG_CALL_NO_RWG,
1060a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1061a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqrdmulh_idx_s, TCG_CALL_NO_RWG,
1062a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1063a7a3ae9eSPierrick Bouvier 
1064a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqrdmlah_idx_h, TCG_CALL_NO_RWG,
1065a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1066a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqrdmlah_idx_s, TCG_CALL_NO_RWG,
1067a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1068a7a3ae9eSPierrick Bouvier 
1069a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqrdmlsh_idx_h, TCG_CALL_NO_RWG,
1070a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1071a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(neon_sqrdmlsh_idx_s, TCG_CALL_NO_RWG,
1072a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1073a7a3ae9eSPierrick Bouvier 
1074a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqdmulh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1075a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqdmulh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1076a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqdmulh_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1077a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqdmulh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1078a7a3ae9eSPierrick Bouvier 
1079a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqrdmulh_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1080a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqrdmulh_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1081a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqrdmulh_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1082a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqrdmulh_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1083a7a3ae9eSPierrick Bouvier 
1084a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqdmulh_idx_h, TCG_CALL_NO_RWG,
1085a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, i32)
1086a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqdmulh_idx_s, TCG_CALL_NO_RWG,
1087a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, i32)
1088a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqdmulh_idx_d, TCG_CALL_NO_RWG,
1089a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, i32)
1090a7a3ae9eSPierrick Bouvier 
1091a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqrdmulh_idx_h, TCG_CALL_NO_RWG,
1092a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, i32)
1093a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqrdmulh_idx_s, TCG_CALL_NO_RWG,
1094a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, i32)
1095a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(sve2_sqrdmulh_idx_d, TCG_CALL_NO_RWG,
1096a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, i32)
1097a7a3ae9eSPierrick Bouvier 
1098a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(sve2_fmlal_zzzw_s, TCG_CALL_NO_RWG,
1099a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, env, i32)
1100a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(sve2_fmlal_zzxw_s, TCG_CALL_NO_RWG,
1101a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, env, i32)
1102a7a3ae9eSPierrick Bouvier 
1103a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_xar_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1104a7a3ae9eSPierrick Bouvier 
1105a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_smmla_b, TCG_CALL_NO_RWG,
1106a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1107a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_ummla_b, TCG_CALL_NO_RWG,
1108a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1109a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_usmmla_b, TCG_CALL_NO_RWG,
1110a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1111a7a3ae9eSPierrick Bouvier 
1112a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_bfdot, TCG_CALL_NO_RWG,
1113a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, env, i32)
1114a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_bfdot_idx, TCG_CALL_NO_RWG,
1115a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, env, i32)
11167bca70e0SRichard Henderson DEF_HELPER_FLAGS_6(sme2_bfvdot_idx, TCG_CALL_NO_RWG,
11177bca70e0SRichard Henderson                    void, ptr, ptr, ptr, ptr, env, i32)
1118a7a3ae9eSPierrick Bouvier 
1119a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_bfmmla, TCG_CALL_NO_RWG,
1120a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, env, i32)
1121a7a3ae9eSPierrick Bouvier 
1122a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_bfmlal, TCG_CALL_NO_RWG,
1123a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
112404afb926SRichard Henderson DEF_HELPER_FLAGS_6(gvec_bfmlsl, TCG_CALL_NO_RWG,
112504afb926SRichard Henderson                    void, ptr, ptr, ptr, ptr, fpst, i32)
112604afb926SRichard Henderson DEF_HELPER_FLAGS_6(gvec_ah_bfmlsl, TCG_CALL_NO_RWG,
112704afb926SRichard Henderson                    void, ptr, ptr, ptr, ptr, fpst, i32)
1128a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_6(gvec_bfmlal_idx, TCG_CALL_NO_RWG,
1129a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, fpst, i32)
113004afb926SRichard Henderson DEF_HELPER_FLAGS_6(gvec_bfmlsl_idx, TCG_CALL_NO_RWG,
113104afb926SRichard Henderson                    void, ptr, ptr, ptr, ptr, fpst, i32)
113204afb926SRichard Henderson DEF_HELPER_FLAGS_6(gvec_ah_bfmlsl_idx, TCG_CALL_NO_RWG,
113304afb926SRichard Henderson                    void, ptr, ptr, ptr, ptr, fpst, i32)
1134a7a3ae9eSPierrick Bouvier 
1135a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_sclamp_b, TCG_CALL_NO_RWG,
1136a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1137a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_sclamp_h, TCG_CALL_NO_RWG,
1138a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1139a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_sclamp_s, TCG_CALL_NO_RWG,
1140a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1141a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_sclamp_d, TCG_CALL_NO_RWG,
1142a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1143a7a3ae9eSPierrick Bouvier 
1144a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_uclamp_b, TCG_CALL_NO_RWG,
1145a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1146a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_uclamp_h, TCG_CALL_NO_RWG,
1147a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1148a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_uclamp_s, TCG_CALL_NO_RWG,
1149a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1150a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_uclamp_d, TCG_CALL_NO_RWG,
1151a7a3ae9eSPierrick Bouvier                    void, ptr, ptr, ptr, ptr, i32)
1152a7a3ae9eSPierrick Bouvier 
1153a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_faddp_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1154a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_faddp_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1155a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_faddp_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1156a7a3ae9eSPierrick Bouvier 
1157a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmaxp_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1158a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmaxp_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1159a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmaxp_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1160a7a3ae9eSPierrick Bouvier 
1161a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fminp_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1162a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fminp_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1163a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fminp_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1164a7a3ae9eSPierrick Bouvier 
1165a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmaxnump_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1166a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmaxnump_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1167a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fmaxnump_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1168a7a3ae9eSPierrick Bouvier 
1169a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fminnump_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1170a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fminnump_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1171a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_5(gvec_fminnump_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, fpst, i32)
1172a7a3ae9eSPierrick Bouvier 
1173a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_addp_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1174a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_addp_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1175a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_addp_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1176a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_addp_d, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1177a7a3ae9eSPierrick Bouvier 
1178a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_smaxp_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1179a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_smaxp_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1180a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_smaxp_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1181a7a3ae9eSPierrick Bouvier 
1182a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_sminp_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1183a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_sminp_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1184a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_sminp_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1185a7a3ae9eSPierrick Bouvier 
1186a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_umaxp_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1187a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_umaxp_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1188a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_umaxp_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1189a7a3ae9eSPierrick Bouvier 
1190a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_uminp_b, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1191a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_uminp_h, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1192a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_4(gvec_uminp_s, TCG_CALL_NO_RWG, void, ptr, ptr, ptr, i32)
1193a7a3ae9eSPierrick Bouvier 
1194a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_urecpe_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
1195a7a3ae9eSPierrick Bouvier DEF_HELPER_FLAGS_3(gvec_ursqrte_s, TCG_CALL_NO_RWG, void, ptr, ptr, i32)
1196a19b104fSRichard Henderson 
1197a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti2_1b, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1198a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti2_1h, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1199a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti2_1s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1200a19b104fSRichard Henderson 
1201a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti2_2b, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1202a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti2_2h, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1203a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti2_2s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1204a19b104fSRichard Henderson 
1205a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti2_4b, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1206a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti2_4h, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1207a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti2_4s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1208a19b104fSRichard Henderson 
1209a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti4_1b, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1210a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti4_1h, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1211a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti4_1s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1212a19b104fSRichard Henderson 
1213a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti4_2b, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1214a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti4_2h, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1215a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti4_2s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1216a19b104fSRichard Henderson 
1217a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti4_4h, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1218a19b104fSRichard Henderson DEF_HELPER_FLAGS_4(sme2_luti4_4s, TCG_CALL_NO_RWG, void, ptr, ptr, env, i32)
1219