root / target-arm / helpers.h @ e00c1e71
History | View | Annotate | Download (25.9 kB)
1 |
#define DEF_HELPER(name, ret, args) ret glue(helper_,name) args;
|
---|---|
2 |
|
3 |
#ifdef GEN_HELPER
|
4 |
#define DEF_HELPER_0_0(name, ret, args) \
|
5 |
DEF_HELPER(name, ret, args) \ |
6 |
static inline void gen_helper_##name(void) \ |
7 |
{ \ |
8 |
tcg_gen_helper_0_0(helper_##name); \ |
9 |
} |
10 |
#define DEF_HELPER_0_1(name, ret, args) \
|
11 |
DEF_HELPER(name, ret, args) \ |
12 |
static inline void gen_helper_##name(TCGv arg1) \ |
13 |
{ \ |
14 |
tcg_gen_helper_0_1(helper_##name, arg1); \ |
15 |
} |
16 |
#define DEF_HELPER_0_2(name, ret, args) \
|
17 |
DEF_HELPER(name, ret, args) \ |
18 |
static inline void gen_helper_##name(TCGv arg1, TCGv arg2) \ |
19 |
{ \ |
20 |
tcg_gen_helper_0_2(helper_##name, arg1, arg2); \ |
21 |
} |
22 |
#define DEF_HELPER_0_3(name, ret, args) \
|
23 |
DEF_HELPER(name, ret, args) \ |
24 |
static inline void gen_helper_##name( \ |
25 |
TCGv arg1, TCGv arg2, TCGv arg3) \ |
26 |
{ \ |
27 |
tcg_gen_helper_0_3(helper_##name, arg1, arg2, arg3); \ |
28 |
} |
29 |
#define DEF_HELPER_1_0(name, ret, args) \
|
30 |
DEF_HELPER(name, ret, args) \ |
31 |
static inline void gen_helper_##name(TCGv ret) \ |
32 |
{ \ |
33 |
tcg_gen_helper_1_0(helper_##name, ret); \ |
34 |
} |
35 |
#define DEF_HELPER_1_1(name, ret, args) \
|
36 |
DEF_HELPER(name, ret, args) \ |
37 |
static inline void gen_helper_##name(TCGv ret, TCGv arg1) \ |
38 |
{ \ |
39 |
tcg_gen_helper_1_1(helper_##name, ret, arg1); \ |
40 |
} |
41 |
#define DEF_HELPER_1_2(name, ret, args) \
|
42 |
DEF_HELPER(name, ret, args) \ |
43 |
static inline void gen_helper_##name(TCGv ret, TCGv arg1, TCGv arg2) \ |
44 |
{ \ |
45 |
tcg_gen_helper_1_2(helper_##name, ret, arg1, arg2); \ |
46 |
} |
47 |
#define DEF_HELPER_1_3(name, ret, args) \
|
48 |
DEF_HELPER(name, ret, args) \ |
49 |
static inline void gen_helper_##name(TCGv ret, \ |
50 |
TCGv arg1, TCGv arg2, TCGv arg3) \ |
51 |
{ \ |
52 |
tcg_gen_helper_1_3(helper_##name, ret, arg1, arg2, arg3); \ |
53 |
} |
54 |
#define DEF_HELPER_1_4(name, ret, args) \
|
55 |
DEF_HELPER(name, ret, args) \ |
56 |
static inline void gen_helper_##name(TCGv ret, \ |
57 |
TCGv arg1, TCGv arg2, TCGv arg3, TCGv arg4) \ |
58 |
{ \ |
59 |
tcg_gen_helper_1_4(helper_##name, ret, arg1, arg2, arg3, arg4); \ |
60 |
} |
61 |
#else /* !GEN_HELPER */ |
62 |
#define DEF_HELPER_0_0 DEF_HELPER
|
63 |
#define DEF_HELPER_0_1 DEF_HELPER
|
64 |
#define DEF_HELPER_0_2 DEF_HELPER
|
65 |
#define DEF_HELPER_0_3 DEF_HELPER
|
66 |
#define DEF_HELPER_1_0 DEF_HELPER
|
67 |
#define DEF_HELPER_1_1 DEF_HELPER
|
68 |
#define DEF_HELPER_1_2 DEF_HELPER
|
69 |
#define DEF_HELPER_1_3 DEF_HELPER
|
70 |
#define DEF_HELPER_1_4 DEF_HELPER
|
71 |
#define HELPER(x) glue(helper_,x)
|
72 |
#endif
|
73 |
|
74 |
DEF_HELPER_1_1(clz, uint32_t, (uint32_t)) |
75 |
DEF_HELPER_1_1(sxtb16, uint32_t, (uint32_t)) |
76 |
DEF_HELPER_1_1(uxtb16, uint32_t, (uint32_t)) |
77 |
|
78 |
DEF_HELPER_1_2(add_setq, uint32_t, (uint32_t, uint32_t)) |
79 |
DEF_HELPER_1_2(add_saturate, uint32_t, (uint32_t, uint32_t)) |
80 |
DEF_HELPER_1_2(sub_saturate, uint32_t, (uint32_t, uint32_t)) |
81 |
DEF_HELPER_1_2(add_usaturate, uint32_t, (uint32_t, uint32_t)) |
82 |
DEF_HELPER_1_2(sub_usaturate, uint32_t, (uint32_t, uint32_t)) |
83 |
DEF_HELPER_1_1(double_saturate, uint32_t, (int32_t)) |
84 |
DEF_HELPER_1_2(sdiv, int32_t, (int32_t, int32_t)) |
85 |
DEF_HELPER_1_2(udiv, uint32_t, (uint32_t, uint32_t)) |
86 |
DEF_HELPER_1_1(rbit, uint32_t, (uint32_t)) |
87 |
DEF_HELPER_1_1(abs, uint32_t, (uint32_t)) |
88 |
|
89 |
#define PAS_OP(pfx) \
|
90 |
DEF_HELPER_1_3(pfx ## add8, uint32_t, (uint32_t, uint32_t, uint32_t *)) \ |
91 |
DEF_HELPER_1_3(pfx ## sub8, uint32_t, (uint32_t, uint32_t, uint32_t *)) \ |
92 |
DEF_HELPER_1_3(pfx ## sub16, uint32_t, (uint32_t, uint32_t, uint32_t *)) \ |
93 |
DEF_HELPER_1_3(pfx ## add16, uint32_t, (uint32_t, uint32_t, uint32_t *)) \ |
94 |
DEF_HELPER_1_3(pfx ## addsubx, uint32_t, (uint32_t, uint32_t, uint32_t *)) \ |
95 |
DEF_HELPER_1_3(pfx ## subaddx, uint32_t, (uint32_t, uint32_t, uint32_t *)) |
96 |
|
97 |
PAS_OP(s) |
98 |
PAS_OP(u) |
99 |
#undef PAS_OP
|
100 |
|
101 |
#define PAS_OP(pfx) \
|
102 |
DEF_HELPER_1_2(pfx ## add8, uint32_t, (uint32_t, uint32_t)) \ |
103 |
DEF_HELPER_1_2(pfx ## sub8, uint32_t, (uint32_t, uint32_t)) \ |
104 |
DEF_HELPER_1_2(pfx ## sub16, uint32_t, (uint32_t, uint32_t)) \ |
105 |
DEF_HELPER_1_2(pfx ## add16, uint32_t, (uint32_t, uint32_t)) \ |
106 |
DEF_HELPER_1_2(pfx ## addsubx, uint32_t, (uint32_t, uint32_t)) \ |
107 |
DEF_HELPER_1_2(pfx ## subaddx, uint32_t, (uint32_t, uint32_t)) |
108 |
PAS_OP(q) |
109 |
PAS_OP(sh) |
110 |
PAS_OP(uq) |
111 |
PAS_OP(uh) |
112 |
#undef PAS_OP
|
113 |
|
114 |
DEF_HELPER_1_2(ssat, uint32_t, (uint32_t, uint32_t)) |
115 |
DEF_HELPER_1_2(usat, uint32_t, (uint32_t, uint32_t)) |
116 |
DEF_HELPER_1_2(ssat16, uint32_t, (uint32_t, uint32_t)) |
117 |
DEF_HELPER_1_2(usat16, uint32_t, (uint32_t, uint32_t)) |
118 |
|
119 |
DEF_HELPER_1_2(usad8, uint32_t, (uint32_t, uint32_t)) |
120 |
|
121 |
DEF_HELPER_1_1(logicq_cc, uint32_t, (uint64_t)) |
122 |
|
123 |
DEF_HELPER_1_3(sel_flags, uint32_t, (uint32_t, uint32_t, uint32_t)) |
124 |
DEF_HELPER_0_1(exception, void, (uint32_t))
|
125 |
DEF_HELPER_0_0(wfi, void, (void)) |
126 |
|
127 |
DEF_HELPER_0_2(cpsr_write, void, (uint32_t, uint32_t))
|
128 |
DEF_HELPER_1_0(cpsr_read, uint32_t, (void))
|
129 |
|
130 |
DEF_HELPER_0_3(v7m_msr, void, (CPUState *, uint32_t, uint32_t))
|
131 |
DEF_HELPER_1_2(v7m_mrs, uint32_t, (CPUState *, uint32_t)) |
132 |
|
133 |
DEF_HELPER_0_3(set_cp15, void, (CPUState *, uint32_t, uint32_t))
|
134 |
DEF_HELPER_1_2(get_cp15, uint32_t, (CPUState *, uint32_t)) |
135 |
|
136 |
DEF_HELPER_0_3(set_cp, void, (CPUState *, uint32_t, uint32_t))
|
137 |
DEF_HELPER_1_2(get_cp, uint32_t, (CPUState *, uint32_t)) |
138 |
|
139 |
DEF_HELPER_1_2(get_r13_banked, uint32_t, (CPUState *, uint32_t)) |
140 |
DEF_HELPER_0_3(set_r13_banked, void, (CPUState *, uint32_t, uint32_t))
|
141 |
|
142 |
DEF_HELPER_0_2(mark_exclusive, void, (CPUState *, uint32_t))
|
143 |
DEF_HELPER_1_2(test_exclusive, uint32_t, (CPUState *, uint32_t)) |
144 |
DEF_HELPER_0_1(clrex, void, (CPUState *))
|
145 |
|
146 |
DEF_HELPER_1_1(get_user_reg, uint32_t, (uint32_t)) |
147 |
DEF_HELPER_0_2(set_user_reg, void, (uint32_t, uint32_t))
|
148 |
|
149 |
DEF_HELPER_1_1(vfp_get_fpscr, uint32_t, (CPUState *)) |
150 |
DEF_HELPER_0_2(vfp_set_fpscr, void, (CPUState *, uint32_t))
|
151 |
|
152 |
DEF_HELPER_1_3(vfp_adds, float32, (float32, float32, CPUState *)) |
153 |
DEF_HELPER_1_3(vfp_addd, float64, (float64, float64, CPUState *)) |
154 |
DEF_HELPER_1_3(vfp_subs, float32, (float32, float32, CPUState *)) |
155 |
DEF_HELPER_1_3(vfp_subd, float64, (float64, float64, CPUState *)) |
156 |
DEF_HELPER_1_3(vfp_muls, float32, (float32, float32, CPUState *)) |
157 |
DEF_HELPER_1_3(vfp_muld, float64, (float64, float64, CPUState *)) |
158 |
DEF_HELPER_1_3(vfp_divs, float32, (float32, float32, CPUState *)) |
159 |
DEF_HELPER_1_3(vfp_divd, float64, (float64, float64, CPUState *)) |
160 |
DEF_HELPER_1_1(vfp_negs, float32, (float32)) |
161 |
DEF_HELPER_1_1(vfp_negd, float64, (float64)) |
162 |
DEF_HELPER_1_1(vfp_abss, float32, (float32)) |
163 |
DEF_HELPER_1_1(vfp_absd, float64, (float64)) |
164 |
DEF_HELPER_1_2(vfp_sqrts, float32, (float32, CPUState *)) |
165 |
DEF_HELPER_1_2(vfp_sqrtd, float64, (float64, CPUState *)) |
166 |
DEF_HELPER_0_3(vfp_cmps, void, (float32, float32, CPUState *))
|
167 |
DEF_HELPER_0_3(vfp_cmpd, void, (float64, float64, CPUState *))
|
168 |
DEF_HELPER_0_3(vfp_cmpes, void, (float32, float32, CPUState *))
|
169 |
DEF_HELPER_0_3(vfp_cmped, void, (float64, float64, CPUState *))
|
170 |
|
171 |
DEF_HELPER_1_2(vfp_fcvtds, float64, (float32, CPUState *)) |
172 |
DEF_HELPER_1_2(vfp_fcvtsd, float32, (float64, CPUState *)) |
173 |
|
174 |
DEF_HELPER_1_2(vfp_uitos, float32, (float32, CPUState *)) |
175 |
DEF_HELPER_1_2(vfp_uitod, float64, (float32, CPUState *)) |
176 |
DEF_HELPER_1_2(vfp_sitos, float32, (float32, CPUState *)) |
177 |
DEF_HELPER_1_2(vfp_sitod, float64, (float32, CPUState *)) |
178 |
|
179 |
DEF_HELPER_1_2(vfp_touis, float32, (float32, CPUState *)) |
180 |
DEF_HELPER_1_2(vfp_touid, float32, (float64, CPUState *)) |
181 |
DEF_HELPER_1_2(vfp_touizs, float32, (float32, CPUState *)) |
182 |
DEF_HELPER_1_2(vfp_touizd, float32, (float64, CPUState *)) |
183 |
DEF_HELPER_1_2(vfp_tosis, float32, (float32, CPUState *)) |
184 |
DEF_HELPER_1_2(vfp_tosid, float32, (float64, CPUState *)) |
185 |
DEF_HELPER_1_2(vfp_tosizs, float32, (float32, CPUState *)) |
186 |
DEF_HELPER_1_2(vfp_tosizd, float32, (float64, CPUState *)) |
187 |
|
188 |
DEF_HELPER_1_3(vfp_toshs, float32, (float32, uint32_t, CPUState *)) |
189 |
DEF_HELPER_1_3(vfp_tosls, float32, (float32, uint32_t, CPUState *)) |
190 |
DEF_HELPER_1_3(vfp_touhs, float32, (float32, uint32_t, CPUState *)) |
191 |
DEF_HELPER_1_3(vfp_touls, float32, (float32, uint32_t, CPUState *)) |
192 |
DEF_HELPER_1_3(vfp_toshd, float64, (float64, uint32_t, CPUState *)) |
193 |
DEF_HELPER_1_3(vfp_tosld, float64, (float64, uint32_t, CPUState *)) |
194 |
DEF_HELPER_1_3(vfp_touhd, float64, (float64, uint32_t, CPUState *)) |
195 |
DEF_HELPER_1_3(vfp_tould, float64, (float64, uint32_t, CPUState *)) |
196 |
DEF_HELPER_1_3(vfp_shtos, float32, (float32, uint32_t, CPUState *)) |
197 |
DEF_HELPER_1_3(vfp_sltos, float32, (float32, uint32_t, CPUState *)) |
198 |
DEF_HELPER_1_3(vfp_uhtos, float32, (float32, uint32_t, CPUState *)) |
199 |
DEF_HELPER_1_3(vfp_ultos, float32, (float32, uint32_t, CPUState *)) |
200 |
DEF_HELPER_1_3(vfp_shtod, float64, (float64, uint32_t, CPUState *)) |
201 |
DEF_HELPER_1_3(vfp_sltod, float64, (float64, uint32_t, CPUState *)) |
202 |
DEF_HELPER_1_3(vfp_uhtod, float64, (float64, uint32_t, CPUState *)) |
203 |
DEF_HELPER_1_3(vfp_ultod, float64, (float64, uint32_t, CPUState *)) |
204 |
|
205 |
DEF_HELPER_1_3(recps_f32, float32, (float32, float32, CPUState *)) |
206 |
DEF_HELPER_1_3(rsqrts_f32, float32, (float32, float32, CPUState *)) |
207 |
DEF_HELPER_1_2(recpe_f32, float32, (float32, CPUState *)) |
208 |
DEF_HELPER_1_2(rsqrte_f32, float32, (float32, CPUState *)) |
209 |
DEF_HELPER_1_2(recpe_u32, uint32_t, (uint32_t, CPUState *)) |
210 |
DEF_HELPER_1_2(rsqrte_u32, uint32_t, (uint32_t, CPUState *)) |
211 |
DEF_HELPER_1_4(neon_tbl, uint32_t, (uint32_t, uint32_t, uint32_t, uint32_t)) |
212 |
DEF_HELPER_1_2(neon_add_saturate_u64, uint64_t, (uint64_t, uint64_t)) |
213 |
DEF_HELPER_1_2(neon_add_saturate_s64, uint64_t, (uint64_t, uint64_t)) |
214 |
DEF_HELPER_1_2(neon_sub_saturate_u64, uint64_t, (uint64_t, uint64_t)) |
215 |
DEF_HELPER_1_2(neon_sub_saturate_s64, uint64_t, (uint64_t, uint64_t)) |
216 |
|
217 |
DEF_HELPER_1_2(add_cc, uint32_t, (uint32_t, uint32_t)) |
218 |
DEF_HELPER_1_2(adc_cc, uint32_t, (uint32_t, uint32_t)) |
219 |
DEF_HELPER_1_2(sub_cc, uint32_t, (uint32_t, uint32_t)) |
220 |
DEF_HELPER_1_2(sbc_cc, uint32_t, (uint32_t, uint32_t)) |
221 |
|
222 |
DEF_HELPER_1_2(shl, uint32_t, (uint32_t, uint32_t)) |
223 |
DEF_HELPER_1_2(shr, uint32_t, (uint32_t, uint32_t)) |
224 |
DEF_HELPER_1_2(sar, uint32_t, (uint32_t, uint32_t)) |
225 |
DEF_HELPER_1_2(ror, uint32_t, (uint32_t, uint32_t)) |
226 |
DEF_HELPER_1_2(shl_cc, uint32_t, (uint32_t, uint32_t)) |
227 |
DEF_HELPER_1_2(shr_cc, uint32_t, (uint32_t, uint32_t)) |
228 |
DEF_HELPER_1_2(sar_cc, uint32_t, (uint32_t, uint32_t)) |
229 |
DEF_HELPER_1_2(ror_cc, uint32_t, (uint32_t, uint32_t)) |
230 |
|
231 |
/* neon_helper.c */
|
232 |
DEF_HELPER_1_3(neon_qadd_u8, uint32_t, (CPUState *, uint32_t, uint32_t)) |
233 |
DEF_HELPER_1_3(neon_qadd_s8, uint32_t, (CPUState *, uint32_t, uint32_t)) |
234 |
DEF_HELPER_1_3(neon_qadd_u16, uint32_t, (CPUState *, uint32_t, uint32_t)) |
235 |
DEF_HELPER_1_3(neon_qadd_s16, uint32_t, (CPUState *, uint32_t, uint32_t)) |
236 |
DEF_HELPER_1_3(neon_qsub_u8, uint32_t, (CPUState *, uint32_t, uint32_t)) |
237 |
DEF_HELPER_1_3(neon_qsub_s8, uint32_t, (CPUState *, uint32_t, uint32_t)) |
238 |
DEF_HELPER_1_3(neon_qsub_u16, uint32_t, (CPUState *, uint32_t, uint32_t)) |
239 |
DEF_HELPER_1_3(neon_qsub_s16, uint32_t, (CPUState *, uint32_t, uint32_t)) |
240 |
|
241 |
DEF_HELPER_1_2(neon_hadd_s8, uint32_t, (uint32_t, uint32_t)) |
242 |
DEF_HELPER_1_2(neon_hadd_u8, uint32_t, (uint32_t, uint32_t)) |
243 |
DEF_HELPER_1_2(neon_hadd_s16, uint32_t, (uint32_t, uint32_t)) |
244 |
DEF_HELPER_1_2(neon_hadd_u16, uint32_t, (uint32_t, uint32_t)) |
245 |
DEF_HELPER_1_2(neon_hadd_s32, int32_t, (int32_t, int32_t)) |
246 |
DEF_HELPER_1_2(neon_hadd_u32, uint32_t, (uint32_t, uint32_t)) |
247 |
DEF_HELPER_1_2(neon_rhadd_s8, uint32_t, (uint32_t, uint32_t)) |
248 |
DEF_HELPER_1_2(neon_rhadd_u8, uint32_t, (uint32_t, uint32_t)) |
249 |
DEF_HELPER_1_2(neon_rhadd_s16, uint32_t, (uint32_t, uint32_t)) |
250 |
DEF_HELPER_1_2(neon_rhadd_u16, uint32_t, (uint32_t, uint32_t)) |
251 |
DEF_HELPER_1_2(neon_rhadd_s32, int32_t, (int32_t, int32_t)) |
252 |
DEF_HELPER_1_2(neon_rhadd_u32, uint32_t, (uint32_t, uint32_t)) |
253 |
DEF_HELPER_1_2(neon_hsub_s8, uint32_t, (uint32_t, uint32_t)) |
254 |
DEF_HELPER_1_2(neon_hsub_u8, uint32_t, (uint32_t, uint32_t)) |
255 |
DEF_HELPER_1_2(neon_hsub_s16, uint32_t, (uint32_t, uint32_t)) |
256 |
DEF_HELPER_1_2(neon_hsub_u16, uint32_t, (uint32_t, uint32_t)) |
257 |
DEF_HELPER_1_2(neon_hsub_s32, int32_t, (int32_t, int32_t)) |
258 |
DEF_HELPER_1_2(neon_hsub_u32, uint32_t, (uint32_t, uint32_t)) |
259 |
|
260 |
DEF_HELPER_1_2(neon_cgt_u8, uint32_t, (uint32_t, uint32_t)) |
261 |
DEF_HELPER_1_2(neon_cgt_s8, uint32_t, (uint32_t, uint32_t)) |
262 |
DEF_HELPER_1_2(neon_cgt_u16, uint32_t, (uint32_t, uint32_t)) |
263 |
DEF_HELPER_1_2(neon_cgt_s16, uint32_t, (uint32_t, uint32_t)) |
264 |
DEF_HELPER_1_2(neon_cgt_u32, uint32_t, (uint32_t, uint32_t)) |
265 |
DEF_HELPER_1_2(neon_cgt_s32, uint32_t, (uint32_t, uint32_t)) |
266 |
DEF_HELPER_1_2(neon_cge_u8, uint32_t, (uint32_t, uint32_t)) |
267 |
DEF_HELPER_1_2(neon_cge_s8, uint32_t, (uint32_t, uint32_t)) |
268 |
DEF_HELPER_1_2(neon_cge_u16, uint32_t, (uint32_t, uint32_t)) |
269 |
DEF_HELPER_1_2(neon_cge_s16, uint32_t, (uint32_t, uint32_t)) |
270 |
DEF_HELPER_1_2(neon_cge_u32, uint32_t, (uint32_t, uint32_t)) |
271 |
DEF_HELPER_1_2(neon_cge_s32, uint32_t, (uint32_t, uint32_t)) |
272 |
|
273 |
DEF_HELPER_1_2(neon_min_u8, uint32_t, (uint32_t, uint32_t)) |
274 |
DEF_HELPER_1_2(neon_min_s8, uint32_t, (uint32_t, uint32_t)) |
275 |
DEF_HELPER_1_2(neon_min_u16, uint32_t, (uint32_t, uint32_t)) |
276 |
DEF_HELPER_1_2(neon_min_s16, uint32_t, (uint32_t, uint32_t)) |
277 |
DEF_HELPER_1_2(neon_min_u32, uint32_t, (uint32_t, uint32_t)) |
278 |
DEF_HELPER_1_2(neon_min_s32, uint32_t, (uint32_t, uint32_t)) |
279 |
DEF_HELPER_1_2(neon_max_u8, uint32_t, (uint32_t, uint32_t)) |
280 |
DEF_HELPER_1_2(neon_max_s8, uint32_t, (uint32_t, uint32_t)) |
281 |
DEF_HELPER_1_2(neon_max_u16, uint32_t, (uint32_t, uint32_t)) |
282 |
DEF_HELPER_1_2(neon_max_s16, uint32_t, (uint32_t, uint32_t)) |
283 |
DEF_HELPER_1_2(neon_max_u32, uint32_t, (uint32_t, uint32_t)) |
284 |
DEF_HELPER_1_2(neon_max_s32, uint32_t, (uint32_t, uint32_t)) |
285 |
DEF_HELPER_1_2(neon_pmin_u8, uint32_t, (uint32_t, uint32_t)) |
286 |
DEF_HELPER_1_2(neon_pmin_s8, uint32_t, (uint32_t, uint32_t)) |
287 |
DEF_HELPER_1_2(neon_pmin_u16, uint32_t, (uint32_t, uint32_t)) |
288 |
DEF_HELPER_1_2(neon_pmin_s16, uint32_t, (uint32_t, uint32_t)) |
289 |
DEF_HELPER_1_2(neon_pmin_u32, uint32_t, (uint32_t, uint32_t)) |
290 |
DEF_HELPER_1_2(neon_pmin_s32, uint32_t, (uint32_t, uint32_t)) |
291 |
DEF_HELPER_1_2(neon_pmax_u8, uint32_t, (uint32_t, uint32_t)) |
292 |
DEF_HELPER_1_2(neon_pmax_s8, uint32_t, (uint32_t, uint32_t)) |
293 |
DEF_HELPER_1_2(neon_pmax_u16, uint32_t, (uint32_t, uint32_t)) |
294 |
DEF_HELPER_1_2(neon_pmax_s16, uint32_t, (uint32_t, uint32_t)) |
295 |
DEF_HELPER_1_2(neon_pmax_u32, uint32_t, (uint32_t, uint32_t)) |
296 |
DEF_HELPER_1_2(neon_pmax_s32, uint32_t, (uint32_t, uint32_t)) |
297 |
|
298 |
DEF_HELPER_1_2(neon_abd_u8, uint32_t, (uint32_t, uint32_t)) |
299 |
DEF_HELPER_1_2(neon_abd_s8, uint32_t, (uint32_t, uint32_t)) |
300 |
DEF_HELPER_1_2(neon_abd_u16, uint32_t, (uint32_t, uint32_t)) |
301 |
DEF_HELPER_1_2(neon_abd_s16, uint32_t, (uint32_t, uint32_t)) |
302 |
DEF_HELPER_1_2(neon_abd_u32, uint32_t, (uint32_t, uint32_t)) |
303 |
DEF_HELPER_1_2(neon_abd_s32, uint32_t, (uint32_t, uint32_t)) |
304 |
|
305 |
DEF_HELPER_1_2(neon_shl_u8, uint32_t, (uint32_t, uint32_t)) |
306 |
DEF_HELPER_1_2(neon_shl_s8, uint32_t, (uint32_t, uint32_t)) |
307 |
DEF_HELPER_1_2(neon_shl_u16, uint32_t, (uint32_t, uint32_t)) |
308 |
DEF_HELPER_1_2(neon_shl_s16, uint32_t, (uint32_t, uint32_t)) |
309 |
DEF_HELPER_1_2(neon_shl_u32, uint32_t, (uint32_t, uint32_t)) |
310 |
DEF_HELPER_1_2(neon_shl_s32, uint32_t, (uint32_t, uint32_t)) |
311 |
DEF_HELPER_1_2(neon_shl_u64, uint64_t, (uint64_t, uint64_t)) |
312 |
DEF_HELPER_1_2(neon_shl_s64, uint64_t, (uint64_t, uint64_t)) |
313 |
DEF_HELPER_1_2(neon_rshl_u8, uint32_t, (uint32_t, uint32_t)) |
314 |
DEF_HELPER_1_2(neon_rshl_s8, uint32_t, (uint32_t, uint32_t)) |
315 |
DEF_HELPER_1_2(neon_rshl_u16, uint32_t, (uint32_t, uint32_t)) |
316 |
DEF_HELPER_1_2(neon_rshl_s16, uint32_t, (uint32_t, uint32_t)) |
317 |
DEF_HELPER_1_2(neon_rshl_u32, uint32_t, (uint32_t, uint32_t)) |
318 |
DEF_HELPER_1_2(neon_rshl_s32, uint32_t, (uint32_t, uint32_t)) |
319 |
DEF_HELPER_1_2(neon_rshl_u64, uint64_t, (uint64_t, uint64_t)) |
320 |
DEF_HELPER_1_2(neon_rshl_s64, uint64_t, (uint64_t, uint64_t)) |
321 |
DEF_HELPER_1_3(neon_qshl_u8, uint32_t, (CPUState *, uint32_t, uint32_t)) |
322 |
DEF_HELPER_1_3(neon_qshl_s8, uint32_t, (CPUState *, uint32_t, uint32_t)) |
323 |
DEF_HELPER_1_3(neon_qshl_u16, uint32_t, (CPUState *, uint32_t, uint32_t)) |
324 |
DEF_HELPER_1_3(neon_qshl_s16, uint32_t, (CPUState *, uint32_t, uint32_t)) |
325 |
DEF_HELPER_1_3(neon_qshl_u32, uint32_t, (CPUState *, uint32_t, uint32_t)) |
326 |
DEF_HELPER_1_3(neon_qshl_s32, uint32_t, (CPUState *, uint32_t, uint32_t)) |
327 |
DEF_HELPER_1_3(neon_qshl_u64, uint64_t, (CPUState *, uint64_t, uint64_t)) |
328 |
DEF_HELPER_1_3(neon_qshl_s64, uint64_t, (CPUState *, uint64_t, uint64_t)) |
329 |
DEF_HELPER_1_3(neon_qrshl_u8, uint32_t, (CPUState *, uint32_t, uint32_t)) |
330 |
DEF_HELPER_1_3(neon_qrshl_s8, uint32_t, (CPUState *, uint32_t, uint32_t)) |
331 |
DEF_HELPER_1_3(neon_qrshl_u16, uint32_t, (CPUState *, uint32_t, uint32_t)) |
332 |
DEF_HELPER_1_3(neon_qrshl_s16, uint32_t, (CPUState *, uint32_t, uint32_t)) |
333 |
DEF_HELPER_1_3(neon_qrshl_u32, uint32_t, (CPUState *, uint32_t, uint32_t)) |
334 |
DEF_HELPER_1_3(neon_qrshl_s32, uint32_t, (CPUState *, uint32_t, uint32_t)) |
335 |
DEF_HELPER_1_3(neon_qrshl_u64, uint64_t, (CPUState *, uint64_t, uint64_t)) |
336 |
DEF_HELPER_1_3(neon_qrshl_s64, uint64_t, (CPUState *, uint64_t, uint64_t)) |
337 |
|
338 |
DEF_HELPER_1_2(neon_add_u8, uint32_t, (uint32_t, uint32_t)) |
339 |
DEF_HELPER_1_2(neon_add_u16, uint32_t, (uint32_t, uint32_t)) |
340 |
DEF_HELPER_1_2(neon_padd_u8, uint32_t, (uint32_t, uint32_t)) |
341 |
DEF_HELPER_1_2(neon_padd_u16, uint32_t, (uint32_t, uint32_t)) |
342 |
DEF_HELPER_1_2(neon_sub_u8, uint32_t, (uint32_t, uint32_t)) |
343 |
DEF_HELPER_1_2(neon_sub_u16, uint32_t, (uint32_t, uint32_t)) |
344 |
DEF_HELPER_1_2(neon_mul_u8, uint32_t, (uint32_t, uint32_t)) |
345 |
DEF_HELPER_1_2(neon_mul_u16, uint32_t, (uint32_t, uint32_t)) |
346 |
DEF_HELPER_1_2(neon_mul_p8, uint32_t, (uint32_t, uint32_t)) |
347 |
|
348 |
DEF_HELPER_1_2(neon_tst_u8, uint32_t, (uint32_t, uint32_t)) |
349 |
DEF_HELPER_1_2(neon_tst_u16, uint32_t, (uint32_t, uint32_t)) |
350 |
DEF_HELPER_1_2(neon_tst_u32, uint32_t, (uint32_t, uint32_t)) |
351 |
DEF_HELPER_1_2(neon_ceq_u8, uint32_t, (uint32_t, uint32_t)) |
352 |
DEF_HELPER_1_2(neon_ceq_u16, uint32_t, (uint32_t, uint32_t)) |
353 |
DEF_HELPER_1_2(neon_ceq_u32, uint32_t, (uint32_t, uint32_t)) |
354 |
|
355 |
DEF_HELPER_1_1(neon_abs_s8, uint32_t, (uint32_t)) |
356 |
DEF_HELPER_1_1(neon_abs_s16, uint32_t, (uint32_t)) |
357 |
DEF_HELPER_1_1(neon_clz_u8, uint32_t, (uint32_t)) |
358 |
DEF_HELPER_1_1(neon_clz_u16, uint32_t, (uint32_t)) |
359 |
DEF_HELPER_1_1(neon_cls_s8, uint32_t, (uint32_t)) |
360 |
DEF_HELPER_1_1(neon_cls_s16, uint32_t, (uint32_t)) |
361 |
DEF_HELPER_1_1(neon_cls_s32, uint32_t, (uint32_t)) |
362 |
DEF_HELPER_1_1(neon_cnt_u8, uint32_t, (uint32_t)) |
363 |
|
364 |
DEF_HELPER_1_3(neon_qdmulh_s16, uint32_t, (CPUState *, uint32_t, uint32_t)) |
365 |
DEF_HELPER_1_3(neon_qrdmulh_s16, uint32_t, (CPUState *, uint32_t, uint32_t)) |
366 |
DEF_HELPER_1_3(neon_qdmulh_s32, uint32_t, (CPUState *, uint32_t, uint32_t)) |
367 |
DEF_HELPER_1_3(neon_qrdmulh_s32, uint32_t, (CPUState *, uint32_t, uint32_t)) |
368 |
|
369 |
DEF_HELPER_1_1(neon_narrow_u8, uint32_t, (uint64_t)) |
370 |
DEF_HELPER_1_1(neon_narrow_u16, uint32_t, (uint64_t)) |
371 |
DEF_HELPER_1_2(neon_narrow_sat_u8, uint32_t, (CPUState *, uint64_t)) |
372 |
DEF_HELPER_1_2(neon_narrow_sat_s8, uint32_t, (CPUState *, uint64_t)) |
373 |
DEF_HELPER_1_2(neon_narrow_sat_u16, uint32_t, (CPUState *, uint64_t)) |
374 |
DEF_HELPER_1_2(neon_narrow_sat_s16, uint32_t, (CPUState *, uint64_t)) |
375 |
DEF_HELPER_1_2(neon_narrow_sat_u32, uint32_t, (CPUState *, uint64_t)) |
376 |
DEF_HELPER_1_2(neon_narrow_sat_s32, uint32_t, (CPUState *, uint64_t)) |
377 |
DEF_HELPER_1_1(neon_narrow_high_u8, uint32_t, (uint64_t)) |
378 |
DEF_HELPER_1_1(neon_narrow_high_u16, uint32_t, (uint64_t)) |
379 |
DEF_HELPER_1_1(neon_narrow_round_high_u8, uint32_t, (uint64_t)) |
380 |
DEF_HELPER_1_1(neon_narrow_round_high_u16, uint32_t, (uint64_t)) |
381 |
DEF_HELPER_1_1(neon_widen_u8, uint64_t, (uint32_t)) |
382 |
DEF_HELPER_1_1(neon_widen_s8, uint64_t, (uint32_t)) |
383 |
DEF_HELPER_1_1(neon_widen_u16, uint64_t, (uint32_t)) |
384 |
DEF_HELPER_1_1(neon_widen_s16, uint64_t, (uint32_t)) |
385 |
|
386 |
DEF_HELPER_1_2(neon_addl_u16, uint64_t, (uint64_t, uint64_t)) |
387 |
DEF_HELPER_1_2(neon_addl_u32, uint64_t, (uint64_t, uint64_t)) |
388 |
DEF_HELPER_1_2(neon_paddl_u16, uint64_t, (uint64_t, uint64_t)) |
389 |
DEF_HELPER_1_2(neon_paddl_u32, uint64_t, (uint64_t, uint64_t)) |
390 |
DEF_HELPER_1_2(neon_subl_u16, uint64_t, (uint64_t, uint64_t)) |
391 |
DEF_HELPER_1_2(neon_subl_u32, uint64_t, (uint64_t, uint64_t)) |
392 |
DEF_HELPER_1_3(neon_addl_saturate_s32, uint64_t, (CPUState *, uint64_t, uint64_t)) |
393 |
DEF_HELPER_1_3(neon_addl_saturate_s64, uint64_t, (CPUState *, uint64_t, uint64_t)) |
394 |
DEF_HELPER_1_2(neon_abdl_u16, uint64_t, (uint32_t, uint32_t)) |
395 |
DEF_HELPER_1_2(neon_abdl_s16, uint64_t, (uint32_t, uint32_t)) |
396 |
DEF_HELPER_1_2(neon_abdl_u32, uint64_t, (uint32_t, uint32_t)) |
397 |
DEF_HELPER_1_2(neon_abdl_s32, uint64_t, (uint32_t, uint32_t)) |
398 |
DEF_HELPER_1_2(neon_abdl_u64, uint64_t, (uint32_t, uint32_t)) |
399 |
DEF_HELPER_1_2(neon_abdl_s64, uint64_t, (uint32_t, uint32_t)) |
400 |
DEF_HELPER_1_2(neon_mull_u8, uint64_t, (uint32_t, uint32_t)) |
401 |
DEF_HELPER_1_2(neon_mull_s8, uint64_t, (uint32_t, uint32_t)) |
402 |
DEF_HELPER_1_2(neon_mull_u16, uint64_t, (uint32_t, uint32_t)) |
403 |
DEF_HELPER_1_2(neon_mull_s16, uint64_t, (uint32_t, uint32_t)) |
404 |
|
405 |
DEF_HELPER_1_1(neon_negl_u16, uint64_t, (uint64_t)) |
406 |
DEF_HELPER_1_1(neon_negl_u32, uint64_t, (uint64_t)) |
407 |
DEF_HELPER_1_1(neon_negl_u64, uint64_t, (uint64_t)) |
408 |
|
409 |
DEF_HELPER_1_2(neon_qabs_s8, uint32_t, (CPUState *, uint32_t)) |
410 |
DEF_HELPER_1_2(neon_qabs_s16, uint32_t, (CPUState *, uint32_t)) |
411 |
DEF_HELPER_1_2(neon_qabs_s32, uint32_t, (CPUState *, uint32_t)) |
412 |
DEF_HELPER_1_2(neon_qneg_s8, uint32_t, (CPUState *, uint32_t)) |
413 |
DEF_HELPER_1_2(neon_qneg_s16, uint32_t, (CPUState *, uint32_t)) |
414 |
DEF_HELPER_1_2(neon_qneg_s32, uint32_t, (CPUState *, uint32_t)) |
415 |
|
416 |
DEF_HELPER_0_0(neon_trn_u8, void, (void)) |
417 |
DEF_HELPER_0_0(neon_trn_u16, void, (void)) |
418 |
DEF_HELPER_0_0(neon_unzip_u8, void, (void)) |
419 |
DEF_HELPER_0_0(neon_zip_u8, void, (void)) |
420 |
DEF_HELPER_0_0(neon_zip_u16, void, (void)) |
421 |
|
422 |
DEF_HELPER_1_2(neon_min_f32, uint32_t, (uint32_t, uint32_t)) |
423 |
DEF_HELPER_1_2(neon_max_f32, uint32_t, (uint32_t, uint32_t)) |
424 |
DEF_HELPER_1_2(neon_abd_f32, uint32_t, (uint32_t, uint32_t)) |
425 |
DEF_HELPER_1_2(neon_add_f32, uint32_t, (uint32_t, uint32_t)) |
426 |
DEF_HELPER_1_2(neon_sub_f32, uint32_t, (uint32_t, uint32_t)) |
427 |
DEF_HELPER_1_2(neon_mul_f32, uint32_t, (uint32_t, uint32_t)) |
428 |
DEF_HELPER_1_2(neon_ceq_f32, uint32_t, (uint32_t, uint32_t)) |
429 |
DEF_HELPER_1_2(neon_cge_f32, uint32_t, (uint32_t, uint32_t)) |
430 |
DEF_HELPER_1_2(neon_cgt_f32, uint32_t, (uint32_t, uint32_t)) |
431 |
DEF_HELPER_1_2(neon_acge_f32, uint32_t, (uint32_t, uint32_t)) |
432 |
DEF_HELPER_1_2(neon_acgt_f32, uint32_t, (uint32_t, uint32_t)) |
433 |
|
434 |
/* iwmmxt_helper.c */
|
435 |
DEF_HELPER_1_2(iwmmxt_maddsq, uint64_t, (uint64_t, uint64_t)) |
436 |
DEF_HELPER_1_2(iwmmxt_madduq, uint64_t, (uint64_t, uint64_t)) |
437 |
DEF_HELPER_1_2(iwmmxt_sadb, uint64_t, (uint64_t, uint64_t)) |
438 |
DEF_HELPER_1_2(iwmmxt_sadw, uint64_t, (uint64_t, uint64_t)) |
439 |
DEF_HELPER_1_2(iwmmxt_mulslw, uint64_t, (uint64_t, uint64_t)) |
440 |
DEF_HELPER_1_2(iwmmxt_mulshw, uint64_t, (uint64_t, uint64_t)) |
441 |
DEF_HELPER_1_2(iwmmxt_mululw, uint64_t, (uint64_t, uint64_t)) |
442 |
DEF_HELPER_1_2(iwmmxt_muluhw, uint64_t, (uint64_t, uint64_t)) |
443 |
DEF_HELPER_1_2(iwmmxt_macsw, uint64_t, (uint64_t, uint64_t)) |
444 |
DEF_HELPER_1_2(iwmmxt_macuw, uint64_t, (uint64_t, uint64_t)) |
445 |
DEF_HELPER_1_1(iwmmxt_setpsr_nz, uint32_t, (uint64_t)) |
446 |
|
447 |
#define DEF_IWMMXT_HELPER_SIZE_ENV(name) \
|
448 |
DEF_HELPER_1_3(iwmmxt_##name##b, uint64_t, (CPUState *, uint64_t, uint64_t)) \ |
449 |
DEF_HELPER_1_3(iwmmxt_##name##w, uint64_t, (CPUState *, uint64_t, uint64_t)) \ |
450 |
DEF_HELPER_1_3(iwmmxt_##name##l, uint64_t, (CPUState *, uint64_t, uint64_t)) \ |
451 |
|
452 |
DEF_IWMMXT_HELPER_SIZE_ENV(unpackl) |
453 |
DEF_IWMMXT_HELPER_SIZE_ENV(unpackh) |
454 |
|
455 |
DEF_HELPER_1_2(iwmmxt_unpacklub, uint64_t, (CPUState *, uint64_t)) |
456 |
DEF_HELPER_1_2(iwmmxt_unpackluw, uint64_t, (CPUState *, uint64_t)) |
457 |
DEF_HELPER_1_2(iwmmxt_unpacklul, uint64_t, (CPUState *, uint64_t)) |
458 |
DEF_HELPER_1_2(iwmmxt_unpackhub, uint64_t, (CPUState *, uint64_t)) |
459 |
DEF_HELPER_1_2(iwmmxt_unpackhuw, uint64_t, (CPUState *, uint64_t)) |
460 |
DEF_HELPER_1_2(iwmmxt_unpackhul, uint64_t, (CPUState *, uint64_t)) |
461 |
DEF_HELPER_1_2(iwmmxt_unpacklsb, uint64_t, (CPUState *, uint64_t)) |
462 |
DEF_HELPER_1_2(iwmmxt_unpacklsw, uint64_t, (CPUState *, uint64_t)) |
463 |
DEF_HELPER_1_2(iwmmxt_unpacklsl, uint64_t, (CPUState *, uint64_t)) |
464 |
DEF_HELPER_1_2(iwmmxt_unpackhsb, uint64_t, (CPUState *, uint64_t)) |
465 |
DEF_HELPER_1_2(iwmmxt_unpackhsw, uint64_t, (CPUState *, uint64_t)) |
466 |
DEF_HELPER_1_2(iwmmxt_unpackhsl, uint64_t, (CPUState *, uint64_t)) |
467 |
|
468 |
DEF_IWMMXT_HELPER_SIZE_ENV(cmpeq) |
469 |
DEF_IWMMXT_HELPER_SIZE_ENV(cmpgtu) |
470 |
DEF_IWMMXT_HELPER_SIZE_ENV(cmpgts) |
471 |
|
472 |
DEF_IWMMXT_HELPER_SIZE_ENV(mins) |
473 |
DEF_IWMMXT_HELPER_SIZE_ENV(minu) |
474 |
DEF_IWMMXT_HELPER_SIZE_ENV(maxs) |
475 |
DEF_IWMMXT_HELPER_SIZE_ENV(maxu) |
476 |
|
477 |
DEF_IWMMXT_HELPER_SIZE_ENV(subn) |
478 |
DEF_IWMMXT_HELPER_SIZE_ENV(addn) |
479 |
DEF_IWMMXT_HELPER_SIZE_ENV(subu) |
480 |
DEF_IWMMXT_HELPER_SIZE_ENV(addu) |
481 |
DEF_IWMMXT_HELPER_SIZE_ENV(subs) |
482 |
DEF_IWMMXT_HELPER_SIZE_ENV(adds) |
483 |
|
484 |
DEF_HELPER_1_3(iwmmxt_avgb0, uint64_t, (CPUState *, uint64_t, uint64_t)) |
485 |
DEF_HELPER_1_3(iwmmxt_avgb1, uint64_t, (CPUState *, uint64_t, uint64_t)) |
486 |
DEF_HELPER_1_3(iwmmxt_avgw0, uint64_t, (CPUState *, uint64_t, uint64_t)) |
487 |
DEF_HELPER_1_3(iwmmxt_avgw1, uint64_t, (CPUState *, uint64_t, uint64_t)) |
488 |
|
489 |
DEF_HELPER_1_2(iwmmxt_msadb, uint64_t, (uint64_t, uint64_t)) |
490 |
|
491 |
DEF_HELPER_1_3(iwmmxt_align, uint64_t, (uint64_t, uint64_t, uint32_t)) |
492 |
DEF_HELPER_1_4(iwmmxt_insr, uint64_t, (uint64_t, uint32_t, uint32_t, uint32_t)) |
493 |
|
494 |
DEF_HELPER_1_1(iwmmxt_bcstb, uint64_t, (uint32_t)) |
495 |
DEF_HELPER_1_1(iwmmxt_bcstw, uint64_t, (uint32_t)) |
496 |
DEF_HELPER_1_1(iwmmxt_bcstl, uint64_t, (uint32_t)) |
497 |
|
498 |
DEF_HELPER_1_1(iwmmxt_addcb, uint64_t, (uint64_t)) |
499 |
DEF_HELPER_1_1(iwmmxt_addcw, uint64_t, (uint64_t)) |
500 |
DEF_HELPER_1_1(iwmmxt_addcl, uint64_t, (uint64_t)) |
501 |
|
502 |
DEF_HELPER_1_1(iwmmxt_msbb, uint32_t, (uint64_t)) |
503 |
DEF_HELPER_1_1(iwmmxt_msbw, uint32_t, (uint64_t)) |
504 |
DEF_HELPER_1_1(iwmmxt_msbl, uint32_t, (uint64_t)) |
505 |
|
506 |
DEF_HELPER_1_3(iwmmxt_srlw, uint64_t, (CPUState *, uint64_t, uint32_t)) |
507 |
DEF_HELPER_1_3(iwmmxt_srll, uint64_t, (CPUState *, uint64_t, uint32_t)) |
508 |
DEF_HELPER_1_3(iwmmxt_srlq, uint64_t, (CPUState *, uint64_t, uint32_t)) |
509 |
DEF_HELPER_1_3(iwmmxt_sllw, uint64_t, (CPUState *, uint64_t, uint32_t)) |
510 |
DEF_HELPER_1_3(iwmmxt_slll, uint64_t, (CPUState *, uint64_t, uint32_t)) |
511 |
DEF_HELPER_1_3(iwmmxt_sllq, uint64_t, (CPUState *, uint64_t, uint32_t)) |
512 |
DEF_HELPER_1_3(iwmmxt_sraw, uint64_t, (CPUState *, uint64_t, uint32_t)) |
513 |
DEF_HELPER_1_3(iwmmxt_sral, uint64_t, (CPUState *, uint64_t, uint32_t)) |
514 |
DEF_HELPER_1_3(iwmmxt_sraq, uint64_t, (CPUState *, uint64_t, uint32_t)) |
515 |
DEF_HELPER_1_3(iwmmxt_rorw, uint64_t, (CPUState *, uint64_t, uint32_t)) |
516 |
DEF_HELPER_1_3(iwmmxt_rorl, uint64_t, (CPUState *, uint64_t, uint32_t)) |
517 |
DEF_HELPER_1_3(iwmmxt_rorq, uint64_t, (CPUState *, uint64_t, uint32_t)) |
518 |
DEF_HELPER_1_3(iwmmxt_shufh, uint64_t, (CPUState *, uint64_t, uint32_t)) |
519 |
|
520 |
DEF_HELPER_1_3(iwmmxt_packuw, uint64_t, (CPUState *, uint64_t, uint64_t)) |
521 |
DEF_HELPER_1_3(iwmmxt_packul, uint64_t, (CPUState *, uint64_t, uint64_t)) |
522 |
DEF_HELPER_1_3(iwmmxt_packuq, uint64_t, (CPUState *, uint64_t, uint64_t)) |
523 |
DEF_HELPER_1_3(iwmmxt_packsw, uint64_t, (CPUState *, uint64_t, uint64_t)) |
524 |
DEF_HELPER_1_3(iwmmxt_packsl, uint64_t, (CPUState *, uint64_t, uint64_t)) |
525 |
DEF_HELPER_1_3(iwmmxt_packsq, uint64_t, (CPUState *, uint64_t, uint64_t)) |
526 |
|
527 |
DEF_HELPER_1_3(iwmmxt_muladdsl, uint64_t, (uint64_t, uint32_t, uint32_t)) |
528 |
DEF_HELPER_1_3(iwmmxt_muladdsw, uint64_t, (uint64_t, uint32_t, uint32_t)) |
529 |
DEF_HELPER_1_3(iwmmxt_muladdswl, uint64_t, (uint64_t, uint32_t, uint32_t)) |
530 |
|
531 |
#undef DEF_HELPER
|
532 |
#undef DEF_HELPER_0_0
|
533 |
#undef DEF_HELPER_0_1
|
534 |
#undef DEF_HELPER_0_2
|
535 |
#undef DEF_HELPER_1_0
|
536 |
#undef DEF_HELPER_1_1
|
537 |
#undef DEF_HELPER_1_2
|
538 |
#undef DEF_HELPER_1_3
|
539 |
#undef GEN_HELPER
|