1 #include "def-helper.h"
3 DEF_HELPER_2(raise_exception_err
, void, i32
, i32
)
4 DEF_HELPER_1(raise_exception
, void, i32
)
5 DEF_HELPER_3(tw
, void, tl
, tl
, i32
)
6 #if defined(TARGET_PPC64)
7 DEF_HELPER_3(td
, void, tl
, tl
, i32
)
9 #if !defined(CONFIG_USER_ONLY)
10 DEF_HELPER_1(store_msr
, void, tl
)
11 DEF_HELPER_0(rfi
, void)
12 DEF_HELPER_0(rfsvc
, void)
13 DEF_HELPER_0(40x_rfci
, void)
14 DEF_HELPER_0(rfci
, void)
15 DEF_HELPER_0(rfdi
, void)
16 DEF_HELPER_0(rfmci
, void)
17 #if defined(TARGET_PPC64)
18 DEF_HELPER_0(rfid
, void)
19 DEF_HELPER_0(hrfid
, void)
23 DEF_HELPER_2(lmw
, void, tl
, i32
)
24 DEF_HELPER_2(stmw
, void, tl
, i32
)
25 DEF_HELPER_3(lsw
, void, tl
, i32
, i32
)
26 DEF_HELPER_4(lswx
, void, tl
, i32
, i32
, i32
)
27 DEF_HELPER_3(stsw
, void, tl
, i32
, i32
)
28 DEF_HELPER_1(dcbz
, void, tl
)
29 DEF_HELPER_1(dcbz_970
, void, tl
)
30 DEF_HELPER_1(icbi
, void, tl
)
31 DEF_HELPER_4(lscbx
, tl
, tl
, i32
, i32
, i32
)
33 DEF_HELPER_0(load_cr
, tl
)
34 DEF_HELPER_2(store_cr
, void, tl
, i32
)
36 #if defined(TARGET_PPC64)
37 DEF_HELPER_2(mulhd
, i64
, i64
, i64
)
38 DEF_HELPER_2(mulhdu
, i64
, i64
, i64
)
39 DEF_HELPER_2(mulldo
, i64
, i64
, i64
)
42 DEF_HELPER_1(cntlzw
, tl
, tl
)
43 DEF_HELPER_1(popcntb
, tl
, tl
)
44 DEF_HELPER_2(sraw
, tl
, tl
, tl
)
45 #if defined(TARGET_PPC64)
46 DEF_HELPER_1(cntlzd
, tl
, tl
)
47 DEF_HELPER_1(popcntb_64
, tl
, tl
)
48 DEF_HELPER_2(srad
, tl
, tl
, tl
)
51 DEF_HELPER_1(cntlsw32
, i32
, i32
)
52 DEF_HELPER_1(cntlzw32
, i32
, i32
)
53 DEF_HELPER_2(brinc
, tl
, tl
, tl
)
55 DEF_HELPER_0(float_check_status
, void)
56 #ifdef CONFIG_SOFTFLOAT
57 DEF_HELPER_0(reset_fpstatus
, void)
59 DEF_HELPER_2(compute_fprf
, i32
, i64
, i32
)
60 DEF_HELPER_2(store_fpscr
, void, i64
, i32
)
61 DEF_HELPER_1(fpscr_clrbit
, void, i32
)
62 DEF_HELPER_1(fpscr_setbit
, void, i32
)
63 DEF_HELPER_1(float64_to_float32
, i32
, i64
)
64 DEF_HELPER_1(float32_to_float64
, i64
, i32
)
66 DEF_HELPER_3(fcmpo
, void, i64
, i64
, i32
)
67 DEF_HELPER_3(fcmpu
, void, i64
, i64
, i32
)
69 DEF_HELPER_1(fctiw
, i64
, i64
)
70 DEF_HELPER_1(fctiwz
, i64
, i64
)
71 #if defined(TARGET_PPC64)
72 DEF_HELPER_1(fcfid
, i64
, i64
)
73 DEF_HELPER_1(fctid
, i64
, i64
)
74 DEF_HELPER_1(fctidz
, i64
, i64
)
76 DEF_HELPER_1(frsp
, i64
, i64
)
77 DEF_HELPER_1(frin
, i64
, i64
)
78 DEF_HELPER_1(friz
, i64
, i64
)
79 DEF_HELPER_1(frip
, i64
, i64
)
80 DEF_HELPER_1(frim
, i64
, i64
)
82 DEF_HELPER_2(fadd
, i64
, i64
, i64
)
83 DEF_HELPER_2(fsub
, i64
, i64
, i64
)
84 DEF_HELPER_2(fmul
, i64
, i64
, i64
)
85 DEF_HELPER_2(fdiv
, i64
, i64
, i64
)
86 DEF_HELPER_3(fmadd
, i64
, i64
, i64
, i64
)
87 DEF_HELPER_3(fmsub
, i64
, i64
, i64
, i64
)
88 DEF_HELPER_3(fnmadd
, i64
, i64
, i64
, i64
)
89 DEF_HELPER_3(fnmsub
, i64
, i64
, i64
, i64
)
90 DEF_HELPER_1(fabs
, i64
, i64
)
91 DEF_HELPER_1(fnabs
, i64
, i64
)
92 DEF_HELPER_1(fneg
, i64
, i64
)
93 DEF_HELPER_1(fsqrt
, i64
, i64
)
94 DEF_HELPER_1(fre
, i64
, i64
)
95 DEF_HELPER_1(fres
, i64
, i64
)
96 DEF_HELPER_1(frsqrte
, i64
, i64
)
97 DEF_HELPER_3(fsel
, i64
, i64
, i64
, i64
)
99 #define dh_alias_avr ptr
100 #define dh_ctype_avr ppc_avr_t *
102 DEF_HELPER_3(vaddubm
, void, avr
, avr
, avr
)
103 DEF_HELPER_3(vadduhm
, void, avr
, avr
, avr
)
104 DEF_HELPER_3(vadduwm
, void, avr
, avr
, avr
)
105 DEF_HELPER_3(vsububm
, void, avr
, avr
, avr
)
106 DEF_HELPER_3(vsubuhm
, void, avr
, avr
, avr
)
107 DEF_HELPER_3(vsubuwm
, void, avr
, avr
, avr
)
108 DEF_HELPER_3(vavgub
, void, avr
, avr
, avr
)
109 DEF_HELPER_3(vavguh
, void, avr
, avr
, avr
)
110 DEF_HELPER_3(vavguw
, void, avr
, avr
, avr
)
111 DEF_HELPER_3(vavgsb
, void, avr
, avr
, avr
)
112 DEF_HELPER_3(vavgsh
, void, avr
, avr
, avr
)
113 DEF_HELPER_3(vavgsw
, void, avr
, avr
, avr
)
114 DEF_HELPER_3(vminsb
, void, avr
, avr
, avr
)
115 DEF_HELPER_3(vminsh
, void, avr
, avr
, avr
)
116 DEF_HELPER_3(vminsw
, void, avr
, avr
, avr
)
117 DEF_HELPER_3(vmaxsb
, void, avr
, avr
, avr
)
118 DEF_HELPER_3(vmaxsh
, void, avr
, avr
, avr
)
119 DEF_HELPER_3(vmaxsw
, void, avr
, avr
, avr
)
120 DEF_HELPER_3(vminub
, void, avr
, avr
, avr
)
121 DEF_HELPER_3(vminuh
, void, avr
, avr
, avr
)
122 DEF_HELPER_3(vminuw
, void, avr
, avr
, avr
)
123 DEF_HELPER_3(vmaxub
, void, avr
, avr
, avr
)
124 DEF_HELPER_3(vmaxuh
, void, avr
, avr
, avr
)
125 DEF_HELPER_3(vmaxuw
, void, avr
, avr
, avr
)
126 DEF_HELPER_3(vmrglb
, void, avr
, avr
, avr
)
127 DEF_HELPER_3(vmrglh
, void, avr
, avr
, avr
)
128 DEF_HELPER_3(vmrglw
, void, avr
, avr
, avr
)
129 DEF_HELPER_3(vmrghb
, void, avr
, avr
, avr
)
130 DEF_HELPER_3(vmrghh
, void, avr
, avr
, avr
)
131 DEF_HELPER_3(vmrghw
, void, avr
, avr
, avr
)
132 DEF_HELPER_3(vmulesb
, void, avr
, avr
, avr
)
133 DEF_HELPER_3(vmulesh
, void, avr
, avr
, avr
)
134 DEF_HELPER_3(vmuleub
, void, avr
, avr
, avr
)
135 DEF_HELPER_3(vmuleuh
, void, avr
, avr
, avr
)
136 DEF_HELPER_3(vmulosb
, void, avr
, avr
, avr
)
137 DEF_HELPER_3(vmulosh
, void, avr
, avr
, avr
)
138 DEF_HELPER_3(vmuloub
, void, avr
, avr
, avr
)
139 DEF_HELPER_3(vmulouh
, void, avr
, avr
, avr
)
140 DEF_HELPER_3(vsrab
, void, avr
, avr
, avr
)
141 DEF_HELPER_3(vsrah
, void, avr
, avr
, avr
)
142 DEF_HELPER_3(vsraw
, void, avr
, avr
, avr
)
143 DEF_HELPER_3(vsrb
, void, avr
, avr
, avr
)
144 DEF_HELPER_3(vsrh
, void, avr
, avr
, avr
)
145 DEF_HELPER_3(vsrw
, void, avr
, avr
, avr
)
146 DEF_HELPER_3(vslb
, void, avr
, avr
, avr
)
147 DEF_HELPER_3(vslh
, void, avr
, avr
, avr
)
148 DEF_HELPER_3(vslw
, void, avr
, avr
, avr
)
149 DEF_HELPER_3(vslo
, void, avr
, avr
, avr
)
150 DEF_HELPER_3(vsro
, void, avr
, avr
, avr
)
151 DEF_HELPER_3(vaddcuw
, void, avr
, avr
, avr
)
152 DEF_HELPER_3(vsubcuw
, void, avr
, avr
, avr
)
153 DEF_HELPER_2(lvsl
, void, avr
, tl
);
154 DEF_HELPER_2(lvsr
, void, avr
, tl
);
155 DEF_HELPER_3(vrlb
, void, avr
, avr
, avr
)
156 DEF_HELPER_3(vrlh
, void, avr
, avr
, avr
)
157 DEF_HELPER_3(vrlw
, void, avr
, avr
, avr
)
158 DEF_HELPER_4(vsldoi
, void, avr
, avr
, avr
, i32
)
159 DEF_HELPER_3(vspltb
, void, avr
, avr
, i32
)
160 DEF_HELPER_3(vsplth
, void, avr
, avr
, i32
)
161 DEF_HELPER_3(vspltw
, void, avr
, avr
, i32
)
162 DEF_HELPER_2(vupkhpx
, void, avr
, avr
)
163 DEF_HELPER_2(vupklpx
, void, avr
, avr
)
164 DEF_HELPER_2(vupkhsb
, void, avr
, avr
)
165 DEF_HELPER_2(vupkhsh
, void, avr
, avr
)
166 DEF_HELPER_2(vupklsb
, void, avr
, avr
)
167 DEF_HELPER_2(vupklsh
, void, avr
, avr
)
168 DEF_HELPER_4(vmsumubm
, void, avr
, avr
, avr
, avr
)
169 DEF_HELPER_4(vmsummbm
, void, avr
, avr
, avr
, avr
)
170 DEF_HELPER_4(vsel
, void, avr
, avr
, avr
, avr
)
171 DEF_HELPER_4(vperm
, void, avr
, avr
, avr
, avr
)
172 DEF_HELPER_3(vpkshss
, void, avr
, avr
, avr
)
173 DEF_HELPER_3(vpkshus
, void, avr
, avr
, avr
)
174 DEF_HELPER_3(vpkswss
, void, avr
, avr
, avr
)
175 DEF_HELPER_3(vpkswus
, void, avr
, avr
, avr
)
176 DEF_HELPER_3(vpkuhus
, void, avr
, avr
, avr
)
177 DEF_HELPER_3(vpkuwus
, void, avr
, avr
, avr
)
178 DEF_HELPER_3(vpkuhum
, void, avr
, avr
, avr
)
179 DEF_HELPER_3(vpkuwum
, void, avr
, avr
, avr
)
180 DEF_HELPER_3(vpkpx
, void, avr
, avr
, avr
)
181 DEF_HELPER_4(vmhaddshs
, void, avr
, avr
, avr
, avr
)
182 DEF_HELPER_4(vmhraddshs
, void, avr
, avr
, avr
, avr
)
183 DEF_HELPER_4(vmsumuhm
, void, avr
, avr
, avr
, avr
)
184 DEF_HELPER_4(vmsumuhs
, void, avr
, avr
, avr
, avr
)
185 DEF_HELPER_4(vmsumshm
, void, avr
, avr
, avr
, avr
)
186 DEF_HELPER_4(vmsumshs
, void, avr
, avr
, avr
, avr
)
187 DEF_HELPER_4(vmladduhm
, void, avr
, avr
, avr
, avr
)
188 DEF_HELPER_2(lvebx
, void, avr
, tl
)
189 DEF_HELPER_2(lvehx
, void, avr
, tl
)
190 DEF_HELPER_2(lvewx
, void, avr
, tl
)
191 DEF_HELPER_2(stvebx
, void, avr
, tl
)
192 DEF_HELPER_2(stvehx
, void, avr
, tl
)
193 DEF_HELPER_2(stvewx
, void, avr
, tl
)
194 DEF_HELPER_3(vsumsws
, void, avr
, avr
, avr
)
195 DEF_HELPER_3(vsum2sws
, void, avr
, avr
, avr
)
196 DEF_HELPER_3(vsum4sbs
, void, avr
, avr
, avr
)
197 DEF_HELPER_3(vsum4shs
, void, avr
, avr
, avr
)
198 DEF_HELPER_3(vsum4ubs
, void, avr
, avr
, avr
)
200 DEF_HELPER_1(efscfsi
, i32
, i32
)
201 DEF_HELPER_1(efscfui
, i32
, i32
)
202 DEF_HELPER_1(efscfuf
, i32
, i32
)
203 DEF_HELPER_1(efscfsf
, i32
, i32
)
204 DEF_HELPER_1(efsctsi
, i32
, i32
)
205 DEF_HELPER_1(efsctui
, i32
, i32
)
206 DEF_HELPER_1(efsctsiz
, i32
, i32
)
207 DEF_HELPER_1(efsctuiz
, i32
, i32
)
208 DEF_HELPER_1(efsctsf
, i32
, i32
)
209 DEF_HELPER_1(efsctuf
, i32
, i32
)
210 DEF_HELPER_1(evfscfsi
, i64
, i64
)
211 DEF_HELPER_1(evfscfui
, i64
, i64
)
212 DEF_HELPER_1(evfscfuf
, i64
, i64
)
213 DEF_HELPER_1(evfscfsf
, i64
, i64
)
214 DEF_HELPER_1(evfsctsi
, i64
, i64
)
215 DEF_HELPER_1(evfsctui
, i64
, i64
)
216 DEF_HELPER_1(evfsctsiz
, i64
, i64
)
217 DEF_HELPER_1(evfsctuiz
, i64
, i64
)
218 DEF_HELPER_1(evfsctsf
, i64
, i64
)
219 DEF_HELPER_1(evfsctuf
, i64
, i64
)
220 DEF_HELPER_2(efsadd
, i32
, i32
, i32
)
221 DEF_HELPER_2(efssub
, i32
, i32
, i32
)
222 DEF_HELPER_2(efsmul
, i32
, i32
, i32
)
223 DEF_HELPER_2(efsdiv
, i32
, i32
, i32
)
224 DEF_HELPER_2(evfsadd
, i64
, i64
, i64
)
225 DEF_HELPER_2(evfssub
, i64
, i64
, i64
)
226 DEF_HELPER_2(evfsmul
, i64
, i64
, i64
)
227 DEF_HELPER_2(evfsdiv
, i64
, i64
, i64
)
228 DEF_HELPER_2(efststlt
, i32
, i32
, i32
)
229 DEF_HELPER_2(efststgt
, i32
, i32
, i32
)
230 DEF_HELPER_2(efststeq
, i32
, i32
, i32
)
231 DEF_HELPER_2(efscmplt
, i32
, i32
, i32
)
232 DEF_HELPER_2(efscmpgt
, i32
, i32
, i32
)
233 DEF_HELPER_2(efscmpeq
, i32
, i32
, i32
)
234 DEF_HELPER_2(evfststlt
, i32
, i64
, i64
)
235 DEF_HELPER_2(evfststgt
, i32
, i64
, i64
)
236 DEF_HELPER_2(evfststeq
, i32
, i64
, i64
)
237 DEF_HELPER_2(evfscmplt
, i32
, i64
, i64
)
238 DEF_HELPER_2(evfscmpgt
, i32
, i64
, i64
)
239 DEF_HELPER_2(evfscmpeq
, i32
, i64
, i64
)
240 DEF_HELPER_1(efdcfsi
, i64
, i32
)
241 DEF_HELPER_1(efdcfsid
, i64
, i64
)
242 DEF_HELPER_1(efdcfui
, i64
, i32
)
243 DEF_HELPER_1(efdcfuid
, i64
, i64
)
244 DEF_HELPER_1(efdctsi
, i32
, i64
)
245 DEF_HELPER_1(efdctui
, i32
, i64
)
246 DEF_HELPER_1(efdctsiz
, i32
, i64
)
247 DEF_HELPER_1(efdctsidz
, i64
, i64
)
248 DEF_HELPER_1(efdctuiz
, i32
, i64
)
249 DEF_HELPER_1(efdctuidz
, i64
, i64
)
250 DEF_HELPER_1(efdcfsf
, i64
, i32
)
251 DEF_HELPER_1(efdcfuf
, i64
, i32
)
252 DEF_HELPER_1(efdctsf
, i32
, i64
)
253 DEF_HELPER_1(efdctuf
, i32
, i64
)
254 DEF_HELPER_1(efscfd
, i32
, i64
)
255 DEF_HELPER_1(efdcfs
, i64
, i32
)
256 DEF_HELPER_2(efdadd
, i64
, i64
, i64
)
257 DEF_HELPER_2(efdsub
, i64
, i64
, i64
)
258 DEF_HELPER_2(efdmul
, i64
, i64
, i64
)
259 DEF_HELPER_2(efddiv
, i64
, i64
, i64
)
260 DEF_HELPER_2(efdtstlt
, i32
, i64
, i64
)
261 DEF_HELPER_2(efdtstgt
, i32
, i64
, i64
)
262 DEF_HELPER_2(efdtsteq
, i32
, i64
, i64
)
263 DEF_HELPER_2(efdcmplt
, i32
, i64
, i64
)
264 DEF_HELPER_2(efdcmpgt
, i32
, i64
, i64
)
265 DEF_HELPER_2(efdcmpeq
, i32
, i64
, i64
)
267 #if !defined(CONFIG_USER_ONLY)
268 DEF_HELPER_1(4xx_tlbre_hi
, tl
, tl
)
269 DEF_HELPER_1(4xx_tlbre_lo
, tl
, tl
)
270 DEF_HELPER_2(4xx_tlbwe_hi
, void, tl
, tl
)
271 DEF_HELPER_2(4xx_tlbwe_lo
, void, tl
, tl
)
272 DEF_HELPER_1(4xx_tlbsx
, tl
, tl
)
273 DEF_HELPER_2(440_tlbre
, tl
, i32
, tl
)
274 DEF_HELPER_3(440_tlbwe
, void, i32
, tl
, tl
)
275 DEF_HELPER_1(440_tlbsx
, tl
, tl
)
276 DEF_HELPER_1(6xx_tlbd
, void, tl
)
277 DEF_HELPER_1(6xx_tlbi
, void, tl
)
278 DEF_HELPER_1(74xx_tlbd
, void, tl
)
279 DEF_HELPER_1(74xx_tlbi
, void, tl
)
280 DEF_HELPER_0(tlbia
, void)
281 DEF_HELPER_1(tlbie
, void, tl
)
282 #if defined(TARGET_PPC64)
283 DEF_HELPER_1(load_slb
, tl
, tl
)
284 DEF_HELPER_2(store_slb
, void, tl
, tl
)
285 DEF_HELPER_0(slbia
, void)
286 DEF_HELPER_1(slbie
, void, tl
)
288 DEF_HELPER_1(load_sr
, tl
, tl
);
289 DEF_HELPER_2(store_sr
, void, tl
, tl
)
291 DEF_HELPER_1(602_mfrom
, tl
, tl
)
294 DEF_HELPER_3(dlmzb
, tl
, tl
, tl
, i32
)
295 DEF_HELPER_1(clcs
, tl
, i32
)
296 #if !defined(CONFIG_USER_ONLY)
297 DEF_HELPER_1(rac
, tl
, tl
)
299 DEF_HELPER_2(div
, tl
, tl
, tl
)
300 DEF_HELPER_2(divo
, tl
, tl
, tl
)
301 DEF_HELPER_2(divs
, tl
, tl
, tl
)
302 DEF_HELPER_2(divso
, tl
, tl
, tl
)
304 DEF_HELPER_1(load_dcr
, tl
, tl
);
305 DEF_HELPER_2(store_dcr
, void, tl
, tl
)
307 DEF_HELPER_1(load_dump_spr
, void, i32
)
308 DEF_HELPER_1(store_dump_spr
, void, i32
)
309 DEF_HELPER_0(load_tbl
, tl
)
310 DEF_HELPER_0(load_tbu
, tl
)
311 DEF_HELPER_0(load_atbl
, tl
)
312 DEF_HELPER_0(load_atbu
, tl
)
313 DEF_HELPER_0(load_601_rtcl
, tl
)
314 DEF_HELPER_0(load_601_rtcu
, tl
)
315 #if !defined(CONFIG_USER_ONLY)
316 #if defined(TARGET_PPC64)
317 DEF_HELPER_1(store_asr
, void, tl
)
319 DEF_HELPER_1(store_sdr1
, void, tl
)
320 DEF_HELPER_1(store_tbl
, void, tl
)
321 DEF_HELPER_1(store_tbu
, void, tl
)
322 DEF_HELPER_1(store_atbl
, void, tl
)
323 DEF_HELPER_1(store_atbu
, void, tl
)
324 DEF_HELPER_1(store_601_rtcl
, void, tl
)
325 DEF_HELPER_1(store_601_rtcu
, void, tl
)
326 DEF_HELPER_0(load_decr
, tl
)
327 DEF_HELPER_1(store_decr
, void, tl
)
328 DEF_HELPER_1(store_hid0_601
, void, tl
)
329 DEF_HELPER_2(store_403_pbr
, void, i32
, tl
)
330 DEF_HELPER_0(load_40x_pit
, tl
)
331 DEF_HELPER_1(store_40x_pit
, void, tl
)
332 DEF_HELPER_1(store_40x_dbcr0
, void, tl
)
333 DEF_HELPER_1(store_40x_sler
, void, tl
)
334 DEF_HELPER_1(store_booke_tcr
, void, tl
)
335 DEF_HELPER_1(store_booke_tsr
, void, tl
)
336 DEF_HELPER_2(store_ibatl
, void, i32
, tl
)
337 DEF_HELPER_2(store_ibatu
, void, i32
, tl
)
338 DEF_HELPER_2(store_dbatl
, void, i32
, tl
)
339 DEF_HELPER_2(store_dbatu
, void, i32
, tl
)
340 DEF_HELPER_2(store_601_batl
, void, i32
, tl
)
341 DEF_HELPER_2(store_601_batu
, void, i32
, tl
)
344 #include "def-helper.h"