]>
Commit | Line | Data |
---|---|---|
a7812ae4 | 1 | #include "def-helper.h" |
f10dc08e | 2 | |
64adab3f | 3 | DEF_HELPER_2(raise_exception_err, void, i32, i32) |
e06fcd75 | 4 | DEF_HELPER_1(raise_exception, void, i32) |
cab3bee2 AJ |
5 | DEF_HELPER_3(tw, void, tl, tl, i32) |
6 | #if defined(TARGET_PPC64) | |
7 | DEF_HELPER_3(td, void, tl, tl, i32) | |
8 | #endif | |
d72a19f7 | 9 | #if !defined(CONFIG_USER_ONLY) |
6527f6ea | 10 | DEF_HELPER_1(store_msr, void, tl) |
d72a19f7 AJ |
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) | |
20 | #endif | |
21 | #endif | |
64adab3f | 22 | |
ff4a62cd AJ |
23 | DEF_HELPER_2(lmw, void, tl, i32) |
24 | DEF_HELPER_2(stmw, void, tl, i32) | |
dfbc799d AJ |
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) | |
799a8c8d AJ |
28 | DEF_HELPER_1(dcbz, void, tl) |
29 | DEF_HELPER_1(dcbz_970, void, tl) | |
37d269df | 30 | DEF_HELPER_1(icbi, void, tl) |
bdb4b689 AJ |
31 | DEF_HELPER_4(lscbx, tl, tl, i32, i32, i32) |
32 | ||
a7812ae4 PB |
33 | DEF_HELPER_0(load_cr, tl) |
34 | DEF_HELPER_2(store_cr, void, tl, i32) | |
26d67362 | 35 | |
74637406 | 36 | #if defined(TARGET_PPC64) |
a7812ae4 PB |
37 | DEF_HELPER_2(mulhd, i64, i64, i64) |
38 | DEF_HELPER_2(mulhdu, i64, i64, i64) | |
39 | DEF_HELPER_2(mulldo, i64, i64, i64) | |
74637406 AJ |
40 | #endif |
41 | ||
a7812ae4 PB |
42 | DEF_HELPER_1(cntlzw, tl, tl) |
43 | DEF_HELPER_1(popcntb, tl, tl) | |
44 | DEF_HELPER_2(sraw, tl, tl, tl) | |
26d67362 | 45 | #if defined(TARGET_PPC64) |
a7812ae4 PB |
46 | DEF_HELPER_1(cntlzd, tl, tl) |
47 | DEF_HELPER_1(popcntb_64, tl, tl) | |
48 | DEF_HELPER_2(srad, tl, tl, tl) | |
26d67362 AJ |
49 | #endif |
50 | ||
a7812ae4 PB |
51 | DEF_HELPER_1(cntlsw32, i32, i32) |
52 | DEF_HELPER_1(cntlzw32, i32, i32) | |
53 | DEF_HELPER_2(brinc, tl, tl, tl) | |
54 | ||
af12906f AJ |
55 | DEF_HELPER_0(float_check_status, void) |
56 | #ifdef CONFIG_SOFTFLOAT | |
57 | DEF_HELPER_0(reset_fpstatus, void) | |
58 | #endif | |
59 | DEF_HELPER_2(compute_fprf, i32, i64, i32) | |
60 | DEF_HELPER_2(store_fpscr, void, i64, i32) | |
6e35d524 | 61 | DEF_HELPER_1(fpscr_clrbit, void, i32) |
af12906f | 62 | DEF_HELPER_1(fpscr_setbit, void, i32) |
a0d7d5a7 AJ |
63 | DEF_HELPER_1(float64_to_float32, i32, i64) |
64 | DEF_HELPER_1(float32_to_float64, i64, i32) | |
af12906f | 65 | |
9a819377 AJ |
66 | DEF_HELPER_3(fcmpo, void, i64, i64, i32) |
67 | DEF_HELPER_3(fcmpu, void, i64, i64, i32) | |
d72a19f7 | 68 | |
af12906f AJ |
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) | |
75 | #endif | |
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) | |
81 | ||
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) | |
1c97856d AJ |
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) | |
af12906f AJ |
97 | DEF_HELPER_3(fsel, i64, i64, i64, i64) |
98 | ||
7872c51c AJ |
99 | #define dh_alias_avr ptr |
100 | #define dh_ctype_avr ppc_avr_t * | |
101 | ||
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) | |
fab3cbe9 AJ |
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) | |
e4039339 AJ |
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) | |
3b430048 AJ |
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) | |
2c277908 AJ |
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) | |
07ef34c3 AJ |
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) | |
d79f0809 AJ |
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) | |
7b239bec AJ |
149 | DEF_HELPER_3(vslo, void, avr, avr, avr) |
150 | DEF_HELPER_3(vsro, void, avr, avr, avr) | |
e343da72 AJ |
151 | DEF_HELPER_3(vaddcuw, void, avr, avr, avr) |
152 | DEF_HELPER_3(vsubcuw, void, avr, avr, avr) | |
bf8d8ded AJ |
153 | DEF_HELPER_2(lvsl, void, avr, tl); |
154 | DEF_HELPER_2(lvsr, void, avr, tl); | |
5e1d0985 AJ |
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) | |
cd633b10 | 158 | DEF_HELPER_4(vsldoi, void, avr, avr, avr, i32) |
e4e6bee7 AJ |
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) | |
79f85c3a AJ |
162 | DEF_HELPER_2(vupkhpx, void, avr, avr) |
163 | DEF_HELPER_2(vupklpx, void, avr, avr) | |
6cf1c6e5 AJ |
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) | |
fab3cbe9 | 168 | |
1c97856d AJ |
169 | DEF_HELPER_1(efscfsi, i32, i32) |
170 | DEF_HELPER_1(efscfui, i32, i32) | |
171 | DEF_HELPER_1(efscfuf, i32, i32) | |
172 | DEF_HELPER_1(efscfsf, i32, i32) | |
173 | DEF_HELPER_1(efsctsi, i32, i32) | |
174 | DEF_HELPER_1(efsctui, i32, i32) | |
175 | DEF_HELPER_1(efsctsiz, i32, i32) | |
176 | DEF_HELPER_1(efsctuiz, i32, i32) | |
177 | DEF_HELPER_1(efsctsf, i32, i32) | |
178 | DEF_HELPER_1(efsctuf, i32, i32) | |
179 | DEF_HELPER_1(evfscfsi, i64, i64) | |
180 | DEF_HELPER_1(evfscfui, i64, i64) | |
181 | DEF_HELPER_1(evfscfuf, i64, i64) | |
182 | DEF_HELPER_1(evfscfsf, i64, i64) | |
183 | DEF_HELPER_1(evfsctsi, i64, i64) | |
184 | DEF_HELPER_1(evfsctui, i64, i64) | |
185 | DEF_HELPER_1(evfsctsiz, i64, i64) | |
186 | DEF_HELPER_1(evfsctuiz, i64, i64) | |
187 | DEF_HELPER_1(evfsctsf, i64, i64) | |
188 | DEF_HELPER_1(evfsctuf, i64, i64) | |
189 | DEF_HELPER_2(efsadd, i32, i32, i32) | |
190 | DEF_HELPER_2(efssub, i32, i32, i32) | |
191 | DEF_HELPER_2(efsmul, i32, i32, i32) | |
192 | DEF_HELPER_2(efsdiv, i32, i32, i32) | |
193 | DEF_HELPER_2(evfsadd, i64, i64, i64) | |
194 | DEF_HELPER_2(evfssub, i64, i64, i64) | |
195 | DEF_HELPER_2(evfsmul, i64, i64, i64) | |
196 | DEF_HELPER_2(evfsdiv, i64, i64, i64) | |
197 | DEF_HELPER_2(efststlt, i32, i32, i32) | |
198 | DEF_HELPER_2(efststgt, i32, i32, i32) | |
199 | DEF_HELPER_2(efststeq, i32, i32, i32) | |
200 | DEF_HELPER_2(efscmplt, i32, i32, i32) | |
201 | DEF_HELPER_2(efscmpgt, i32, i32, i32) | |
202 | DEF_HELPER_2(efscmpeq, i32, i32, i32) | |
203 | DEF_HELPER_2(evfststlt, i32, i64, i64) | |
204 | DEF_HELPER_2(evfststgt, i32, i64, i64) | |
205 | DEF_HELPER_2(evfststeq, i32, i64, i64) | |
206 | DEF_HELPER_2(evfscmplt, i32, i64, i64) | |
207 | DEF_HELPER_2(evfscmpgt, i32, i64, i64) | |
208 | DEF_HELPER_2(evfscmpeq, i32, i64, i64) | |
209 | DEF_HELPER_1(efdcfsi, i64, i32) | |
210 | DEF_HELPER_1(efdcfsid, i64, i64) | |
211 | DEF_HELPER_1(efdcfui, i64, i32) | |
212 | DEF_HELPER_1(efdcfuid, i64, i64) | |
213 | DEF_HELPER_1(efdctsi, i32, i64) | |
214 | DEF_HELPER_1(efdctui, i32, i64) | |
215 | DEF_HELPER_1(efdctsiz, i32, i64) | |
216 | DEF_HELPER_1(efdctsidz, i64, i64) | |
217 | DEF_HELPER_1(efdctuiz, i32, i64) | |
218 | DEF_HELPER_1(efdctuidz, i64, i64) | |
219 | DEF_HELPER_1(efdcfsf, i64, i32) | |
220 | DEF_HELPER_1(efdcfuf, i64, i32) | |
221 | DEF_HELPER_1(efdctsf, i32, i64) | |
222 | DEF_HELPER_1(efdctuf, i32, i64) | |
223 | DEF_HELPER_1(efscfd, i32, i64) | |
224 | DEF_HELPER_1(efdcfs, i64, i32) | |
225 | DEF_HELPER_2(efdadd, i64, i64, i64) | |
226 | DEF_HELPER_2(efdsub, i64, i64, i64) | |
227 | DEF_HELPER_2(efdmul, i64, i64, i64) | |
228 | DEF_HELPER_2(efddiv, i64, i64, i64) | |
229 | DEF_HELPER_2(efdtstlt, i32, i64, i64) | |
230 | DEF_HELPER_2(efdtstgt, i32, i64, i64) | |
231 | DEF_HELPER_2(efdtsteq, i32, i64, i64) | |
232 | DEF_HELPER_2(efdcmplt, i32, i64, i64) | |
233 | DEF_HELPER_2(efdcmpgt, i32, i64, i64) | |
234 | DEF_HELPER_2(efdcmpeq, i32, i64, i64) | |
235 | ||
0f3955e2 | 236 | #if !defined(CONFIG_USER_ONLY) |
74d37793 AJ |
237 | DEF_HELPER_1(4xx_tlbre_hi, tl, tl) |
238 | DEF_HELPER_1(4xx_tlbre_lo, tl, tl) | |
239 | DEF_HELPER_2(4xx_tlbwe_hi, void, tl, tl) | |
240 | DEF_HELPER_2(4xx_tlbwe_lo, void, tl, tl) | |
241 | DEF_HELPER_1(4xx_tlbsx, tl, tl) | |
242 | DEF_HELPER_2(440_tlbre, tl, i32, tl) | |
243 | DEF_HELPER_3(440_tlbwe, void, i32, tl, tl) | |
244 | DEF_HELPER_1(440_tlbsx, tl, tl) | |
245 | DEF_HELPER_1(6xx_tlbd, void, tl) | |
246 | DEF_HELPER_1(6xx_tlbi, void, tl) | |
247 | DEF_HELPER_1(74xx_tlbd, void, tl) | |
248 | DEF_HELPER_1(74xx_tlbi, void, tl) | |
249 | DEF_HELPER_0(tlbia, void) | |
250 | DEF_HELPER_1(tlbie, void, tl) | |
251 | #if defined(TARGET_PPC64) | |
252 | DEF_HELPER_1(load_slb, tl, tl) | |
253 | DEF_HELPER_2(store_slb, void, tl, tl) | |
254 | DEF_HELPER_0(slbia, void) | |
255 | DEF_HELPER_1(slbie, void, tl) | |
256 | #endif | |
257 | DEF_HELPER_1(load_sr, tl, tl); | |
45d827d2 | 258 | DEF_HELPER_2(store_sr, void, tl, tl) |
cf02a65c AJ |
259 | |
260 | DEF_HELPER_1(602_mfrom, tl, tl) | |
0f3955e2 AJ |
261 | #endif |
262 | ||
ef0d51af | 263 | DEF_HELPER_3(dlmzb, tl, tl, tl, i32) |
22e0e173 AJ |
264 | DEF_HELPER_1(clcs, tl, i32) |
265 | #if !defined(CONFIG_USER_ONLY) | |
266 | DEF_HELPER_1(rac, tl, tl) | |
267 | #endif | |
268 | DEF_HELPER_2(div, tl, tl, tl) | |
269 | DEF_HELPER_2(divo, tl, tl, tl) | |
270 | DEF_HELPER_2(divs, tl, tl, tl) | |
271 | DEF_HELPER_2(divso, tl, tl, tl) | |
ef0d51af | 272 | |
06dca6a7 | 273 | DEF_HELPER_1(load_dcr, tl, tl); |
45d827d2 AJ |
274 | DEF_HELPER_2(store_dcr, void, tl, tl) |
275 | ||
276 | DEF_HELPER_1(load_dump_spr, void, i32) | |
277 | DEF_HELPER_1(store_dump_spr, void, i32) | |
278 | DEF_HELPER_0(load_tbl, tl) | |
279 | DEF_HELPER_0(load_tbu, tl) | |
280 | DEF_HELPER_0(load_atbl, tl) | |
281 | DEF_HELPER_0(load_atbu, tl) | |
282 | DEF_HELPER_0(load_601_rtcl, tl) | |
283 | DEF_HELPER_0(load_601_rtcu, tl) | |
284 | #if !defined(CONFIG_USER_ONLY) | |
285 | #if defined(TARGET_PPC64) | |
286 | DEF_HELPER_1(store_asr, void, tl) | |
287 | #endif | |
288 | DEF_HELPER_1(store_sdr1, void, tl) | |
289 | DEF_HELPER_1(store_tbl, void, tl) | |
290 | DEF_HELPER_1(store_tbu, void, tl) | |
291 | DEF_HELPER_1(store_atbl, void, tl) | |
292 | DEF_HELPER_1(store_atbu, void, tl) | |
293 | DEF_HELPER_1(store_601_rtcl, void, tl) | |
294 | DEF_HELPER_1(store_601_rtcu, void, tl) | |
295 | DEF_HELPER_0(load_decr, tl) | |
296 | DEF_HELPER_1(store_decr, void, tl) | |
297 | DEF_HELPER_1(store_hid0_601, void, tl) | |
298 | DEF_HELPER_2(store_403_pbr, void, i32, tl) | |
299 | DEF_HELPER_0(load_40x_pit, tl) | |
300 | DEF_HELPER_1(store_40x_pit, void, tl) | |
301 | DEF_HELPER_1(store_40x_dbcr0, void, tl) | |
302 | DEF_HELPER_1(store_40x_sler, void, tl) | |
303 | DEF_HELPER_1(store_booke_tcr, void, tl) | |
304 | DEF_HELPER_1(store_booke_tsr, void, tl) | |
305 | DEF_HELPER_2(store_ibatl, void, i32, tl) | |
306 | DEF_HELPER_2(store_ibatu, void, i32, tl) | |
307 | DEF_HELPER_2(store_dbatl, void, i32, tl) | |
308 | DEF_HELPER_2(store_dbatu, void, i32, tl) | |
309 | DEF_HELPER_2(store_601_batl, void, i32, tl) | |
310 | DEF_HELPER_2(store_601_batu, void, i32, tl) | |
311 | #endif | |
06dca6a7 | 312 | |
a7812ae4 | 313 | #include "def-helper.h" |