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