Add v{add,sub}cuw instructions.
[qemu/qemu-JZ.git] / target-ppc / helper.h
blob21a505f149e87935c5f5017a8556241b7a975e5f
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)
8 #endif
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)
20 #endif
21 #endif
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)
40 #endif
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)
49 #endif
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)
58 #endif
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)
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)
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)
154 DEF_HELPER_1(efscfsi, i32, i32)
155 DEF_HELPER_1(efscfui, i32, i32)
156 DEF_HELPER_1(efscfuf, i32, i32)
157 DEF_HELPER_1(efscfsf, i32, i32)
158 DEF_HELPER_1(efsctsi, i32, i32)
159 DEF_HELPER_1(efsctui, i32, i32)
160 DEF_HELPER_1(efsctsiz, i32, i32)
161 DEF_HELPER_1(efsctuiz, i32, i32)
162 DEF_HELPER_1(efsctsf, i32, i32)
163 DEF_HELPER_1(efsctuf, i32, i32)
164 DEF_HELPER_1(evfscfsi, i64, i64)
165 DEF_HELPER_1(evfscfui, i64, i64)
166 DEF_HELPER_1(evfscfuf, i64, i64)
167 DEF_HELPER_1(evfscfsf, i64, i64)
168 DEF_HELPER_1(evfsctsi, i64, i64)
169 DEF_HELPER_1(evfsctui, i64, i64)
170 DEF_HELPER_1(evfsctsiz, i64, i64)
171 DEF_HELPER_1(evfsctuiz, i64, i64)
172 DEF_HELPER_1(evfsctsf, i64, i64)
173 DEF_HELPER_1(evfsctuf, i64, i64)
174 DEF_HELPER_2(efsadd, i32, i32, i32)
175 DEF_HELPER_2(efssub, i32, i32, i32)
176 DEF_HELPER_2(efsmul, i32, i32, i32)
177 DEF_HELPER_2(efsdiv, i32, i32, i32)
178 DEF_HELPER_2(evfsadd, i64, i64, i64)
179 DEF_HELPER_2(evfssub, i64, i64, i64)
180 DEF_HELPER_2(evfsmul, i64, i64, i64)
181 DEF_HELPER_2(evfsdiv, i64, i64, i64)
182 DEF_HELPER_2(efststlt, i32, i32, i32)
183 DEF_HELPER_2(efststgt, i32, i32, i32)
184 DEF_HELPER_2(efststeq, i32, i32, i32)
185 DEF_HELPER_2(efscmplt, i32, i32, i32)
186 DEF_HELPER_2(efscmpgt, i32, i32, i32)
187 DEF_HELPER_2(efscmpeq, i32, i32, i32)
188 DEF_HELPER_2(evfststlt, i32, i64, i64)
189 DEF_HELPER_2(evfststgt, i32, i64, i64)
190 DEF_HELPER_2(evfststeq, i32, i64, i64)
191 DEF_HELPER_2(evfscmplt, i32, i64, i64)
192 DEF_HELPER_2(evfscmpgt, i32, i64, i64)
193 DEF_HELPER_2(evfscmpeq, i32, i64, i64)
194 DEF_HELPER_1(efdcfsi, i64, i32)
195 DEF_HELPER_1(efdcfsid, i64, i64)
196 DEF_HELPER_1(efdcfui, i64, i32)
197 DEF_HELPER_1(efdcfuid, i64, i64)
198 DEF_HELPER_1(efdctsi, i32, i64)
199 DEF_HELPER_1(efdctui, i32, i64)
200 DEF_HELPER_1(efdctsiz, i32, i64)
201 DEF_HELPER_1(efdctsidz, i64, i64)
202 DEF_HELPER_1(efdctuiz, i32, i64)
203 DEF_HELPER_1(efdctuidz, i64, i64)
204 DEF_HELPER_1(efdcfsf, i64, i32)
205 DEF_HELPER_1(efdcfuf, i64, i32)
206 DEF_HELPER_1(efdctsf, i32, i64)
207 DEF_HELPER_1(efdctuf, i32, i64)
208 DEF_HELPER_1(efscfd, i32, i64)
209 DEF_HELPER_1(efdcfs, i64, i32)
210 DEF_HELPER_2(efdadd, i64, i64, i64)
211 DEF_HELPER_2(efdsub, i64, i64, i64)
212 DEF_HELPER_2(efdmul, i64, i64, i64)
213 DEF_HELPER_2(efddiv, i64, i64, i64)
214 DEF_HELPER_2(efdtstlt, i32, i64, i64)
215 DEF_HELPER_2(efdtstgt, i32, i64, i64)
216 DEF_HELPER_2(efdtsteq, i32, i64, i64)
217 DEF_HELPER_2(efdcmplt, i32, i64, i64)
218 DEF_HELPER_2(efdcmpgt, i32, i64, i64)
219 DEF_HELPER_2(efdcmpeq, i32, i64, i64)
221 #if !defined(CONFIG_USER_ONLY)
222 DEF_HELPER_1(4xx_tlbre_hi, tl, tl)
223 DEF_HELPER_1(4xx_tlbre_lo, tl, tl)
224 DEF_HELPER_2(4xx_tlbwe_hi, void, tl, tl)
225 DEF_HELPER_2(4xx_tlbwe_lo, void, tl, tl)
226 DEF_HELPER_1(4xx_tlbsx, tl, tl)
227 DEF_HELPER_2(440_tlbre, tl, i32, tl)
228 DEF_HELPER_3(440_tlbwe, void, i32, tl, tl)
229 DEF_HELPER_1(440_tlbsx, tl, tl)
230 DEF_HELPER_1(6xx_tlbd, void, tl)
231 DEF_HELPER_1(6xx_tlbi, void, tl)
232 DEF_HELPER_1(74xx_tlbd, void, tl)
233 DEF_HELPER_1(74xx_tlbi, void, tl)
234 DEF_HELPER_0(tlbia, void)
235 DEF_HELPER_1(tlbie, void, tl)
236 #if defined(TARGET_PPC64)
237 DEF_HELPER_1(load_slb, tl, tl)
238 DEF_HELPER_2(store_slb, void, tl, tl)
239 DEF_HELPER_0(slbia, void)
240 DEF_HELPER_1(slbie, void, tl)
241 #endif
242 DEF_HELPER_1(load_sr, tl, tl);
243 DEF_HELPER_2(store_sr, void, tl, tl)
245 DEF_HELPER_1(602_mfrom, tl, tl)
246 #endif
248 DEF_HELPER_3(dlmzb, tl, tl, tl, i32)
249 DEF_HELPER_1(clcs, tl, i32)
250 #if !defined(CONFIG_USER_ONLY)
251 DEF_HELPER_1(rac, tl, tl)
252 #endif
253 DEF_HELPER_2(div, tl, tl, tl)
254 DEF_HELPER_2(divo, tl, tl, tl)
255 DEF_HELPER_2(divs, tl, tl, tl)
256 DEF_HELPER_2(divso, tl, tl, tl)
258 DEF_HELPER_1(load_dcr, tl, tl);
259 DEF_HELPER_2(store_dcr, void, tl, tl)
261 DEF_HELPER_1(load_dump_spr, void, i32)
262 DEF_HELPER_1(store_dump_spr, void, i32)
263 DEF_HELPER_0(load_tbl, tl)
264 DEF_HELPER_0(load_tbu, tl)
265 DEF_HELPER_0(load_atbl, tl)
266 DEF_HELPER_0(load_atbu, tl)
267 DEF_HELPER_0(load_601_rtcl, tl)
268 DEF_HELPER_0(load_601_rtcu, tl)
269 #if !defined(CONFIG_USER_ONLY)
270 #if defined(TARGET_PPC64)
271 DEF_HELPER_1(store_asr, void, tl)
272 #endif
273 DEF_HELPER_1(store_sdr1, void, tl)
274 DEF_HELPER_1(store_tbl, void, tl)
275 DEF_HELPER_1(store_tbu, void, tl)
276 DEF_HELPER_1(store_atbl, void, tl)
277 DEF_HELPER_1(store_atbu, void, tl)
278 DEF_HELPER_1(store_601_rtcl, void, tl)
279 DEF_HELPER_1(store_601_rtcu, void, tl)
280 DEF_HELPER_0(load_decr, tl)
281 DEF_HELPER_1(store_decr, void, tl)
282 DEF_HELPER_1(store_hid0_601, void, tl)
283 DEF_HELPER_2(store_403_pbr, void, i32, tl)
284 DEF_HELPER_0(load_40x_pit, tl)
285 DEF_HELPER_1(store_40x_pit, void, tl)
286 DEF_HELPER_1(store_40x_dbcr0, void, tl)
287 DEF_HELPER_1(store_40x_sler, void, tl)
288 DEF_HELPER_1(store_booke_tcr, void, tl)
289 DEF_HELPER_1(store_booke_tsr, void, tl)
290 DEF_HELPER_2(store_ibatl, void, i32, tl)
291 DEF_HELPER_2(store_ibatu, void, i32, tl)
292 DEF_HELPER_2(store_dbatl, void, i32, tl)
293 DEF_HELPER_2(store_dbatu, void, i32, tl)
294 DEF_HELPER_2(store_601_batl, void, i32, tl)
295 DEF_HELPER_2(store_601_batu, void, i32, tl)
296 #endif
298 #include "def-helper.h"