]> git.proxmox.com Git - mirror_qemu.git/blob - target-ppc/helper.h
qcow2: Inform block layer about discard boundaries
[mirror_qemu.git] / target-ppc / helper.h
1 DEF_HELPER_3(raise_exception_err, void, env, i32, i32)
2 DEF_HELPER_2(raise_exception, void, env, i32)
3 DEF_HELPER_4(tw, void, env, tl, tl, i32)
4 #if defined(TARGET_PPC64)
5 DEF_HELPER_4(td, void, env, tl, tl, i32)
6 #endif
7 #if !defined(CONFIG_USER_ONLY)
8 DEF_HELPER_2(store_msr, void, env, tl)
9 DEF_HELPER_1(rfi, void, env)
10 DEF_HELPER_1(rfsvc, void, env)
11 DEF_HELPER_1(40x_rfci, void, env)
12 DEF_HELPER_1(rfci, void, env)
13 DEF_HELPER_1(rfdi, void, env)
14 DEF_HELPER_1(rfmci, void, env)
15 #if defined(TARGET_PPC64)
16 DEF_HELPER_2(pminsn, void, env, i32)
17 DEF_HELPER_1(rfid, void, env)
18 DEF_HELPER_1(hrfid, void, env)
19 DEF_HELPER_2(store_lpcr, void, env, tl)
20 #endif
21 DEF_HELPER_1(check_tlb_flush, void, env)
22 #endif
23
24 DEF_HELPER_3(lmw, void, env, tl, i32)
25 DEF_HELPER_3(stmw, void, env, tl, i32)
26 DEF_HELPER_4(lsw, void, env, tl, i32, i32)
27 DEF_HELPER_5(lswx, void, env, tl, i32, i32, i32)
28 DEF_HELPER_4(stsw, void, env, tl, i32, i32)
29 DEF_HELPER_3(dcbz, void, env, tl, i32)
30 DEF_HELPER_2(icbi, void, env, tl)
31 DEF_HELPER_5(lscbx, tl, env, tl, i32, i32, i32)
32
33 #if defined(TARGET_PPC64)
34 DEF_HELPER_4(divdeu, i64, env, i64, i64, i32)
35 DEF_HELPER_4(divde, i64, env, i64, i64, i32)
36 #endif
37 DEF_HELPER_4(divweu, tl, env, tl, tl, i32)
38 DEF_HELPER_4(divwe, tl, env, tl, tl, i32)
39
40 DEF_HELPER_FLAGS_1(cntlzw, TCG_CALL_NO_RWG_SE, tl, tl)
41 DEF_HELPER_FLAGS_1(popcntb, TCG_CALL_NO_RWG_SE, tl, tl)
42 DEF_HELPER_FLAGS_1(popcntw, TCG_CALL_NO_RWG_SE, tl, tl)
43 DEF_HELPER_FLAGS_2(cmpb, TCG_CALL_NO_RWG_SE, tl, tl, tl)
44 DEF_HELPER_3(sraw, tl, env, tl, tl)
45 #if defined(TARGET_PPC64)
46 DEF_HELPER_FLAGS_1(cntlzd, TCG_CALL_NO_RWG_SE, tl, tl)
47 DEF_HELPER_FLAGS_1(popcntd, TCG_CALL_NO_RWG_SE, tl, tl)
48 DEF_HELPER_FLAGS_2(bpermd, TCG_CALL_NO_RWG_SE, i64, i64, i64)
49 DEF_HELPER_3(srad, tl, env, tl, tl)
50 #endif
51
52 DEF_HELPER_FLAGS_1(cntlsw32, TCG_CALL_NO_RWG_SE, i32, i32)
53 DEF_HELPER_FLAGS_1(cntlzw32, TCG_CALL_NO_RWG_SE, i32, i32)
54 DEF_HELPER_FLAGS_2(brinc, TCG_CALL_NO_RWG_SE, tl, tl, tl)
55
56 DEF_HELPER_1(float_check_status, void, env)
57 DEF_HELPER_1(reset_fpstatus, void, env)
58 DEF_HELPER_2(compute_fprf, void, env, i64)
59 DEF_HELPER_3(store_fpscr, void, env, i64, i32)
60 DEF_HELPER_2(fpscr_clrbit, void, env, i32)
61 DEF_HELPER_2(fpscr_setbit, void, env, i32)
62 DEF_HELPER_2(float64_to_float32, i32, env, i64)
63 DEF_HELPER_2(float32_to_float64, i64, env, i32)
64
65 DEF_HELPER_4(fcmpo, void, env, i64, i64, i32)
66 DEF_HELPER_4(fcmpu, void, env, i64, i64, i32)
67
68 DEF_HELPER_2(fctiw, i64, env, i64)
69 DEF_HELPER_2(fctiwu, i64, env, i64)
70 DEF_HELPER_2(fctiwz, i64, env, i64)
71 DEF_HELPER_2(fctiwuz, i64, env, i64)
72 DEF_HELPER_2(fcfid, i64, env, i64)
73 DEF_HELPER_2(fcfidu, i64, env, i64)
74 DEF_HELPER_2(fcfids, i64, env, i64)
75 DEF_HELPER_2(fcfidus, i64, env, i64)
76 DEF_HELPER_2(fctid, i64, env, i64)
77 DEF_HELPER_2(fctidu, i64, env, i64)
78 DEF_HELPER_2(fctidz, i64, env, i64)
79 DEF_HELPER_2(fctiduz, i64, env, i64)
80 DEF_HELPER_2(frsp, i64, env, i64)
81 DEF_HELPER_2(frin, i64, env, i64)
82 DEF_HELPER_2(friz, i64, env, i64)
83 DEF_HELPER_2(frip, i64, env, i64)
84 DEF_HELPER_2(frim, i64, env, i64)
85
86 DEF_HELPER_3(fadd, i64, env, i64, i64)
87 DEF_HELPER_3(fsub, i64, env, i64, i64)
88 DEF_HELPER_3(fmul, i64, env, i64, i64)
89 DEF_HELPER_3(fdiv, i64, env, i64, i64)
90 DEF_HELPER_4(fmadd, i64, env, i64, i64, i64)
91 DEF_HELPER_4(fmsub, i64, env, i64, i64, i64)
92 DEF_HELPER_4(fnmadd, i64, env, i64, i64, i64)
93 DEF_HELPER_4(fnmsub, i64, env, i64, i64, i64)
94 DEF_HELPER_2(fsqrt, i64, env, i64)
95 DEF_HELPER_2(fre, i64, env, i64)
96 DEF_HELPER_2(fres, i64, env, i64)
97 DEF_HELPER_2(frsqrte, i64, env, i64)
98 DEF_HELPER_4(fsel, i64, env, i64, i64, i64)
99
100 DEF_HELPER_FLAGS_2(ftdiv, TCG_CALL_NO_RWG_SE, i32, i64, i64)
101 DEF_HELPER_FLAGS_1(ftsqrt, TCG_CALL_NO_RWG_SE, i32, i64)
102
103 #define dh_alias_avr ptr
104 #define dh_ctype_avr ppc_avr_t *
105 #define dh_is_signed_avr dh_is_signed_ptr
106
107 DEF_HELPER_3(vaddubm, void, avr, avr, avr)
108 DEF_HELPER_3(vadduhm, void, avr, avr, avr)
109 DEF_HELPER_3(vadduwm, void, avr, avr, avr)
110 DEF_HELPER_3(vaddudm, void, avr, avr, avr)
111 DEF_HELPER_3(vsububm, void, avr, avr, avr)
112 DEF_HELPER_3(vsubuhm, void, avr, avr, avr)
113 DEF_HELPER_3(vsubuwm, void, avr, avr, avr)
114 DEF_HELPER_3(vsubudm, void, avr, avr, avr)
115 DEF_HELPER_3(vavgub, void, avr, avr, avr)
116 DEF_HELPER_3(vavguh, void, avr, avr, avr)
117 DEF_HELPER_3(vavguw, void, avr, avr, avr)
118 DEF_HELPER_3(vavgsb, void, avr, avr, avr)
119 DEF_HELPER_3(vavgsh, void, avr, avr, avr)
120 DEF_HELPER_3(vavgsw, void, avr, avr, avr)
121 DEF_HELPER_3(vminsb, void, avr, avr, avr)
122 DEF_HELPER_3(vminsh, void, avr, avr, avr)
123 DEF_HELPER_3(vminsw, void, avr, avr, avr)
124 DEF_HELPER_3(vminsd, void, avr, avr, avr)
125 DEF_HELPER_3(vmaxsb, void, avr, avr, avr)
126 DEF_HELPER_3(vmaxsh, void, avr, avr, avr)
127 DEF_HELPER_3(vmaxsw, void, avr, avr, avr)
128 DEF_HELPER_3(vmaxsd, void, avr, avr, avr)
129 DEF_HELPER_3(vminub, void, avr, avr, avr)
130 DEF_HELPER_3(vminuh, void, avr, avr, avr)
131 DEF_HELPER_3(vminuw, void, avr, avr, avr)
132 DEF_HELPER_3(vminud, void, avr, avr, avr)
133 DEF_HELPER_3(vmaxub, void, avr, avr, avr)
134 DEF_HELPER_3(vmaxuh, void, avr, avr, avr)
135 DEF_HELPER_3(vmaxuw, void, avr, avr, avr)
136 DEF_HELPER_3(vmaxud, void, avr, avr, avr)
137 DEF_HELPER_4(vcmpequb, void, env, avr, avr, avr)
138 DEF_HELPER_4(vcmpequh, void, env, avr, avr, avr)
139 DEF_HELPER_4(vcmpequw, void, env, avr, avr, avr)
140 DEF_HELPER_4(vcmpequd, void, env, avr, avr, avr)
141 DEF_HELPER_4(vcmpgtub, void, env, avr, avr, avr)
142 DEF_HELPER_4(vcmpgtuh, void, env, avr, avr, avr)
143 DEF_HELPER_4(vcmpgtuw, void, env, avr, avr, avr)
144 DEF_HELPER_4(vcmpgtud, void, env, avr, avr, avr)
145 DEF_HELPER_4(vcmpgtsb, void, env, avr, avr, avr)
146 DEF_HELPER_4(vcmpgtsh, void, env, avr, avr, avr)
147 DEF_HELPER_4(vcmpgtsw, void, env, avr, avr, avr)
148 DEF_HELPER_4(vcmpgtsd, void, env, avr, avr, avr)
149 DEF_HELPER_4(vcmpeqfp, void, env, avr, avr, avr)
150 DEF_HELPER_4(vcmpgefp, void, env, avr, avr, avr)
151 DEF_HELPER_4(vcmpgtfp, void, env, avr, avr, avr)
152 DEF_HELPER_4(vcmpbfp, void, env, avr, avr, avr)
153 DEF_HELPER_4(vcmpequb_dot, void, env, avr, avr, avr)
154 DEF_HELPER_4(vcmpequh_dot, void, env, avr, avr, avr)
155 DEF_HELPER_4(vcmpequw_dot, void, env, avr, avr, avr)
156 DEF_HELPER_4(vcmpequd_dot, void, env, avr, avr, avr)
157 DEF_HELPER_4(vcmpgtub_dot, void, env, avr, avr, avr)
158 DEF_HELPER_4(vcmpgtuh_dot, void, env, avr, avr, avr)
159 DEF_HELPER_4(vcmpgtuw_dot, void, env, avr, avr, avr)
160 DEF_HELPER_4(vcmpgtud_dot, void, env, avr, avr, avr)
161 DEF_HELPER_4(vcmpgtsb_dot, void, env, avr, avr, avr)
162 DEF_HELPER_4(vcmpgtsh_dot, void, env, avr, avr, avr)
163 DEF_HELPER_4(vcmpgtsw_dot, void, env, avr, avr, avr)
164 DEF_HELPER_4(vcmpgtsd_dot, void, env, avr, avr, avr)
165 DEF_HELPER_4(vcmpeqfp_dot, void, env, avr, avr, avr)
166 DEF_HELPER_4(vcmpgefp_dot, void, env, avr, avr, avr)
167 DEF_HELPER_4(vcmpgtfp_dot, void, env, avr, avr, avr)
168 DEF_HELPER_4(vcmpbfp_dot, void, env, avr, avr, avr)
169 DEF_HELPER_3(vmrglb, void, avr, avr, avr)
170 DEF_HELPER_3(vmrglh, void, avr, avr, avr)
171 DEF_HELPER_3(vmrglw, void, avr, avr, avr)
172 DEF_HELPER_3(vmrghb, void, avr, avr, avr)
173 DEF_HELPER_3(vmrghh, void, avr, avr, avr)
174 DEF_HELPER_3(vmrghw, void, avr, avr, avr)
175 DEF_HELPER_3(vmulesb, void, avr, avr, avr)
176 DEF_HELPER_3(vmulesh, void, avr, avr, avr)
177 DEF_HELPER_3(vmulesw, void, avr, avr, avr)
178 DEF_HELPER_3(vmuleub, void, avr, avr, avr)
179 DEF_HELPER_3(vmuleuh, void, avr, avr, avr)
180 DEF_HELPER_3(vmuleuw, void, avr, avr, avr)
181 DEF_HELPER_3(vmulosb, void, avr, avr, avr)
182 DEF_HELPER_3(vmulosh, void, avr, avr, avr)
183 DEF_HELPER_3(vmulosw, void, avr, avr, avr)
184 DEF_HELPER_3(vmuloub, void, avr, avr, avr)
185 DEF_HELPER_3(vmulouh, void, avr, avr, avr)
186 DEF_HELPER_3(vmulouw, void, avr, avr, avr)
187 DEF_HELPER_3(vmuluwm, void, avr, avr, avr)
188 DEF_HELPER_3(vsrab, void, avr, avr, avr)
189 DEF_HELPER_3(vsrah, void, avr, avr, avr)
190 DEF_HELPER_3(vsraw, void, avr, avr, avr)
191 DEF_HELPER_3(vsrad, void, avr, avr, avr)
192 DEF_HELPER_3(vsrb, void, avr, avr, avr)
193 DEF_HELPER_3(vsrh, void, avr, avr, avr)
194 DEF_HELPER_3(vsrw, void, avr, avr, avr)
195 DEF_HELPER_3(vsrd, void, avr, avr, avr)
196 DEF_HELPER_3(vslb, void, avr, avr, avr)
197 DEF_HELPER_3(vslh, void, avr, avr, avr)
198 DEF_HELPER_3(vslw, void, avr, avr, avr)
199 DEF_HELPER_3(vsld, void, avr, avr, avr)
200 DEF_HELPER_3(vslo, void, avr, avr, avr)
201 DEF_HELPER_3(vsro, void, avr, avr, avr)
202 DEF_HELPER_3(vaddcuw, void, avr, avr, avr)
203 DEF_HELPER_3(vsubcuw, void, avr, avr, avr)
204 DEF_HELPER_2(lvsl, void, avr, tl)
205 DEF_HELPER_2(lvsr, void, avr, tl)
206 DEF_HELPER_4(vaddsbs, void, env, avr, avr, avr)
207 DEF_HELPER_4(vaddshs, void, env, avr, avr, avr)
208 DEF_HELPER_4(vaddsws, void, env, avr, avr, avr)
209 DEF_HELPER_4(vsubsbs, void, env, avr, avr, avr)
210 DEF_HELPER_4(vsubshs, void, env, avr, avr, avr)
211 DEF_HELPER_4(vsubsws, void, env, avr, avr, avr)
212 DEF_HELPER_4(vaddubs, void, env, avr, avr, avr)
213 DEF_HELPER_4(vadduhs, void, env, avr, avr, avr)
214 DEF_HELPER_4(vadduws, void, env, avr, avr, avr)
215 DEF_HELPER_4(vsububs, void, env, avr, avr, avr)
216 DEF_HELPER_4(vsubuhs, void, env, avr, avr, avr)
217 DEF_HELPER_4(vsubuws, void, env, avr, avr, avr)
218 DEF_HELPER_3(vadduqm, void, avr, avr, avr)
219 DEF_HELPER_4(vaddecuq, void, avr, avr, avr, avr)
220 DEF_HELPER_4(vaddeuqm, void, avr, avr, avr, avr)
221 DEF_HELPER_3(vaddcuq, void, avr, avr, avr)
222 DEF_HELPER_3(vsubuqm, void, avr, avr, avr)
223 DEF_HELPER_4(vsubecuq, void, avr, avr, avr, avr)
224 DEF_HELPER_4(vsubeuqm, void, avr, avr, avr, avr)
225 DEF_HELPER_3(vsubcuq, void, avr, avr, avr)
226 DEF_HELPER_3(vrlb, void, avr, avr, avr)
227 DEF_HELPER_3(vrlh, void, avr, avr, avr)
228 DEF_HELPER_3(vrlw, void, avr, avr, avr)
229 DEF_HELPER_3(vrld, void, avr, avr, avr)
230 DEF_HELPER_3(vsl, void, avr, avr, avr)
231 DEF_HELPER_3(vsr, void, avr, avr, avr)
232 DEF_HELPER_4(vsldoi, void, avr, avr, avr, i32)
233 DEF_HELPER_2(vspltisb, void, avr, i32)
234 DEF_HELPER_2(vspltish, void, avr, i32)
235 DEF_HELPER_2(vspltisw, void, avr, i32)
236 DEF_HELPER_3(vspltb, void, avr, avr, i32)
237 DEF_HELPER_3(vsplth, void, avr, avr, i32)
238 DEF_HELPER_3(vspltw, void, avr, avr, i32)
239 DEF_HELPER_2(vupkhpx, void, avr, avr)
240 DEF_HELPER_2(vupklpx, void, avr, avr)
241 DEF_HELPER_2(vupkhsb, void, avr, avr)
242 DEF_HELPER_2(vupkhsh, void, avr, avr)
243 DEF_HELPER_2(vupkhsw, void, avr, avr)
244 DEF_HELPER_2(vupklsb, void, avr, avr)
245 DEF_HELPER_2(vupklsh, void, avr, avr)
246 DEF_HELPER_2(vupklsw, void, avr, avr)
247 DEF_HELPER_5(vmsumubm, void, env, avr, avr, avr, avr)
248 DEF_HELPER_5(vmsummbm, void, env, avr, avr, avr, avr)
249 DEF_HELPER_5(vsel, void, env, avr, avr, avr, avr)
250 DEF_HELPER_5(vperm, void, env, avr, avr, avr, avr)
251 DEF_HELPER_4(vpkshss, void, env, avr, avr, avr)
252 DEF_HELPER_4(vpkshus, void, env, avr, avr, avr)
253 DEF_HELPER_4(vpkswss, void, env, avr, avr, avr)
254 DEF_HELPER_4(vpkswus, void, env, avr, avr, avr)
255 DEF_HELPER_4(vpksdss, void, env, avr, avr, avr)
256 DEF_HELPER_4(vpksdus, void, env, avr, avr, avr)
257 DEF_HELPER_4(vpkuhus, void, env, avr, avr, avr)
258 DEF_HELPER_4(vpkuwus, void, env, avr, avr, avr)
259 DEF_HELPER_4(vpkudus, void, env, avr, avr, avr)
260 DEF_HELPER_4(vpkuhum, void, env, avr, avr, avr)
261 DEF_HELPER_4(vpkuwum, void, env, avr, avr, avr)
262 DEF_HELPER_4(vpkudum, void, env, avr, avr, avr)
263 DEF_HELPER_3(vpkpx, void, avr, avr, avr)
264 DEF_HELPER_5(vmhaddshs, void, env, avr, avr, avr, avr)
265 DEF_HELPER_5(vmhraddshs, void, env, avr, avr, avr, avr)
266 DEF_HELPER_5(vmsumuhm, void, env, avr, avr, avr, avr)
267 DEF_HELPER_5(vmsumuhs, void, env, avr, avr, avr, avr)
268 DEF_HELPER_5(vmsumshm, void, env, avr, avr, avr, avr)
269 DEF_HELPER_5(vmsumshs, void, env, avr, avr, avr, avr)
270 DEF_HELPER_4(vmladduhm, void, avr, avr, avr, avr)
271 DEF_HELPER_2(mtvscr, void, env, avr)
272 DEF_HELPER_3(lvebx, void, env, avr, tl)
273 DEF_HELPER_3(lvehx, void, env, avr, tl)
274 DEF_HELPER_3(lvewx, void, env, avr, tl)
275 DEF_HELPER_3(stvebx, void, env, avr, tl)
276 DEF_HELPER_3(stvehx, void, env, avr, tl)
277 DEF_HELPER_3(stvewx, void, env, avr, tl)
278 DEF_HELPER_4(vsumsws, void, env, avr, avr, avr)
279 DEF_HELPER_4(vsum2sws, void, env, avr, avr, avr)
280 DEF_HELPER_4(vsum4sbs, void, env, avr, avr, avr)
281 DEF_HELPER_4(vsum4shs, void, env, avr, avr, avr)
282 DEF_HELPER_4(vsum4ubs, void, env, avr, avr, avr)
283 DEF_HELPER_4(vaddfp, void, env, avr, avr, avr)
284 DEF_HELPER_4(vsubfp, void, env, avr, avr, avr)
285 DEF_HELPER_4(vmaxfp, void, env, avr, avr, avr)
286 DEF_HELPER_4(vminfp, void, env, avr, avr, avr)
287 DEF_HELPER_3(vrefp, void, env, avr, avr)
288 DEF_HELPER_3(vrsqrtefp, void, env, avr, avr)
289 DEF_HELPER_5(vmaddfp, void, env, avr, avr, avr, avr)
290 DEF_HELPER_5(vnmsubfp, void, env, avr, avr, avr, avr)
291 DEF_HELPER_3(vexptefp, void, env, avr, avr)
292 DEF_HELPER_3(vlogefp, void, env, avr, avr)
293 DEF_HELPER_3(vrfim, void, env, avr, avr)
294 DEF_HELPER_3(vrfin, void, env, avr, avr)
295 DEF_HELPER_3(vrfip, void, env, avr, avr)
296 DEF_HELPER_3(vrfiz, void, env, avr, avr)
297 DEF_HELPER_4(vcfux, void, env, avr, avr, i32)
298 DEF_HELPER_4(vcfsx, void, env, avr, avr, i32)
299 DEF_HELPER_4(vctuxs, void, env, avr, avr, i32)
300 DEF_HELPER_4(vctsxs, void, env, avr, avr, i32)
301
302 DEF_HELPER_2(vclzb, void, avr, avr)
303 DEF_HELPER_2(vclzh, void, avr, avr)
304 DEF_HELPER_2(vclzw, void, avr, avr)
305 DEF_HELPER_2(vclzd, void, avr, avr)
306 DEF_HELPER_2(vpopcntb, void, avr, avr)
307 DEF_HELPER_2(vpopcnth, void, avr, avr)
308 DEF_HELPER_2(vpopcntw, void, avr, avr)
309 DEF_HELPER_2(vpopcntd, void, avr, avr)
310 DEF_HELPER_3(vbpermq, void, avr, avr, avr)
311 DEF_HELPER_2(vgbbd, void, avr, avr)
312 DEF_HELPER_3(vpmsumb, void, avr, avr, avr)
313 DEF_HELPER_3(vpmsumh, void, avr, avr, avr)
314 DEF_HELPER_3(vpmsumw, void, avr, avr, avr)
315 DEF_HELPER_3(vpmsumd, void, avr, avr, avr)
316
317 DEF_HELPER_2(vsbox, void, avr, avr)
318 DEF_HELPER_3(vcipher, void, avr, avr, avr)
319 DEF_HELPER_3(vcipherlast, void, avr, avr, avr)
320 DEF_HELPER_3(vncipher, void, avr, avr, avr)
321 DEF_HELPER_3(vncipherlast, void, avr, avr, avr)
322 DEF_HELPER_3(vshasigmaw, void, avr, avr, i32)
323 DEF_HELPER_3(vshasigmad, void, avr, avr, i32)
324 DEF_HELPER_4(vpermxor, void, avr, avr, avr, avr)
325
326 DEF_HELPER_4(bcdadd, i32, avr, avr, avr, i32)
327 DEF_HELPER_4(bcdsub, i32, avr, avr, avr, i32)
328
329 DEF_HELPER_2(xsadddp, void, env, i32)
330 DEF_HELPER_2(xssubdp, void, env, i32)
331 DEF_HELPER_2(xsmuldp, void, env, i32)
332 DEF_HELPER_2(xsdivdp, void, env, i32)
333 DEF_HELPER_2(xsredp, void, env, i32)
334 DEF_HELPER_2(xssqrtdp, void, env, i32)
335 DEF_HELPER_2(xsrsqrtedp, void, env, i32)
336 DEF_HELPER_2(xstdivdp, void, env, i32)
337 DEF_HELPER_2(xstsqrtdp, void, env, i32)
338 DEF_HELPER_2(xsmaddadp, void, env, i32)
339 DEF_HELPER_2(xsmaddmdp, void, env, i32)
340 DEF_HELPER_2(xsmsubadp, void, env, i32)
341 DEF_HELPER_2(xsmsubmdp, void, env, i32)
342 DEF_HELPER_2(xsnmaddadp, void, env, i32)
343 DEF_HELPER_2(xsnmaddmdp, void, env, i32)
344 DEF_HELPER_2(xsnmsubadp, void, env, i32)
345 DEF_HELPER_2(xsnmsubmdp, void, env, i32)
346 DEF_HELPER_2(xscmpodp, void, env, i32)
347 DEF_HELPER_2(xscmpudp, void, env, i32)
348 DEF_HELPER_2(xsmaxdp, void, env, i32)
349 DEF_HELPER_2(xsmindp, void, env, i32)
350 DEF_HELPER_2(xscvdpsp, void, env, i32)
351 DEF_HELPER_2(xscvdpspn, i64, env, i64)
352 DEF_HELPER_2(xscvspdp, void, env, i32)
353 DEF_HELPER_2(xscvspdpn, i64, env, i64)
354 DEF_HELPER_2(xscvdpsxds, void, env, i32)
355 DEF_HELPER_2(xscvdpsxws, void, env, i32)
356 DEF_HELPER_2(xscvdpuxds, void, env, i32)
357 DEF_HELPER_2(xscvdpuxws, void, env, i32)
358 DEF_HELPER_2(xscvsxddp, void, env, i32)
359 DEF_HELPER_2(xscvuxdsp, void, env, i32)
360 DEF_HELPER_2(xscvsxdsp, void, env, i32)
361 DEF_HELPER_2(xscvuxddp, void, env, i32)
362 DEF_HELPER_2(xsrdpi, void, env, i32)
363 DEF_HELPER_2(xsrdpic, void, env, i32)
364 DEF_HELPER_2(xsrdpim, void, env, i32)
365 DEF_HELPER_2(xsrdpip, void, env, i32)
366 DEF_HELPER_2(xsrdpiz, void, env, i32)
367
368 DEF_HELPER_2(xsaddsp, void, env, i32)
369 DEF_HELPER_2(xssubsp, void, env, i32)
370 DEF_HELPER_2(xsmulsp, void, env, i32)
371 DEF_HELPER_2(xsdivsp, void, env, i32)
372 DEF_HELPER_2(xsresp, void, env, i32)
373 DEF_HELPER_2(xsrsp, i64, env, i64)
374 DEF_HELPER_2(xssqrtsp, void, env, i32)
375 DEF_HELPER_2(xsrsqrtesp, void, env, i32)
376 DEF_HELPER_2(xsmaddasp, void, env, i32)
377 DEF_HELPER_2(xsmaddmsp, void, env, i32)
378 DEF_HELPER_2(xsmsubasp, void, env, i32)
379 DEF_HELPER_2(xsmsubmsp, void, env, i32)
380 DEF_HELPER_2(xsnmaddasp, void, env, i32)
381 DEF_HELPER_2(xsnmaddmsp, void, env, i32)
382 DEF_HELPER_2(xsnmsubasp, void, env, i32)
383 DEF_HELPER_2(xsnmsubmsp, void, env, i32)
384
385 DEF_HELPER_2(xvadddp, void, env, i32)
386 DEF_HELPER_2(xvsubdp, void, env, i32)
387 DEF_HELPER_2(xvmuldp, void, env, i32)
388 DEF_HELPER_2(xvdivdp, void, env, i32)
389 DEF_HELPER_2(xvredp, void, env, i32)
390 DEF_HELPER_2(xvsqrtdp, void, env, i32)
391 DEF_HELPER_2(xvrsqrtedp, void, env, i32)
392 DEF_HELPER_2(xvtdivdp, void, env, i32)
393 DEF_HELPER_2(xvtsqrtdp, void, env, i32)
394 DEF_HELPER_2(xvmaddadp, void, env, i32)
395 DEF_HELPER_2(xvmaddmdp, void, env, i32)
396 DEF_HELPER_2(xvmsubadp, void, env, i32)
397 DEF_HELPER_2(xvmsubmdp, void, env, i32)
398 DEF_HELPER_2(xvnmaddadp, void, env, i32)
399 DEF_HELPER_2(xvnmaddmdp, void, env, i32)
400 DEF_HELPER_2(xvnmsubadp, void, env, i32)
401 DEF_HELPER_2(xvnmsubmdp, void, env, i32)
402 DEF_HELPER_2(xvmaxdp, void, env, i32)
403 DEF_HELPER_2(xvmindp, void, env, i32)
404 DEF_HELPER_2(xvcmpeqdp, void, env, i32)
405 DEF_HELPER_2(xvcmpgedp, void, env, i32)
406 DEF_HELPER_2(xvcmpgtdp, void, env, i32)
407 DEF_HELPER_2(xvcvdpsp, void, env, i32)
408 DEF_HELPER_2(xvcvdpsxds, void, env, i32)
409 DEF_HELPER_2(xvcvdpsxws, void, env, i32)
410 DEF_HELPER_2(xvcvdpuxds, void, env, i32)
411 DEF_HELPER_2(xvcvdpuxws, void, env, i32)
412 DEF_HELPER_2(xvcvsxddp, void, env, i32)
413 DEF_HELPER_2(xvcvuxddp, void, env, i32)
414 DEF_HELPER_2(xvcvsxwdp, void, env, i32)
415 DEF_HELPER_2(xvcvuxwdp, void, env, i32)
416 DEF_HELPER_2(xvrdpi, void, env, i32)
417 DEF_HELPER_2(xvrdpic, void, env, i32)
418 DEF_HELPER_2(xvrdpim, void, env, i32)
419 DEF_HELPER_2(xvrdpip, void, env, i32)
420 DEF_HELPER_2(xvrdpiz, void, env, i32)
421
422 DEF_HELPER_2(xvaddsp, void, env, i32)
423 DEF_HELPER_2(xvsubsp, void, env, i32)
424 DEF_HELPER_2(xvmulsp, void, env, i32)
425 DEF_HELPER_2(xvdivsp, void, env, i32)
426 DEF_HELPER_2(xvresp, void, env, i32)
427 DEF_HELPER_2(xvsqrtsp, void, env, i32)
428 DEF_HELPER_2(xvrsqrtesp, void, env, i32)
429 DEF_HELPER_2(xvtdivsp, void, env, i32)
430 DEF_HELPER_2(xvtsqrtsp, void, env, i32)
431 DEF_HELPER_2(xvmaddasp, void, env, i32)
432 DEF_HELPER_2(xvmaddmsp, void, env, i32)
433 DEF_HELPER_2(xvmsubasp, void, env, i32)
434 DEF_HELPER_2(xvmsubmsp, void, env, i32)
435 DEF_HELPER_2(xvnmaddasp, void, env, i32)
436 DEF_HELPER_2(xvnmaddmsp, void, env, i32)
437 DEF_HELPER_2(xvnmsubasp, void, env, i32)
438 DEF_HELPER_2(xvnmsubmsp, void, env, i32)
439 DEF_HELPER_2(xvmaxsp, void, env, i32)
440 DEF_HELPER_2(xvminsp, void, env, i32)
441 DEF_HELPER_2(xvcmpeqsp, void, env, i32)
442 DEF_HELPER_2(xvcmpgesp, void, env, i32)
443 DEF_HELPER_2(xvcmpgtsp, void, env, i32)
444 DEF_HELPER_2(xvcvspdp, void, env, i32)
445 DEF_HELPER_2(xvcvspsxds, void, env, i32)
446 DEF_HELPER_2(xvcvspsxws, void, env, i32)
447 DEF_HELPER_2(xvcvspuxds, void, env, i32)
448 DEF_HELPER_2(xvcvspuxws, void, env, i32)
449 DEF_HELPER_2(xvcvsxdsp, void, env, i32)
450 DEF_HELPER_2(xvcvuxdsp, void, env, i32)
451 DEF_HELPER_2(xvcvsxwsp, void, env, i32)
452 DEF_HELPER_2(xvcvuxwsp, void, env, i32)
453 DEF_HELPER_2(xvrspi, void, env, i32)
454 DEF_HELPER_2(xvrspic, void, env, i32)
455 DEF_HELPER_2(xvrspim, void, env, i32)
456 DEF_HELPER_2(xvrspip, void, env, i32)
457 DEF_HELPER_2(xvrspiz, void, env, i32)
458
459 DEF_HELPER_2(efscfsi, i32, env, i32)
460 DEF_HELPER_2(efscfui, i32, env, i32)
461 DEF_HELPER_2(efscfuf, i32, env, i32)
462 DEF_HELPER_2(efscfsf, i32, env, i32)
463 DEF_HELPER_2(efsctsi, i32, env, i32)
464 DEF_HELPER_2(efsctui, i32, env, i32)
465 DEF_HELPER_2(efsctsiz, i32, env, i32)
466 DEF_HELPER_2(efsctuiz, i32, env, i32)
467 DEF_HELPER_2(efsctsf, i32, env, i32)
468 DEF_HELPER_2(efsctuf, i32, env, i32)
469 DEF_HELPER_2(evfscfsi, i64, env, i64)
470 DEF_HELPER_2(evfscfui, i64, env, i64)
471 DEF_HELPER_2(evfscfuf, i64, env, i64)
472 DEF_HELPER_2(evfscfsf, i64, env, i64)
473 DEF_HELPER_2(evfsctsi, i64, env, i64)
474 DEF_HELPER_2(evfsctui, i64, env, i64)
475 DEF_HELPER_2(evfsctsiz, i64, env, i64)
476 DEF_HELPER_2(evfsctuiz, i64, env, i64)
477 DEF_HELPER_2(evfsctsf, i64, env, i64)
478 DEF_HELPER_2(evfsctuf, i64, env, i64)
479 DEF_HELPER_3(efsadd, i32, env, i32, i32)
480 DEF_HELPER_3(efssub, i32, env, i32, i32)
481 DEF_HELPER_3(efsmul, i32, env, i32, i32)
482 DEF_HELPER_3(efsdiv, i32, env, i32, i32)
483 DEF_HELPER_3(evfsadd, i64, env, i64, i64)
484 DEF_HELPER_3(evfssub, i64, env, i64, i64)
485 DEF_HELPER_3(evfsmul, i64, env, i64, i64)
486 DEF_HELPER_3(evfsdiv, i64, env, i64, i64)
487 DEF_HELPER_3(efststlt, i32, env, i32, i32)
488 DEF_HELPER_3(efststgt, i32, env, i32, i32)
489 DEF_HELPER_3(efststeq, i32, env, i32, i32)
490 DEF_HELPER_3(efscmplt, i32, env, i32, i32)
491 DEF_HELPER_3(efscmpgt, i32, env, i32, i32)
492 DEF_HELPER_3(efscmpeq, i32, env, i32, i32)
493 DEF_HELPER_3(evfststlt, i32, env, i64, i64)
494 DEF_HELPER_3(evfststgt, i32, env, i64, i64)
495 DEF_HELPER_3(evfststeq, i32, env, i64, i64)
496 DEF_HELPER_3(evfscmplt, i32, env, i64, i64)
497 DEF_HELPER_3(evfscmpgt, i32, env, i64, i64)
498 DEF_HELPER_3(evfscmpeq, i32, env, i64, i64)
499 DEF_HELPER_2(efdcfsi, i64, env, i32)
500 DEF_HELPER_2(efdcfsid, i64, env, i64)
501 DEF_HELPER_2(efdcfui, i64, env, i32)
502 DEF_HELPER_2(efdcfuid, i64, env, i64)
503 DEF_HELPER_2(efdctsi, i32, env, i64)
504 DEF_HELPER_2(efdctui, i32, env, i64)
505 DEF_HELPER_2(efdctsiz, i32, env, i64)
506 DEF_HELPER_2(efdctsidz, i64, env, i64)
507 DEF_HELPER_2(efdctuiz, i32, env, i64)
508 DEF_HELPER_2(efdctuidz, i64, env, i64)
509 DEF_HELPER_2(efdcfsf, i64, env, i32)
510 DEF_HELPER_2(efdcfuf, i64, env, i32)
511 DEF_HELPER_2(efdctsf, i32, env, i64)
512 DEF_HELPER_2(efdctuf, i32, env, i64)
513 DEF_HELPER_2(efscfd, i32, env, i64)
514 DEF_HELPER_2(efdcfs, i64, env, i32)
515 DEF_HELPER_3(efdadd, i64, env, i64, i64)
516 DEF_HELPER_3(efdsub, i64, env, i64, i64)
517 DEF_HELPER_3(efdmul, i64, env, i64, i64)
518 DEF_HELPER_3(efddiv, i64, env, i64, i64)
519 DEF_HELPER_3(efdtstlt, i32, env, i64, i64)
520 DEF_HELPER_3(efdtstgt, i32, env, i64, i64)
521 DEF_HELPER_3(efdtsteq, i32, env, i64, i64)
522 DEF_HELPER_3(efdcmplt, i32, env, i64, i64)
523 DEF_HELPER_3(efdcmpgt, i32, env, i64, i64)
524 DEF_HELPER_3(efdcmpeq, i32, env, i64, i64)
525
526 #if !defined(CONFIG_USER_ONLY)
527 DEF_HELPER_2(4xx_tlbre_hi, tl, env, tl)
528 DEF_HELPER_2(4xx_tlbre_lo, tl, env, tl)
529 DEF_HELPER_3(4xx_tlbwe_hi, void, env, tl, tl)
530 DEF_HELPER_3(4xx_tlbwe_lo, void, env, tl, tl)
531 DEF_HELPER_2(4xx_tlbsx, tl, env, tl)
532 DEF_HELPER_3(440_tlbre, tl, env, i32, tl)
533 DEF_HELPER_4(440_tlbwe, void, env, i32, tl, tl)
534 DEF_HELPER_2(440_tlbsx, tl, env, tl)
535 DEF_HELPER_1(booke206_tlbre, void, env)
536 DEF_HELPER_1(booke206_tlbwe, void, env)
537 DEF_HELPER_2(booke206_tlbsx, void, env, tl)
538 DEF_HELPER_2(booke206_tlbivax, void, env, tl)
539 DEF_HELPER_2(booke206_tlbilx0, void, env, tl)
540 DEF_HELPER_2(booke206_tlbilx1, void, env, tl)
541 DEF_HELPER_2(booke206_tlbilx3, void, env, tl)
542 DEF_HELPER_2(booke206_tlbflush, void, env, tl)
543 DEF_HELPER_3(booke_setpid, void, env, i32, tl)
544 DEF_HELPER_2(6xx_tlbd, void, env, tl)
545 DEF_HELPER_2(6xx_tlbi, void, env, tl)
546 DEF_HELPER_2(74xx_tlbd, void, env, tl)
547 DEF_HELPER_2(74xx_tlbi, void, env, tl)
548 DEF_HELPER_FLAGS_1(tlbia, TCG_CALL_NO_RWG, void, env)
549 DEF_HELPER_FLAGS_2(tlbie, TCG_CALL_NO_RWG, void, env, tl)
550 DEF_HELPER_FLAGS_2(tlbiva, TCG_CALL_NO_RWG, void, env, tl)
551 #if defined(TARGET_PPC64)
552 DEF_HELPER_FLAGS_3(store_slb, TCG_CALL_NO_RWG, void, env, tl, tl)
553 DEF_HELPER_2(load_slb_esid, tl, env, tl)
554 DEF_HELPER_2(load_slb_vsid, tl, env, tl)
555 DEF_HELPER_2(find_slb_vsid, tl, env, tl)
556 DEF_HELPER_FLAGS_1(slbia, TCG_CALL_NO_RWG, void, env)
557 DEF_HELPER_FLAGS_2(slbie, TCG_CALL_NO_RWG, void, env, tl)
558 #endif
559 DEF_HELPER_FLAGS_2(load_sr, TCG_CALL_NO_RWG, tl, env, tl)
560 DEF_HELPER_FLAGS_3(store_sr, TCG_CALL_NO_RWG, void, env, tl, tl)
561
562 DEF_HELPER_FLAGS_1(602_mfrom, TCG_CALL_NO_RWG_SE, tl, tl)
563 DEF_HELPER_1(msgsnd, void, tl)
564 DEF_HELPER_2(msgclr, void, env, tl)
565 #endif
566
567 DEF_HELPER_4(dlmzb, tl, env, tl, tl, i32)
568 DEF_HELPER_FLAGS_2(clcs, TCG_CALL_NO_RWG_SE, tl, env, i32)
569 #if !defined(CONFIG_USER_ONLY)
570 DEF_HELPER_2(rac, tl, env, tl)
571 #endif
572 DEF_HELPER_3(div, tl, env, tl, tl)
573 DEF_HELPER_3(divo, tl, env, tl, tl)
574 DEF_HELPER_3(divs, tl, env, tl, tl)
575 DEF_HELPER_3(divso, tl, env, tl, tl)
576
577 DEF_HELPER_2(load_dcr, tl, env, tl)
578 DEF_HELPER_3(store_dcr, void, env, tl, tl)
579
580 DEF_HELPER_2(load_dump_spr, void, env, i32)
581 DEF_HELPER_2(store_dump_spr, void, env, i32)
582 DEF_HELPER_4(fscr_facility_check, void, env, i32, i32, i32)
583 DEF_HELPER_4(msr_facility_check, void, env, i32, i32, i32)
584 DEF_HELPER_1(load_tbl, tl, env)
585 DEF_HELPER_1(load_tbu, tl, env)
586 DEF_HELPER_1(load_atbl, tl, env)
587 DEF_HELPER_1(load_atbu, tl, env)
588 DEF_HELPER_1(load_601_rtcl, tl, env)
589 DEF_HELPER_1(load_601_rtcu, tl, env)
590 #if !defined(CONFIG_USER_ONLY)
591 #if defined(TARGET_PPC64)
592 DEF_HELPER_1(load_purr, tl, env)
593 #endif
594 DEF_HELPER_2(store_sdr1, void, env, tl)
595 DEF_HELPER_2(store_tbl, void, env, tl)
596 DEF_HELPER_2(store_tbu, void, env, tl)
597 DEF_HELPER_2(store_atbl, void, env, tl)
598 DEF_HELPER_2(store_atbu, void, env, tl)
599 DEF_HELPER_2(store_601_rtcl, void, env, tl)
600 DEF_HELPER_2(store_601_rtcu, void, env, tl)
601 DEF_HELPER_1(load_decr, tl, env)
602 DEF_HELPER_2(store_decr, void, env, tl)
603 DEF_HELPER_1(load_hdecr, tl, env)
604 DEF_HELPER_2(store_hdecr, void, env, tl)
605 DEF_HELPER_2(store_hid0_601, void, env, tl)
606 DEF_HELPER_3(store_403_pbr, void, env, i32, tl)
607 DEF_HELPER_1(load_40x_pit, tl, env)
608 DEF_HELPER_2(store_40x_pit, void, env, tl)
609 DEF_HELPER_2(store_40x_dbcr0, void, env, tl)
610 DEF_HELPER_2(store_40x_sler, void, env, tl)
611 DEF_HELPER_2(store_booke_tcr, void, env, tl)
612 DEF_HELPER_2(store_booke_tsr, void, env, tl)
613 DEF_HELPER_3(store_ibatl, void, env, i32, tl)
614 DEF_HELPER_3(store_ibatu, void, env, i32, tl)
615 DEF_HELPER_3(store_dbatl, void, env, i32, tl)
616 DEF_HELPER_3(store_dbatu, void, env, i32, tl)
617 DEF_HELPER_3(store_601_batl, void, env, i32, tl)
618 DEF_HELPER_3(store_601_batu, void, env, i32, tl)
619 #endif
620
621 #define dh_alias_fprp ptr
622 #define dh_ctype_fprp uint64_t *
623 #define dh_is_signed_fprp dh_is_signed_ptr
624
625 DEF_HELPER_4(dadd, void, env, fprp, fprp, fprp)
626 DEF_HELPER_4(daddq, void, env, fprp, fprp, fprp)
627 DEF_HELPER_4(dsub, void, env, fprp, fprp, fprp)
628 DEF_HELPER_4(dsubq, void, env, fprp, fprp, fprp)
629 DEF_HELPER_4(dmul, void, env, fprp, fprp, fprp)
630 DEF_HELPER_4(dmulq, void, env, fprp, fprp, fprp)
631 DEF_HELPER_4(ddiv, void, env, fprp, fprp, fprp)
632 DEF_HELPER_4(ddivq, void, env, fprp, fprp, fprp)
633 DEF_HELPER_3(dcmpo, i32, env, fprp, fprp)
634 DEF_HELPER_3(dcmpoq, i32, env, fprp, fprp)
635 DEF_HELPER_3(dcmpu, i32, env, fprp, fprp)
636 DEF_HELPER_3(dcmpuq, i32, env, fprp, fprp)
637 DEF_HELPER_3(dtstdc, i32, env, fprp, i32)
638 DEF_HELPER_3(dtstdcq, i32, env, fprp, i32)
639 DEF_HELPER_3(dtstdg, i32, env, fprp, i32)
640 DEF_HELPER_3(dtstdgq, i32, env, fprp, i32)
641 DEF_HELPER_3(dtstex, i32, env, fprp, fprp)
642 DEF_HELPER_3(dtstexq, i32, env, fprp, fprp)
643 DEF_HELPER_3(dtstsf, i32, env, fprp, fprp)
644 DEF_HELPER_3(dtstsfq, i32, env, fprp, fprp)
645 DEF_HELPER_5(dquai, void, env, fprp, fprp, i32, i32)
646 DEF_HELPER_5(dquaiq, void, env, fprp, fprp, i32, i32)
647 DEF_HELPER_5(dqua, void, env, fprp, fprp, fprp, i32)
648 DEF_HELPER_5(dquaq, void, env, fprp, fprp, fprp, i32)
649 DEF_HELPER_5(drrnd, void, env, fprp, fprp, fprp, i32)
650 DEF_HELPER_5(drrndq, void, env, fprp, fprp, fprp, i32)
651 DEF_HELPER_5(drintx, void, env, fprp, fprp, i32, i32)
652 DEF_HELPER_5(drintxq, void, env, fprp, fprp, i32, i32)
653 DEF_HELPER_5(drintn, void, env, fprp, fprp, i32, i32)
654 DEF_HELPER_5(drintnq, void, env, fprp, fprp, i32, i32)
655 DEF_HELPER_3(dctdp, void, env, fprp, fprp)
656 DEF_HELPER_3(dctqpq, void, env, fprp, fprp)
657 DEF_HELPER_3(drsp, void, env, fprp, fprp)
658 DEF_HELPER_3(drdpq, void, env, fprp, fprp)
659 DEF_HELPER_3(dcffix, void, env, fprp, fprp)
660 DEF_HELPER_3(dcffixq, void, env, fprp, fprp)
661 DEF_HELPER_3(dctfix, void, env, fprp, fprp)
662 DEF_HELPER_3(dctfixq, void, env, fprp, fprp)
663 DEF_HELPER_4(ddedpd, void, env, fprp, fprp, i32)
664 DEF_HELPER_4(ddedpdq, void, env, fprp, fprp, i32)
665 DEF_HELPER_4(denbcd, void, env, fprp, fprp, i32)
666 DEF_HELPER_4(denbcdq, void, env, fprp, fprp, i32)
667 DEF_HELPER_3(dxex, void, env, fprp, fprp)
668 DEF_HELPER_3(dxexq, void, env, fprp, fprp)
669 DEF_HELPER_4(diex, void, env, fprp, fprp, fprp)
670 DEF_HELPER_4(diexq, void, env, fprp, fprp, fprp)
671 DEF_HELPER_4(dscri, void, env, fprp, fprp, i32)
672 DEF_HELPER_4(dscriq, void, env, fprp, fprp, i32)
673 DEF_HELPER_4(dscli, void, env, fprp, fprp, i32)
674 DEF_HELPER_4(dscliq, void, env, fprp, fprp, i32)
675
676 DEF_HELPER_1(tbegin, void, env)
677 DEF_HELPER_1(fixup_thrm, void, env)