1 DEF_HELPER_FLAGS_1(clz
, TCG_CALL_NO_RWG_SE
, i32
, i32
)
2 DEF_HELPER_FLAGS_1(sxtb16
, TCG_CALL_NO_RWG_SE
, i32
, i32
)
3 DEF_HELPER_FLAGS_1(uxtb16
, TCG_CALL_NO_RWG_SE
, i32
, i32
)
5 DEF_HELPER_3(add_setq
, i32
, env
, i32
, i32
)
6 DEF_HELPER_3(add_saturate
, i32
, env
, i32
, i32
)
7 DEF_HELPER_3(sub_saturate
, i32
, env
, i32
, i32
)
8 DEF_HELPER_3(add_usaturate
, i32
, env
, i32
, i32
)
9 DEF_HELPER_3(sub_usaturate
, i32
, env
, i32
, i32
)
10 DEF_HELPER_2(double_saturate
, i32
, env
, s32
)
11 DEF_HELPER_FLAGS_2(sdiv
, TCG_CALL_NO_RWG_SE
, s32
, s32
, s32
)
12 DEF_HELPER_FLAGS_2(udiv
, TCG_CALL_NO_RWG_SE
, i32
, i32
, i32
)
13 DEF_HELPER_FLAGS_1(rbit
, TCG_CALL_NO_RWG_SE
, i32
, i32
)
16 DEF_HELPER_3(pfx ## add8, i32, i32, i32, ptr) \
17 DEF_HELPER_3(pfx ## sub8, i32, i32, i32, ptr) \
18 DEF_HELPER_3(pfx ## sub16, i32, i32, i32, ptr) \
19 DEF_HELPER_3(pfx ## add16, i32, i32, i32, ptr) \
20 DEF_HELPER_3(pfx ## addsubx, i32, i32, i32, ptr) \
21 DEF_HELPER_3(pfx ## subaddx, i32, i32, i32, ptr)
28 DEF_HELPER_2(pfx ## add8, i32, i32, i32) \
29 DEF_HELPER_2(pfx ## sub8, i32, i32, i32) \
30 DEF_HELPER_2(pfx ## sub16, i32, i32, i32) \
31 DEF_HELPER_2(pfx ## add16, i32, i32, i32) \
32 DEF_HELPER_2(pfx ## addsubx, i32, i32, i32) \
33 DEF_HELPER_2(pfx ## subaddx, i32, i32, i32)
40 DEF_HELPER_3(ssat
, i32
, env
, i32
, i32
)
41 DEF_HELPER_3(usat
, i32
, env
, i32
, i32
)
42 DEF_HELPER_3(ssat16
, i32
, env
, i32
, i32
)
43 DEF_HELPER_3(usat16
, i32
, env
, i32
, i32
)
45 DEF_HELPER_FLAGS_2(usad8
, TCG_CALL_NO_RWG_SE
, i32
, i32
, i32
)
47 DEF_HELPER_FLAGS_3(sel_flags
, TCG_CALL_NO_RWG_SE
,
49 DEF_HELPER_2(exception_internal
, void, env
, i32
)
50 DEF_HELPER_3(exception_with_syndrome
, void, env
, i32
, i32
)
51 DEF_HELPER_1(wfi
, void, env
)
52 DEF_HELPER_1(wfe
, void, env
)
54 DEF_HELPER_3(cpsr_write
, void, env
, i32
, i32
)
55 DEF_HELPER_1(cpsr_read
, i32
, env
)
57 DEF_HELPER_3(v7m_msr
, void, env
, i32
, i32
)
58 DEF_HELPER_2(v7m_mrs
, i32
, env
, i32
)
60 DEF_HELPER_3(access_check_cp_reg
, void, env
, ptr
, i32
)
61 DEF_HELPER_3(set_cp_reg
, void, env
, ptr
, i32
)
62 DEF_HELPER_2(get_cp_reg
, i32
, env
, ptr
)
63 DEF_HELPER_3(set_cp_reg64
, void, env
, ptr
, i64
)
64 DEF_HELPER_2(get_cp_reg64
, i64
, env
, ptr
)
66 DEF_HELPER_3(msr_i_pstate
, void, env
, i32
, i32
)
67 DEF_HELPER_1(clear_pstate_ss
, void, env
)
68 DEF_HELPER_1(exception_return
, void, env
)
70 DEF_HELPER_2(get_r13_banked
, i32
, env
, i32
)
71 DEF_HELPER_3(set_r13_banked
, void, env
, i32
, i32
)
73 DEF_HELPER_2(get_user_reg
, i32
, env
, i32
)
74 DEF_HELPER_3(set_user_reg
, void, env
, i32
, i32
)
76 DEF_HELPER_1(vfp_get_fpscr
, i32
, env
)
77 DEF_HELPER_2(vfp_set_fpscr
, void, env
, i32
)
79 DEF_HELPER_3(vfp_adds
, f32
, f32
, f32
, ptr
)
80 DEF_HELPER_3(vfp_addd
, f64
, f64
, f64
, ptr
)
81 DEF_HELPER_3(vfp_subs
, f32
, f32
, f32
, ptr
)
82 DEF_HELPER_3(vfp_subd
, f64
, f64
, f64
, ptr
)
83 DEF_HELPER_3(vfp_muls
, f32
, f32
, f32
, ptr
)
84 DEF_HELPER_3(vfp_muld
, f64
, f64
, f64
, ptr
)
85 DEF_HELPER_3(vfp_divs
, f32
, f32
, f32
, ptr
)
86 DEF_HELPER_3(vfp_divd
, f64
, f64
, f64
, ptr
)
87 DEF_HELPER_3(vfp_maxs
, f32
, f32
, f32
, ptr
)
88 DEF_HELPER_3(vfp_maxd
, f64
, f64
, f64
, ptr
)
89 DEF_HELPER_3(vfp_mins
, f32
, f32
, f32
, ptr
)
90 DEF_HELPER_3(vfp_mind
, f64
, f64
, f64
, ptr
)
91 DEF_HELPER_3(vfp_maxnums
, f32
, f32
, f32
, ptr
)
92 DEF_HELPER_3(vfp_maxnumd
, f64
, f64
, f64
, ptr
)
93 DEF_HELPER_3(vfp_minnums
, f32
, f32
, f32
, ptr
)
94 DEF_HELPER_3(vfp_minnumd
, f64
, f64
, f64
, ptr
)
95 DEF_HELPER_1(vfp_negs
, f32
, f32
)
96 DEF_HELPER_1(vfp_negd
, f64
, f64
)
97 DEF_HELPER_1(vfp_abss
, f32
, f32
)
98 DEF_HELPER_1(vfp_absd
, f64
, f64
)
99 DEF_HELPER_2(vfp_sqrts
, f32
, f32
, env
)
100 DEF_HELPER_2(vfp_sqrtd
, f64
, f64
, env
)
101 DEF_HELPER_3(vfp_cmps
, void, f32
, f32
, env
)
102 DEF_HELPER_3(vfp_cmpd
, void, f64
, f64
, env
)
103 DEF_HELPER_3(vfp_cmpes
, void, f32
, f32
, env
)
104 DEF_HELPER_3(vfp_cmped
, void, f64
, f64
, env
)
106 DEF_HELPER_2(vfp_fcvtds
, f64
, f32
, env
)
107 DEF_HELPER_2(vfp_fcvtsd
, f32
, f64
, env
)
109 DEF_HELPER_2(vfp_uitos
, f32
, i32
, ptr
)
110 DEF_HELPER_2(vfp_uitod
, f64
, i32
, ptr
)
111 DEF_HELPER_2(vfp_sitos
, f32
, i32
, ptr
)
112 DEF_HELPER_2(vfp_sitod
, f64
, i32
, ptr
)
114 DEF_HELPER_2(vfp_touis
, i32
, f32
, ptr
)
115 DEF_HELPER_2(vfp_touid
, i32
, f64
, ptr
)
116 DEF_HELPER_2(vfp_touizs
, i32
, f32
, ptr
)
117 DEF_HELPER_2(vfp_touizd
, i32
, f64
, ptr
)
118 DEF_HELPER_2(vfp_tosis
, i32
, f32
, ptr
)
119 DEF_HELPER_2(vfp_tosid
, i32
, f64
, ptr
)
120 DEF_HELPER_2(vfp_tosizs
, i32
, f32
, ptr
)
121 DEF_HELPER_2(vfp_tosizd
, i32
, f64
, ptr
)
123 DEF_HELPER_3(vfp_toshs_round_to_zero
, i32
, f32
, i32
, ptr
)
124 DEF_HELPER_3(vfp_tosls_round_to_zero
, i32
, f32
, i32
, ptr
)
125 DEF_HELPER_3(vfp_touhs_round_to_zero
, i32
, f32
, i32
, ptr
)
126 DEF_HELPER_3(vfp_touls_round_to_zero
, i32
, f32
, i32
, ptr
)
127 DEF_HELPER_3(vfp_toshd_round_to_zero
, i64
, f64
, i32
, ptr
)
128 DEF_HELPER_3(vfp_tosld_round_to_zero
, i64
, f64
, i32
, ptr
)
129 DEF_HELPER_3(vfp_touhd_round_to_zero
, i64
, f64
, i32
, ptr
)
130 DEF_HELPER_3(vfp_tould_round_to_zero
, i64
, f64
, i32
, ptr
)
131 DEF_HELPER_3(vfp_toshs
, i32
, f32
, i32
, ptr
)
132 DEF_HELPER_3(vfp_tosls
, i32
, f32
, i32
, ptr
)
133 DEF_HELPER_3(vfp_tosqs
, i64
, f32
, i32
, ptr
)
134 DEF_HELPER_3(vfp_touhs
, i32
, f32
, i32
, ptr
)
135 DEF_HELPER_3(vfp_touls
, i32
, f32
, i32
, ptr
)
136 DEF_HELPER_3(vfp_touqs
, i64
, f32
, i32
, ptr
)
137 DEF_HELPER_3(vfp_toshd
, i64
, f64
, i32
, ptr
)
138 DEF_HELPER_3(vfp_tosld
, i64
, f64
, i32
, ptr
)
139 DEF_HELPER_3(vfp_tosqd
, i64
, f64
, i32
, ptr
)
140 DEF_HELPER_3(vfp_touhd
, i64
, f64
, i32
, ptr
)
141 DEF_HELPER_3(vfp_tould
, i64
, f64
, i32
, ptr
)
142 DEF_HELPER_3(vfp_touqd
, i64
, f64
, i32
, ptr
)
143 DEF_HELPER_3(vfp_shtos
, f32
, i32
, i32
, ptr
)
144 DEF_HELPER_3(vfp_sltos
, f32
, i32
, i32
, ptr
)
145 DEF_HELPER_3(vfp_sqtos
, f32
, i64
, i32
, ptr
)
146 DEF_HELPER_3(vfp_uhtos
, f32
, i32
, i32
, ptr
)
147 DEF_HELPER_3(vfp_ultos
, f32
, i32
, i32
, ptr
)
148 DEF_HELPER_3(vfp_uqtos
, f32
, i64
, i32
, ptr
)
149 DEF_HELPER_3(vfp_shtod
, f64
, i64
, i32
, ptr
)
150 DEF_HELPER_3(vfp_sltod
, f64
, i64
, i32
, ptr
)
151 DEF_HELPER_3(vfp_sqtod
, f64
, i64
, i32
, ptr
)
152 DEF_HELPER_3(vfp_uhtod
, f64
, i64
, i32
, ptr
)
153 DEF_HELPER_3(vfp_ultod
, f64
, i64
, i32
, ptr
)
154 DEF_HELPER_3(vfp_uqtod
, f64
, i64
, i32
, ptr
)
156 DEF_HELPER_FLAGS_2(set_rmode
, TCG_CALL_NO_RWG
, i32
, i32
, env
)
157 DEF_HELPER_FLAGS_2(set_neon_rmode
, TCG_CALL_NO_RWG
, i32
, i32
, env
)
159 DEF_HELPER_2(vfp_fcvt_f16_to_f32
, f32
, i32
, env
)
160 DEF_HELPER_2(vfp_fcvt_f32_to_f16
, i32
, f32
, env
)
161 DEF_HELPER_2(neon_fcvt_f16_to_f32
, f32
, i32
, env
)
162 DEF_HELPER_2(neon_fcvt_f32_to_f16
, i32
, f32
, env
)
163 DEF_HELPER_FLAGS_2(vfp_fcvt_f16_to_f64
, TCG_CALL_NO_RWG
, f64
, i32
, env
)
164 DEF_HELPER_FLAGS_2(vfp_fcvt_f64_to_f16
, TCG_CALL_NO_RWG
, i32
, f64
, env
)
166 DEF_HELPER_4(vfp_muladdd
, f64
, f64
, f64
, f64
, ptr
)
167 DEF_HELPER_4(vfp_muladds
, f32
, f32
, f32
, f32
, ptr
)
169 DEF_HELPER_3(recps_f32
, f32
, f32
, f32
, env
)
170 DEF_HELPER_3(rsqrts_f32
, f32
, f32
, f32
, env
)
171 DEF_HELPER_FLAGS_2(recpe_f32
, TCG_CALL_NO_RWG
, f32
, f32
, ptr
)
172 DEF_HELPER_FLAGS_2(recpe_f64
, TCG_CALL_NO_RWG
, f64
, f64
, ptr
)
173 DEF_HELPER_FLAGS_2(rsqrte_f32
, TCG_CALL_NO_RWG
, f32
, f32
, ptr
)
174 DEF_HELPER_FLAGS_2(rsqrte_f64
, TCG_CALL_NO_RWG
, f64
, f64
, ptr
)
175 DEF_HELPER_2(recpe_u32
, i32
, i32
, ptr
)
176 DEF_HELPER_FLAGS_2(rsqrte_u32
, TCG_CALL_NO_RWG
, i32
, i32
, ptr
)
177 DEF_HELPER_5(neon_tbl
, i32
, env
, i32
, i32
, i32
, i32
)
179 DEF_HELPER_3(shl_cc
, i32
, env
, i32
, i32
)
180 DEF_HELPER_3(shr_cc
, i32
, env
, i32
, i32
)
181 DEF_HELPER_3(sar_cc
, i32
, env
, i32
, i32
)
182 DEF_HELPER_3(ror_cc
, i32
, env
, i32
, i32
)
184 DEF_HELPER_FLAGS_2(rints_exact
, TCG_CALL_NO_RWG
, f32
, f32
, ptr
)
185 DEF_HELPER_FLAGS_2(rintd_exact
, TCG_CALL_NO_RWG
, f64
, f64
, ptr
)
186 DEF_HELPER_FLAGS_2(rints
, TCG_CALL_NO_RWG
, f32
, f32
, ptr
)
187 DEF_HELPER_FLAGS_2(rintd
, TCG_CALL_NO_RWG
, f64
, f64
, ptr
)
190 DEF_HELPER_FLAGS_3(neon_qadd_u8
, TCG_CALL_NO_RWG
, i32
, env
, i32
, i32
)
191 DEF_HELPER_FLAGS_3(neon_qadd_s8
, TCG_CALL_NO_RWG
, i32
, env
, i32
, i32
)
192 DEF_HELPER_FLAGS_3(neon_qadd_u16
, TCG_CALL_NO_RWG
, i32
, env
, i32
, i32
)
193 DEF_HELPER_FLAGS_3(neon_qadd_s16
, TCG_CALL_NO_RWG
, i32
, env
, i32
, i32
)
194 DEF_HELPER_FLAGS_3(neon_qadd_u32
, TCG_CALL_NO_RWG
, i32
, env
, i32
, i32
)
195 DEF_HELPER_FLAGS_3(neon_qadd_s32
, TCG_CALL_NO_RWG
, i32
, env
, i32
, i32
)
196 DEF_HELPER_FLAGS_3(neon_uqadd_s8
, TCG_CALL_NO_RWG
, i32
, env
, i32
, i32
)
197 DEF_HELPER_FLAGS_3(neon_uqadd_s16
, TCG_CALL_NO_RWG
, i32
, env
, i32
, i32
)
198 DEF_HELPER_FLAGS_3(neon_uqadd_s32
, TCG_CALL_NO_RWG
, i32
, env
, i32
, i32
)
199 DEF_HELPER_FLAGS_3(neon_uqadd_s64
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
200 DEF_HELPER_FLAGS_3(neon_sqadd_u8
, TCG_CALL_NO_RWG
, i32
, env
, i32
, i32
)
201 DEF_HELPER_FLAGS_3(neon_sqadd_u16
, TCG_CALL_NO_RWG
, i32
, env
, i32
, i32
)
202 DEF_HELPER_FLAGS_3(neon_sqadd_u32
, TCG_CALL_NO_RWG
, i32
, env
, i32
, i32
)
203 DEF_HELPER_FLAGS_3(neon_sqadd_u64
, TCG_CALL_NO_RWG
, i64
, env
, i64
, i64
)
204 DEF_HELPER_3(neon_qsub_u8
, i32
, env
, i32
, i32
)
205 DEF_HELPER_3(neon_qsub_s8
, i32
, env
, i32
, i32
)
206 DEF_HELPER_3(neon_qsub_u16
, i32
, env
, i32
, i32
)
207 DEF_HELPER_3(neon_qsub_s16
, i32
, env
, i32
, i32
)
208 DEF_HELPER_3(neon_qsub_u32
, i32
, env
, i32
, i32
)
209 DEF_HELPER_3(neon_qsub_s32
, i32
, env
, i32
, i32
)
210 DEF_HELPER_3(neon_qadd_u64
, i64
, env
, i64
, i64
)
211 DEF_HELPER_3(neon_qadd_s64
, i64
, env
, i64
, i64
)
212 DEF_HELPER_3(neon_qsub_u64
, i64
, env
, i64
, i64
)
213 DEF_HELPER_3(neon_qsub_s64
, i64
, env
, i64
, i64
)
215 DEF_HELPER_2(neon_hadd_s8
, i32
, i32
, i32
)
216 DEF_HELPER_2(neon_hadd_u8
, i32
, i32
, i32
)
217 DEF_HELPER_2(neon_hadd_s16
, i32
, i32
, i32
)
218 DEF_HELPER_2(neon_hadd_u16
, i32
, i32
, i32
)
219 DEF_HELPER_2(neon_hadd_s32
, s32
, s32
, s32
)
220 DEF_HELPER_2(neon_hadd_u32
, i32
, i32
, i32
)
221 DEF_HELPER_2(neon_rhadd_s8
, i32
, i32
, i32
)
222 DEF_HELPER_2(neon_rhadd_u8
, i32
, i32
, i32
)
223 DEF_HELPER_2(neon_rhadd_s16
, i32
, i32
, i32
)
224 DEF_HELPER_2(neon_rhadd_u16
, i32
, i32
, i32
)
225 DEF_HELPER_2(neon_rhadd_s32
, s32
, s32
, s32
)
226 DEF_HELPER_2(neon_rhadd_u32
, i32
, i32
, i32
)
227 DEF_HELPER_2(neon_hsub_s8
, i32
, i32
, i32
)
228 DEF_HELPER_2(neon_hsub_u8
, i32
, i32
, i32
)
229 DEF_HELPER_2(neon_hsub_s16
, i32
, i32
, i32
)
230 DEF_HELPER_2(neon_hsub_u16
, i32
, i32
, i32
)
231 DEF_HELPER_2(neon_hsub_s32
, s32
, s32
, s32
)
232 DEF_HELPER_2(neon_hsub_u32
, i32
, i32
, i32
)
234 DEF_HELPER_2(neon_cgt_u8
, i32
, i32
, i32
)
235 DEF_HELPER_2(neon_cgt_s8
, i32
, i32
, i32
)
236 DEF_HELPER_2(neon_cgt_u16
, i32
, i32
, i32
)
237 DEF_HELPER_2(neon_cgt_s16
, i32
, i32
, i32
)
238 DEF_HELPER_2(neon_cgt_u32
, i32
, i32
, i32
)
239 DEF_HELPER_2(neon_cgt_s32
, i32
, i32
, i32
)
240 DEF_HELPER_2(neon_cge_u8
, i32
, i32
, i32
)
241 DEF_HELPER_2(neon_cge_s8
, i32
, i32
, i32
)
242 DEF_HELPER_2(neon_cge_u16
, i32
, i32
, i32
)
243 DEF_HELPER_2(neon_cge_s16
, i32
, i32
, i32
)
244 DEF_HELPER_2(neon_cge_u32
, i32
, i32
, i32
)
245 DEF_HELPER_2(neon_cge_s32
, i32
, i32
, i32
)
247 DEF_HELPER_2(neon_min_u8
, i32
, i32
, i32
)
248 DEF_HELPER_2(neon_min_s8
, i32
, i32
, i32
)
249 DEF_HELPER_2(neon_min_u16
, i32
, i32
, i32
)
250 DEF_HELPER_2(neon_min_s16
, i32
, i32
, i32
)
251 DEF_HELPER_2(neon_min_u32
, i32
, i32
, i32
)
252 DEF_HELPER_2(neon_min_s32
, i32
, i32
, i32
)
253 DEF_HELPER_2(neon_max_u8
, i32
, i32
, i32
)
254 DEF_HELPER_2(neon_max_s8
, i32
, i32
, i32
)
255 DEF_HELPER_2(neon_max_u16
, i32
, i32
, i32
)
256 DEF_HELPER_2(neon_max_s16
, i32
, i32
, i32
)
257 DEF_HELPER_2(neon_max_u32
, i32
, i32
, i32
)
258 DEF_HELPER_2(neon_max_s32
, i32
, i32
, i32
)
259 DEF_HELPER_2(neon_pmin_u8
, i32
, i32
, i32
)
260 DEF_HELPER_2(neon_pmin_s8
, i32
, i32
, i32
)
261 DEF_HELPER_2(neon_pmin_u16
, i32
, i32
, i32
)
262 DEF_HELPER_2(neon_pmin_s16
, i32
, i32
, i32
)
263 DEF_HELPER_2(neon_pmax_u8
, i32
, i32
, i32
)
264 DEF_HELPER_2(neon_pmax_s8
, i32
, i32
, i32
)
265 DEF_HELPER_2(neon_pmax_u16
, i32
, i32
, i32
)
266 DEF_HELPER_2(neon_pmax_s16
, i32
, i32
, i32
)
268 DEF_HELPER_2(neon_abd_u8
, i32
, i32
, i32
)
269 DEF_HELPER_2(neon_abd_s8
, i32
, i32
, i32
)
270 DEF_HELPER_2(neon_abd_u16
, i32
, i32
, i32
)
271 DEF_HELPER_2(neon_abd_s16
, i32
, i32
, i32
)
272 DEF_HELPER_2(neon_abd_u32
, i32
, i32
, i32
)
273 DEF_HELPER_2(neon_abd_s32
, i32
, i32
, i32
)
275 DEF_HELPER_2(neon_shl_u8
, i32
, i32
, i32
)
276 DEF_HELPER_2(neon_shl_s8
, i32
, i32
, i32
)
277 DEF_HELPER_2(neon_shl_u16
, i32
, i32
, i32
)
278 DEF_HELPER_2(neon_shl_s16
, i32
, i32
, i32
)
279 DEF_HELPER_2(neon_shl_u32
, i32
, i32
, i32
)
280 DEF_HELPER_2(neon_shl_s32
, i32
, i32
, i32
)
281 DEF_HELPER_2(neon_shl_u64
, i64
, i64
, i64
)
282 DEF_HELPER_2(neon_shl_s64
, i64
, i64
, i64
)
283 DEF_HELPER_2(neon_rshl_u8
, i32
, i32
, i32
)
284 DEF_HELPER_2(neon_rshl_s8
, i32
, i32
, i32
)
285 DEF_HELPER_2(neon_rshl_u16
, i32
, i32
, i32
)
286 DEF_HELPER_2(neon_rshl_s16
, i32
, i32
, i32
)
287 DEF_HELPER_2(neon_rshl_u32
, i32
, i32
, i32
)
288 DEF_HELPER_2(neon_rshl_s32
, i32
, i32
, i32
)
289 DEF_HELPER_2(neon_rshl_u64
, i64
, i64
, i64
)
290 DEF_HELPER_2(neon_rshl_s64
, i64
, i64
, i64
)
291 DEF_HELPER_3(neon_qshl_u8
, i32
, env
, i32
, i32
)
292 DEF_HELPER_3(neon_qshl_s8
, i32
, env
, i32
, i32
)
293 DEF_HELPER_3(neon_qshl_u16
, i32
, env
, i32
, i32
)
294 DEF_HELPER_3(neon_qshl_s16
, i32
, env
, i32
, i32
)
295 DEF_HELPER_3(neon_qshl_u32
, i32
, env
, i32
, i32
)
296 DEF_HELPER_3(neon_qshl_s32
, i32
, env
, i32
, i32
)
297 DEF_HELPER_3(neon_qshl_u64
, i64
, env
, i64
, i64
)
298 DEF_HELPER_3(neon_qshl_s64
, i64
, env
, i64
, i64
)
299 DEF_HELPER_3(neon_qshlu_s8
, i32
, env
, i32
, i32
)
300 DEF_HELPER_3(neon_qshlu_s16
, i32
, env
, i32
, i32
)
301 DEF_HELPER_3(neon_qshlu_s32
, i32
, env
, i32
, i32
)
302 DEF_HELPER_3(neon_qshlu_s64
, i64
, env
, i64
, i64
)
303 DEF_HELPER_3(neon_qrshl_u8
, i32
, env
, i32
, i32
)
304 DEF_HELPER_3(neon_qrshl_s8
, i32
, env
, i32
, i32
)
305 DEF_HELPER_3(neon_qrshl_u16
, i32
, env
, i32
, i32
)
306 DEF_HELPER_3(neon_qrshl_s16
, i32
, env
, i32
, i32
)
307 DEF_HELPER_3(neon_qrshl_u32
, i32
, env
, i32
, i32
)
308 DEF_HELPER_3(neon_qrshl_s32
, i32
, env
, i32
, i32
)
309 DEF_HELPER_3(neon_qrshl_u64
, i64
, env
, i64
, i64
)
310 DEF_HELPER_3(neon_qrshl_s64
, i64
, env
, i64
, i64
)
312 DEF_HELPER_2(neon_add_u8
, i32
, i32
, i32
)
313 DEF_HELPER_2(neon_add_u16
, i32
, i32
, i32
)
314 DEF_HELPER_2(neon_padd_u8
, i32
, i32
, i32
)
315 DEF_HELPER_2(neon_padd_u16
, i32
, i32
, i32
)
316 DEF_HELPER_2(neon_sub_u8
, i32
, i32
, i32
)
317 DEF_HELPER_2(neon_sub_u16
, i32
, i32
, i32
)
318 DEF_HELPER_2(neon_mul_u8
, i32
, i32
, i32
)
319 DEF_HELPER_2(neon_mul_u16
, i32
, i32
, i32
)
320 DEF_HELPER_2(neon_mul_p8
, i32
, i32
, i32
)
321 DEF_HELPER_2(neon_mull_p8
, i64
, i32
, i32
)
323 DEF_HELPER_2(neon_tst_u8
, i32
, i32
, i32
)
324 DEF_HELPER_2(neon_tst_u16
, i32
, i32
, i32
)
325 DEF_HELPER_2(neon_tst_u32
, i32
, i32
, i32
)
326 DEF_HELPER_2(neon_ceq_u8
, i32
, i32
, i32
)
327 DEF_HELPER_2(neon_ceq_u16
, i32
, i32
, i32
)
328 DEF_HELPER_2(neon_ceq_u32
, i32
, i32
, i32
)
330 DEF_HELPER_1(neon_abs_s8
, i32
, i32
)
331 DEF_HELPER_1(neon_abs_s16
, i32
, i32
)
332 DEF_HELPER_1(neon_clz_u8
, i32
, i32
)
333 DEF_HELPER_1(neon_clz_u16
, i32
, i32
)
334 DEF_HELPER_1(neon_cls_s8
, i32
, i32
)
335 DEF_HELPER_1(neon_cls_s16
, i32
, i32
)
336 DEF_HELPER_1(neon_cls_s32
, i32
, i32
)
337 DEF_HELPER_1(neon_cnt_u8
, i32
, i32
)
338 DEF_HELPER_FLAGS_1(neon_rbit_u8
, TCG_CALL_NO_RWG_SE
, i32
, i32
)
340 DEF_HELPER_3(neon_qdmulh_s16
, i32
, env
, i32
, i32
)
341 DEF_HELPER_3(neon_qrdmulh_s16
, i32
, env
, i32
, i32
)
342 DEF_HELPER_3(neon_qdmulh_s32
, i32
, env
, i32
, i32
)
343 DEF_HELPER_3(neon_qrdmulh_s32
, i32
, env
, i32
, i32
)
345 DEF_HELPER_1(neon_narrow_u8
, i32
, i64
)
346 DEF_HELPER_1(neon_narrow_u16
, i32
, i64
)
347 DEF_HELPER_2(neon_unarrow_sat8
, i32
, env
, i64
)
348 DEF_HELPER_2(neon_narrow_sat_u8
, i32
, env
, i64
)
349 DEF_HELPER_2(neon_narrow_sat_s8
, i32
, env
, i64
)
350 DEF_HELPER_2(neon_unarrow_sat16
, i32
, env
, i64
)
351 DEF_HELPER_2(neon_narrow_sat_u16
, i32
, env
, i64
)
352 DEF_HELPER_2(neon_narrow_sat_s16
, i32
, env
, i64
)
353 DEF_HELPER_2(neon_unarrow_sat32
, i32
, env
, i64
)
354 DEF_HELPER_2(neon_narrow_sat_u32
, i32
, env
, i64
)
355 DEF_HELPER_2(neon_narrow_sat_s32
, i32
, env
, i64
)
356 DEF_HELPER_1(neon_narrow_high_u8
, i32
, i64
)
357 DEF_HELPER_1(neon_narrow_high_u16
, i32
, i64
)
358 DEF_HELPER_1(neon_narrow_round_high_u8
, i32
, i64
)
359 DEF_HELPER_1(neon_narrow_round_high_u16
, i32
, i64
)
360 DEF_HELPER_1(neon_widen_u8
, i64
, i32
)
361 DEF_HELPER_1(neon_widen_s8
, i64
, i32
)
362 DEF_HELPER_1(neon_widen_u16
, i64
, i32
)
363 DEF_HELPER_1(neon_widen_s16
, i64
, i32
)
365 DEF_HELPER_2(neon_addl_u16
, i64
, i64
, i64
)
366 DEF_HELPER_2(neon_addl_u32
, i64
, i64
, i64
)
367 DEF_HELPER_2(neon_paddl_u16
, i64
, i64
, i64
)
368 DEF_HELPER_2(neon_paddl_u32
, i64
, i64
, i64
)
369 DEF_HELPER_2(neon_subl_u16
, i64
, i64
, i64
)
370 DEF_HELPER_2(neon_subl_u32
, i64
, i64
, i64
)
371 DEF_HELPER_3(neon_addl_saturate_s32
, i64
, env
, i64
, i64
)
372 DEF_HELPER_3(neon_addl_saturate_s64
, i64
, env
, i64
, i64
)
373 DEF_HELPER_2(neon_abdl_u16
, i64
, i32
, i32
)
374 DEF_HELPER_2(neon_abdl_s16
, i64
, i32
, i32
)
375 DEF_HELPER_2(neon_abdl_u32
, i64
, i32
, i32
)
376 DEF_HELPER_2(neon_abdl_s32
, i64
, i32
, i32
)
377 DEF_HELPER_2(neon_abdl_u64
, i64
, i32
, i32
)
378 DEF_HELPER_2(neon_abdl_s64
, i64
, i32
, i32
)
379 DEF_HELPER_2(neon_mull_u8
, i64
, i32
, i32
)
380 DEF_HELPER_2(neon_mull_s8
, i64
, i32
, i32
)
381 DEF_HELPER_2(neon_mull_u16
, i64
, i32
, i32
)
382 DEF_HELPER_2(neon_mull_s16
, i64
, i32
, i32
)
384 DEF_HELPER_1(neon_negl_u16
, i64
, i64
)
385 DEF_HELPER_1(neon_negl_u32
, i64
, i64
)
387 DEF_HELPER_FLAGS_2(neon_qabs_s8
, TCG_CALL_NO_RWG
, i32
, env
, i32
)
388 DEF_HELPER_FLAGS_2(neon_qabs_s16
, TCG_CALL_NO_RWG
, i32
, env
, i32
)
389 DEF_HELPER_FLAGS_2(neon_qabs_s32
, TCG_CALL_NO_RWG
, i32
, env
, i32
)
390 DEF_HELPER_FLAGS_2(neon_qabs_s64
, TCG_CALL_NO_RWG
, i64
, env
, i64
)
391 DEF_HELPER_FLAGS_2(neon_qneg_s8
, TCG_CALL_NO_RWG
, i32
, env
, i32
)
392 DEF_HELPER_FLAGS_2(neon_qneg_s16
, TCG_CALL_NO_RWG
, i32
, env
, i32
)
393 DEF_HELPER_FLAGS_2(neon_qneg_s32
, TCG_CALL_NO_RWG
, i32
, env
, i32
)
394 DEF_HELPER_FLAGS_2(neon_qneg_s64
, TCG_CALL_NO_RWG
, i64
, env
, i64
)
396 DEF_HELPER_3(neon_abd_f32
, i32
, i32
, i32
, ptr
)
397 DEF_HELPER_3(neon_ceq_f32
, i32
, i32
, i32
, ptr
)
398 DEF_HELPER_3(neon_cge_f32
, i32
, i32
, i32
, ptr
)
399 DEF_HELPER_3(neon_cgt_f32
, i32
, i32
, i32
, ptr
)
400 DEF_HELPER_3(neon_acge_f32
, i32
, i32
, i32
, ptr
)
401 DEF_HELPER_3(neon_acgt_f32
, i32
, i32
, i32
, ptr
)
402 DEF_HELPER_3(neon_acge_f64
, i64
, i64
, i64
, ptr
)
403 DEF_HELPER_3(neon_acgt_f64
, i64
, i64
, i64
, ptr
)
405 /* iwmmxt_helper.c */
406 DEF_HELPER_2(iwmmxt_maddsq
, i64
, i64
, i64
)
407 DEF_HELPER_2(iwmmxt_madduq
, i64
, i64
, i64
)
408 DEF_HELPER_2(iwmmxt_sadb
, i64
, i64
, i64
)
409 DEF_HELPER_2(iwmmxt_sadw
, i64
, i64
, i64
)
410 DEF_HELPER_2(iwmmxt_mulslw
, i64
, i64
, i64
)
411 DEF_HELPER_2(iwmmxt_mulshw
, i64
, i64
, i64
)
412 DEF_HELPER_2(iwmmxt_mululw
, i64
, i64
, i64
)
413 DEF_HELPER_2(iwmmxt_muluhw
, i64
, i64
, i64
)
414 DEF_HELPER_2(iwmmxt_macsw
, i64
, i64
, i64
)
415 DEF_HELPER_2(iwmmxt_macuw
, i64
, i64
, i64
)
416 DEF_HELPER_1(iwmmxt_setpsr_nz
, i32
, i64
)
418 #define DEF_IWMMXT_HELPER_SIZE_ENV(name) \
419 DEF_HELPER_3(iwmmxt_##name##b, i64, env, i64, i64) \
420 DEF_HELPER_3(iwmmxt_##name##w, i64, env, i64, i64) \
421 DEF_HELPER_3(iwmmxt_##name##l, i64, env, i64, i64) \
423 DEF_IWMMXT_HELPER_SIZE_ENV(unpackl)
424 DEF_IWMMXT_HELPER_SIZE_ENV(unpackh
)
426 DEF_HELPER_2(iwmmxt_unpacklub
, i64
, env
, i64
)
427 DEF_HELPER_2(iwmmxt_unpackluw
, i64
, env
, i64
)
428 DEF_HELPER_2(iwmmxt_unpacklul
, i64
, env
, i64
)
429 DEF_HELPER_2(iwmmxt_unpackhub
, i64
, env
, i64
)
430 DEF_HELPER_2(iwmmxt_unpackhuw
, i64
, env
, i64
)
431 DEF_HELPER_2(iwmmxt_unpackhul
, i64
, env
, i64
)
432 DEF_HELPER_2(iwmmxt_unpacklsb
, i64
, env
, i64
)
433 DEF_HELPER_2(iwmmxt_unpacklsw
, i64
, env
, i64
)
434 DEF_HELPER_2(iwmmxt_unpacklsl
, i64
, env
, i64
)
435 DEF_HELPER_2(iwmmxt_unpackhsb
, i64
, env
, i64
)
436 DEF_HELPER_2(iwmmxt_unpackhsw
, i64
, env
, i64
)
437 DEF_HELPER_2(iwmmxt_unpackhsl
, i64
, env
, i64
)
439 DEF_IWMMXT_HELPER_SIZE_ENV(cmpeq
)
440 DEF_IWMMXT_HELPER_SIZE_ENV(cmpgtu
)
441 DEF_IWMMXT_HELPER_SIZE_ENV(cmpgts
)
443 DEF_IWMMXT_HELPER_SIZE_ENV(mins
)
444 DEF_IWMMXT_HELPER_SIZE_ENV(minu
)
445 DEF_IWMMXT_HELPER_SIZE_ENV(maxs
)
446 DEF_IWMMXT_HELPER_SIZE_ENV(maxu
)
448 DEF_IWMMXT_HELPER_SIZE_ENV(subn
)
449 DEF_IWMMXT_HELPER_SIZE_ENV(addn
)
450 DEF_IWMMXT_HELPER_SIZE_ENV(subu
)
451 DEF_IWMMXT_HELPER_SIZE_ENV(addu
)
452 DEF_IWMMXT_HELPER_SIZE_ENV(subs
)
453 DEF_IWMMXT_HELPER_SIZE_ENV(adds
)
455 DEF_HELPER_3(iwmmxt_avgb0
, i64
, env
, i64
, i64
)
456 DEF_HELPER_3(iwmmxt_avgb1
, i64
, env
, i64
, i64
)
457 DEF_HELPER_3(iwmmxt_avgw0
, i64
, env
, i64
, i64
)
458 DEF_HELPER_3(iwmmxt_avgw1
, i64
, env
, i64
, i64
)
460 DEF_HELPER_3(iwmmxt_align
, i64
, i64
, i64
, i32
)
461 DEF_HELPER_4(iwmmxt_insr
, i64
, i64
, i32
, i32
, i32
)
463 DEF_HELPER_1(iwmmxt_bcstb
, i64
, i32
)
464 DEF_HELPER_1(iwmmxt_bcstw
, i64
, i32
)
465 DEF_HELPER_1(iwmmxt_bcstl
, i64
, i32
)
467 DEF_HELPER_1(iwmmxt_addcb
, i64
, i64
)
468 DEF_HELPER_1(iwmmxt_addcw
, i64
, i64
)
469 DEF_HELPER_1(iwmmxt_addcl
, i64
, i64
)
471 DEF_HELPER_1(iwmmxt_msbb
, i32
, i64
)
472 DEF_HELPER_1(iwmmxt_msbw
, i32
, i64
)
473 DEF_HELPER_1(iwmmxt_msbl
, i32
, i64
)
475 DEF_HELPER_3(iwmmxt_srlw
, i64
, env
, i64
, i32
)
476 DEF_HELPER_3(iwmmxt_srll
, i64
, env
, i64
, i32
)
477 DEF_HELPER_3(iwmmxt_srlq
, i64
, env
, i64
, i32
)
478 DEF_HELPER_3(iwmmxt_sllw
, i64
, env
, i64
, i32
)
479 DEF_HELPER_3(iwmmxt_slll
, i64
, env
, i64
, i32
)
480 DEF_HELPER_3(iwmmxt_sllq
, i64
, env
, i64
, i32
)
481 DEF_HELPER_3(iwmmxt_sraw
, i64
, env
, i64
, i32
)
482 DEF_HELPER_3(iwmmxt_sral
, i64
, env
, i64
, i32
)
483 DEF_HELPER_3(iwmmxt_sraq
, i64
, env
, i64
, i32
)
484 DEF_HELPER_3(iwmmxt_rorw
, i64
, env
, i64
, i32
)
485 DEF_HELPER_3(iwmmxt_rorl
, i64
, env
, i64
, i32
)
486 DEF_HELPER_3(iwmmxt_rorq
, i64
, env
, i64
, i32
)
487 DEF_HELPER_3(iwmmxt_shufh
, i64
, env
, i64
, i32
)
489 DEF_HELPER_3(iwmmxt_packuw
, i64
, env
, i64
, i64
)
490 DEF_HELPER_3(iwmmxt_packul
, i64
, env
, i64
, i64
)
491 DEF_HELPER_3(iwmmxt_packuq
, i64
, env
, i64
, i64
)
492 DEF_HELPER_3(iwmmxt_packsw
, i64
, env
, i64
, i64
)
493 DEF_HELPER_3(iwmmxt_packsl
, i64
, env
, i64
, i64
)
494 DEF_HELPER_3(iwmmxt_packsq
, i64
, env
, i64
, i64
)
496 DEF_HELPER_3(iwmmxt_muladdsl
, i64
, i64
, i32
, i32
)
497 DEF_HELPER_3(iwmmxt_muladdsw
, i64
, i64
, i32
, i32
)
498 DEF_HELPER_3(iwmmxt_muladdswl
, i64
, i64
, i32
, i32
)
500 DEF_HELPER_3(neon_unzip8
, void, env
, i32
, i32
)
501 DEF_HELPER_3(neon_unzip16
, void, env
, i32
, i32
)
502 DEF_HELPER_3(neon_qunzip8
, void, env
, i32
, i32
)
503 DEF_HELPER_3(neon_qunzip16
, void, env
, i32
, i32
)
504 DEF_HELPER_3(neon_qunzip32
, void, env
, i32
, i32
)
505 DEF_HELPER_3(neon_zip8
, void, env
, i32
, i32
)
506 DEF_HELPER_3(neon_zip16
, void, env
, i32
, i32
)
507 DEF_HELPER_3(neon_qzip8
, void, env
, i32
, i32
)
508 DEF_HELPER_3(neon_qzip16
, void, env
, i32
, i32
)
509 DEF_HELPER_3(neon_qzip32
, void, env
, i32
, i32
)
511 DEF_HELPER_4(crypto_aese
, void, env
, i32
, i32
, i32
)
512 DEF_HELPER_4(crypto_aesmc
, void, env
, i32
, i32
, i32
)
514 DEF_HELPER_5(crypto_sha1_3reg
, void, env
, i32
, i32
, i32
, i32
)
515 DEF_HELPER_3(crypto_sha1h
, void, env
, i32
, i32
)
516 DEF_HELPER_3(crypto_sha1su1
, void, env
, i32
, i32
)
518 DEF_HELPER_4(crypto_sha256h
, void, env
, i32
, i32
, i32
)
519 DEF_HELPER_4(crypto_sha256h2
, void, env
, i32
, i32
, i32
)
520 DEF_HELPER_3(crypto_sha256su0
, void, env
, i32
, i32
)
521 DEF_HELPER_4(crypto_sha256su1
, void, env
, i32
, i32
, i32
)
523 DEF_HELPER_FLAGS_3(crc32
, TCG_CALL_NO_RWG_SE
, i32
, i32
, i32
, i32
)
524 DEF_HELPER_FLAGS_3(crc32c
, TCG_CALL_NO_RWG_SE
, i32
, i32
, i32
, i32
)
525 DEF_HELPER_2(dc_zva
, void, env
, i64
)
527 DEF_HELPER_FLAGS_2(neon_pmull_64_lo
, TCG_CALL_NO_RWG_SE
, i64
, i64
, i64
)
528 DEF_HELPER_FLAGS_2(neon_pmull_64_hi
, TCG_CALL_NO_RWG_SE
, i64
, i64
, i64
)
530 #ifdef TARGET_AARCH64
531 #include "helper-a64.h"