]>
Commit | Line | Data |
---|---|---|
022c62cb | 1 | #include "exec/def-helper.h" |
f10dc08e | 2 | |
e5f17ac6 BS |
3 | DEF_HELPER_3(raise_exception_err, void, env, i32, i32) |
4 | DEF_HELPER_2(raise_exception, void, env, i32) | |
5 | DEF_HELPER_4(tw, void, env, tl, tl, i32) | |
cab3bee2 | 6 | #if defined(TARGET_PPC64) |
e5f17ac6 | 7 | DEF_HELPER_4(td, void, env, tl, tl, i32) |
cab3bee2 | 8 | #endif |
d72a19f7 | 9 | #if !defined(CONFIG_USER_ONLY) |
e5f17ac6 BS |
10 | DEF_HELPER_2(store_msr, void, env, tl) |
11 | DEF_HELPER_1(rfi, void, env) | |
12 | DEF_HELPER_1(rfsvc, void, env) | |
13 | DEF_HELPER_1(40x_rfci, void, env) | |
14 | DEF_HELPER_1(rfci, void, env) | |
15 | DEF_HELPER_1(rfdi, void, env) | |
16 | DEF_HELPER_1(rfmci, void, env) | |
d72a19f7 | 17 | #if defined(TARGET_PPC64) |
e5f17ac6 BS |
18 | DEF_HELPER_1(rfid, void, env) |
19 | DEF_HELPER_1(hrfid, void, env) | |
d72a19f7 AJ |
20 | #endif |
21 | #endif | |
64adab3f | 22 | |
2f5a189c BS |
23 | DEF_HELPER_3(lmw, void, env, tl, i32) |
24 | DEF_HELPER_3(stmw, void, env, tl, i32) | |
25 | DEF_HELPER_4(lsw, void, env, tl, i32, i32) | |
26 | DEF_HELPER_5(lswx, void, env, tl, i32, i32, i32) | |
27 | DEF_HELPER_4(stsw, void, env, tl, i32, i32) | |
8e33944f | 28 | DEF_HELPER_3(dcbz, void, env, tl, i32) |
2f5a189c BS |
29 | DEF_HELPER_2(icbi, void, env, tl) |
30 | DEF_HELPER_5(lscbx, tl, env, tl, i32, i32, i32) | |
bdb4b689 | 31 | |
74637406 | 32 | #if defined(TARGET_PPC64) |
d15f74fb | 33 | DEF_HELPER_3(mulldo, i64, env, i64, i64) |
98d1eb27 | 34 | DEF_HELPER_4(divdeu, i64, env, i64, i64, i32) |
e44259b6 | 35 | DEF_HELPER_4(divde, i64, env, i64, i64, i32) |
74637406 | 36 | #endif |
6a4fda33 | 37 | DEF_HELPER_4(divweu, tl, env, tl, tl, i32) |
a98eb9e9 | 38 | DEF_HELPER_4(divwe, tl, env, tl, tl, i32) |
74637406 | 39 | |
8f885ef8 AJ |
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) | |
fcfda20f | 43 | DEF_HELPER_FLAGS_2(cmpb, TCG_CALL_NO_RWG_SE, tl, tl, tl) |
d15f74fb | 44 | DEF_HELPER_3(sraw, tl, env, tl, tl) |
26d67362 | 45 | #if defined(TARGET_PPC64) |
8f885ef8 AJ |
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) | |
86ba37ed | 48 | DEF_HELPER_FLAGS_2(bpermd, TCG_CALL_NO_RWG_SE, i64, i64, i64) |
d15f74fb | 49 | DEF_HELPER_3(srad, tl, env, tl, tl) |
26d67362 AJ |
50 | #endif |
51 | ||
8f885ef8 AJ |
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) | |
a7812ae4 | 55 | |
8e703949 BS |
56 | DEF_HELPER_1(float_check_status, void, env) |
57 | DEF_HELPER_1(reset_fpstatus, void, env) | |
58 | DEF_HELPER_3(compute_fprf, i32, env, i64, i32) | |
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) | |
af12906f | 64 | |
8e703949 BS |
65 | DEF_HELPER_4(fcmpo, void, env, i64, i64, i32) |
66 | DEF_HELPER_4(fcmpu, void, env, i64, i64, i32) | |
d72a19f7 | 67 | |
8e703949 | 68 | DEF_HELPER_2(fctiw, i64, env, i64) |
fab7fe42 | 69 | DEF_HELPER_2(fctiwu, i64, env, i64) |
8e703949 | 70 | DEF_HELPER_2(fctiwz, i64, env, i64) |
fab7fe42 | 71 | DEF_HELPER_2(fctiwuz, i64, env, i64) |
af12906f | 72 | #if defined(TARGET_PPC64) |
8e703949 | 73 | DEF_HELPER_2(fcfid, i64, env, i64) |
28288b48 TM |
74 | DEF_HELPER_2(fcfidu, i64, env, i64) |
75 | DEF_HELPER_2(fcfids, i64, env, i64) | |
76 | DEF_HELPER_2(fcfidus, i64, env, i64) | |
8e703949 | 77 | DEF_HELPER_2(fctid, i64, env, i64) |
fab7fe42 | 78 | DEF_HELPER_2(fctidu, i64, env, i64) |
8e703949 | 79 | DEF_HELPER_2(fctidz, i64, env, i64) |
fab7fe42 | 80 | DEF_HELPER_2(fctiduz, i64, env, i64) |
af12906f | 81 | #endif |
8e703949 BS |
82 | DEF_HELPER_2(frsp, i64, env, i64) |
83 | DEF_HELPER_2(frin, i64, env, i64) | |
84 | DEF_HELPER_2(friz, i64, env, i64) | |
85 | DEF_HELPER_2(frip, i64, env, i64) | |
86 | DEF_HELPER_2(frim, i64, env, i64) | |
af12906f | 87 | |
8e703949 BS |
88 | DEF_HELPER_3(fadd, i64, env, i64, i64) |
89 | DEF_HELPER_3(fsub, i64, env, i64, i64) | |
90 | DEF_HELPER_3(fmul, i64, env, i64, i64) | |
91 | DEF_HELPER_3(fdiv, i64, env, i64, i64) | |
92 | DEF_HELPER_4(fmadd, i64, env, i64, i64, i64) | |
93 | DEF_HELPER_4(fmsub, i64, env, i64, i64, i64) | |
94 | DEF_HELPER_4(fnmadd, i64, env, i64, i64, i64) | |
95 | DEF_HELPER_4(fnmsub, i64, env, i64, i64, i64) | |
8e703949 BS |
96 | DEF_HELPER_2(fsqrt, i64, env, i64) |
97 | DEF_HELPER_2(fre, i64, env, i64) | |
98 | DEF_HELPER_2(fres, i64, env, i64) | |
99 | DEF_HELPER_2(frsqrte, i64, env, i64) | |
100 | DEF_HELPER_4(fsel, i64, env, i64, i64, i64) | |
af12906f | 101 | |
da29cb7b | 102 | DEF_HELPER_FLAGS_2(ftdiv, TCG_CALL_NO_RWG_SE, i32, i64, i64) |
6d41d146 | 103 | DEF_HELPER_FLAGS_1(ftsqrt, TCG_CALL_NO_RWG_SE, i32, i64) |
da29cb7b | 104 | |
7872c51c | 105 | #define dh_alias_avr ptr |
c227f099 | 106 | #define dh_ctype_avr ppc_avr_t * |
2bece2c8 | 107 | #define dh_is_signed_avr dh_is_signed_ptr |
7872c51c AJ |
108 | |
109 | DEF_HELPER_3(vaddubm, void, avr, avr, avr) | |
110 | DEF_HELPER_3(vadduhm, void, avr, avr, avr) | |
111 | DEF_HELPER_3(vadduwm, void, avr, avr, avr) | |
56eabc75 | 112 | DEF_HELPER_3(vaddudm, void, avr, avr, avr) |
7872c51c AJ |
113 | DEF_HELPER_3(vsububm, void, avr, avr, avr) |
114 | DEF_HELPER_3(vsubuhm, void, avr, avr, avr) | |
115 | DEF_HELPER_3(vsubuwm, void, avr, avr, avr) | |
56eabc75 | 116 | DEF_HELPER_3(vsubudm, void, avr, avr, avr) |
fab3cbe9 AJ |
117 | DEF_HELPER_3(vavgub, void, avr, avr, avr) |
118 | DEF_HELPER_3(vavguh, void, avr, avr, avr) | |
119 | DEF_HELPER_3(vavguw, void, avr, avr, avr) | |
120 | DEF_HELPER_3(vavgsb, void, avr, avr, avr) | |
121 | DEF_HELPER_3(vavgsh, void, avr, avr, avr) | |
122 | DEF_HELPER_3(vavgsw, void, avr, avr, avr) | |
e4039339 AJ |
123 | DEF_HELPER_3(vminsb, void, avr, avr, avr) |
124 | DEF_HELPER_3(vminsh, void, avr, avr, avr) | |
125 | DEF_HELPER_3(vminsw, void, avr, avr, avr) | |
126 | DEF_HELPER_3(vmaxsb, void, avr, avr, avr) | |
127 | DEF_HELPER_3(vmaxsh, void, avr, avr, avr) | |
128 | DEF_HELPER_3(vmaxsw, 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(vmaxub, void, avr, avr, avr) | |
133 | DEF_HELPER_3(vmaxuh, void, avr, avr, avr) | |
134 | DEF_HELPER_3(vmaxuw, void, avr, avr, avr) | |
d15f74fb BS |
135 | DEF_HELPER_4(vcmpequb, void, env, avr, avr, avr) |
136 | DEF_HELPER_4(vcmpequh, void, env, avr, avr, avr) | |
137 | DEF_HELPER_4(vcmpequw, void, env, avr, avr, avr) | |
138 | DEF_HELPER_4(vcmpgtub, void, env, avr, avr, avr) | |
139 | DEF_HELPER_4(vcmpgtuh, void, env, avr, avr, avr) | |
140 | DEF_HELPER_4(vcmpgtuw, void, env, avr, avr, avr) | |
141 | DEF_HELPER_4(vcmpgtsb, void, env, avr, avr, avr) | |
142 | DEF_HELPER_4(vcmpgtsh, void, env, avr, avr, avr) | |
143 | DEF_HELPER_4(vcmpgtsw, void, env, avr, avr, avr) | |
144 | DEF_HELPER_4(vcmpeqfp, void, env, avr, avr, avr) | |
145 | DEF_HELPER_4(vcmpgefp, void, env, avr, avr, avr) | |
146 | DEF_HELPER_4(vcmpgtfp, void, env, avr, avr, avr) | |
147 | DEF_HELPER_4(vcmpbfp, void, env, avr, avr, avr) | |
148 | DEF_HELPER_4(vcmpequb_dot, void, env, avr, avr, avr) | |
149 | DEF_HELPER_4(vcmpequh_dot, void, env, avr, avr, avr) | |
150 | DEF_HELPER_4(vcmpequw_dot, void, env, avr, avr, avr) | |
151 | DEF_HELPER_4(vcmpgtub_dot, void, env, avr, avr, avr) | |
152 | DEF_HELPER_4(vcmpgtuh_dot, void, env, avr, avr, avr) | |
153 | DEF_HELPER_4(vcmpgtuw_dot, void, env, avr, avr, avr) | |
154 | DEF_HELPER_4(vcmpgtsb_dot, void, env, avr, avr, avr) | |
155 | DEF_HELPER_4(vcmpgtsh_dot, void, env, avr, avr, avr) | |
156 | DEF_HELPER_4(vcmpgtsw_dot, void, env, avr, avr, avr) | |
157 | DEF_HELPER_4(vcmpeqfp_dot, void, env, avr, avr, avr) | |
158 | DEF_HELPER_4(vcmpgefp_dot, void, env, avr, avr, avr) | |
159 | DEF_HELPER_4(vcmpgtfp_dot, void, env, avr, avr, avr) | |
160 | DEF_HELPER_4(vcmpbfp_dot, void, env, avr, avr, avr) | |
3b430048 AJ |
161 | DEF_HELPER_3(vmrglb, void, avr, avr, avr) |
162 | DEF_HELPER_3(vmrglh, void, avr, avr, avr) | |
163 | DEF_HELPER_3(vmrglw, void, avr, avr, avr) | |
164 | DEF_HELPER_3(vmrghb, void, avr, avr, avr) | |
165 | DEF_HELPER_3(vmrghh, void, avr, avr, avr) | |
166 | DEF_HELPER_3(vmrghw, void, avr, avr, avr) | |
2c277908 AJ |
167 | DEF_HELPER_3(vmulesb, void, avr, avr, avr) |
168 | DEF_HELPER_3(vmulesh, void, avr, avr, avr) | |
63be0936 | 169 | DEF_HELPER_3(vmulesw, void, avr, avr, avr) |
2c277908 AJ |
170 | DEF_HELPER_3(vmuleub, void, avr, avr, avr) |
171 | DEF_HELPER_3(vmuleuh, void, avr, avr, avr) | |
63be0936 | 172 | DEF_HELPER_3(vmuleuw, void, avr, avr, avr) |
2c277908 AJ |
173 | DEF_HELPER_3(vmulosb, void, avr, avr, avr) |
174 | DEF_HELPER_3(vmulosh, void, avr, avr, avr) | |
63be0936 | 175 | DEF_HELPER_3(vmulosw, void, avr, avr, avr) |
2c277908 AJ |
176 | DEF_HELPER_3(vmuloub, void, avr, avr, avr) |
177 | DEF_HELPER_3(vmulouh, void, avr, avr, avr) | |
63be0936 | 178 | DEF_HELPER_3(vmulouw, void, avr, avr, avr) |
953f0f58 | 179 | DEF_HELPER_3(vmuluwm, void, avr, avr, avr) |
07ef34c3 AJ |
180 | DEF_HELPER_3(vsrab, void, avr, avr, avr) |
181 | DEF_HELPER_3(vsrah, void, avr, avr, avr) | |
182 | DEF_HELPER_3(vsraw, void, avr, avr, avr) | |
183 | DEF_HELPER_3(vsrb, void, avr, avr, avr) | |
184 | DEF_HELPER_3(vsrh, void, avr, avr, avr) | |
185 | DEF_HELPER_3(vsrw, void, avr, avr, avr) | |
d79f0809 AJ |
186 | DEF_HELPER_3(vslb, void, avr, avr, avr) |
187 | DEF_HELPER_3(vslh, void, avr, avr, avr) | |
188 | DEF_HELPER_3(vslw, void, avr, avr, avr) | |
7b239bec AJ |
189 | DEF_HELPER_3(vslo, void, avr, avr, avr) |
190 | DEF_HELPER_3(vsro, void, avr, avr, avr) | |
e343da72 AJ |
191 | DEF_HELPER_3(vaddcuw, void, avr, avr, avr) |
192 | DEF_HELPER_3(vsubcuw, void, avr, avr, avr) | |
f5daeec4 RH |
193 | DEF_HELPER_2(lvsl, void, avr, tl) |
194 | DEF_HELPER_2(lvsr, void, avr, tl) | |
d15f74fb BS |
195 | DEF_HELPER_4(vaddsbs, void, env, avr, avr, avr) |
196 | DEF_HELPER_4(vaddshs, void, env, avr, avr, avr) | |
197 | DEF_HELPER_4(vaddsws, void, env, avr, avr, avr) | |
198 | DEF_HELPER_4(vsubsbs, void, env, avr, avr, avr) | |
199 | DEF_HELPER_4(vsubshs, void, env, avr, avr, avr) | |
200 | DEF_HELPER_4(vsubsws, void, env, avr, avr, avr) | |
201 | DEF_HELPER_4(vaddubs, void, env, avr, avr, avr) | |
202 | DEF_HELPER_4(vadduhs, void, env, avr, avr, avr) | |
203 | DEF_HELPER_4(vadduws, void, env, avr, avr, avr) | |
204 | DEF_HELPER_4(vsububs, void, env, avr, avr, avr) | |
205 | DEF_HELPER_4(vsubuhs, void, env, avr, avr, avr) | |
206 | DEF_HELPER_4(vsubuws, void, env, avr, avr, avr) | |
5e1d0985 AJ |
207 | DEF_HELPER_3(vrlb, void, avr, avr, avr) |
208 | DEF_HELPER_3(vrlh, void, avr, avr, avr) | |
209 | DEF_HELPER_3(vrlw, void, avr, avr, avr) | |
d9430add AJ |
210 | DEF_HELPER_3(vsl, void, avr, avr, avr) |
211 | DEF_HELPER_3(vsr, void, avr, avr, avr) | |
cd633b10 | 212 | DEF_HELPER_4(vsldoi, void, avr, avr, avr, i32) |
c026766b AJ |
213 | DEF_HELPER_2(vspltisb, void, avr, i32) |
214 | DEF_HELPER_2(vspltish, void, avr, i32) | |
215 | DEF_HELPER_2(vspltisw, void, avr, i32) | |
e4e6bee7 AJ |
216 | DEF_HELPER_3(vspltb, void, avr, avr, i32) |
217 | DEF_HELPER_3(vsplth, void, avr, avr, i32) | |
218 | DEF_HELPER_3(vspltw, void, avr, avr, i32) | |
79f85c3a AJ |
219 | DEF_HELPER_2(vupkhpx, void, avr, avr) |
220 | DEF_HELPER_2(vupklpx, void, avr, avr) | |
6cf1c6e5 AJ |
221 | DEF_HELPER_2(vupkhsb, void, avr, avr) |
222 | DEF_HELPER_2(vupkhsh, void, avr, avr) | |
223 | DEF_HELPER_2(vupklsb, void, avr, avr) | |
224 | DEF_HELPER_2(vupklsh, void, avr, avr) | |
d15f74fb BS |
225 | DEF_HELPER_5(vmsumubm, void, env, avr, avr, avr, avr) |
226 | DEF_HELPER_5(vmsummbm, void, env, avr, avr, avr, avr) | |
227 | DEF_HELPER_5(vsel, void, env, avr, avr, avr, avr) | |
228 | DEF_HELPER_5(vperm, void, env, avr, avr, avr, avr) | |
229 | DEF_HELPER_4(vpkshss, void, env, avr, avr, avr) | |
230 | DEF_HELPER_4(vpkshus, void, env, avr, avr, avr) | |
231 | DEF_HELPER_4(vpkswss, void, env, avr, avr, avr) | |
232 | DEF_HELPER_4(vpkswus, void, env, avr, avr, avr) | |
233 | DEF_HELPER_4(vpkuhus, void, env, avr, avr, avr) | |
234 | DEF_HELPER_4(vpkuwus, void, env, avr, avr, avr) | |
235 | DEF_HELPER_4(vpkuhum, void, env, avr, avr, avr) | |
236 | DEF_HELPER_4(vpkuwum, void, env, avr, avr, avr) | |
1dd9ffb9 | 237 | DEF_HELPER_3(vpkpx, void, avr, avr, avr) |
d15f74fb BS |
238 | DEF_HELPER_5(vmhaddshs, void, env, avr, avr, avr, avr) |
239 | DEF_HELPER_5(vmhraddshs, void, env, avr, avr, avr, avr) | |
240 | DEF_HELPER_5(vmsumuhm, void, env, avr, avr, avr, avr) | |
241 | DEF_HELPER_5(vmsumuhs, void, env, avr, avr, avr, avr) | |
242 | DEF_HELPER_5(vmsumshm, void, env, avr, avr, avr, avr) | |
243 | DEF_HELPER_5(vmsumshs, void, env, avr, avr, avr, avr) | |
bcd2ee23 | 244 | DEF_HELPER_4(vmladduhm, void, avr, avr, avr, avr) |
f5daeec4 | 245 | DEF_HELPER_2(mtvscr, void, env, avr) |
2f5a189c BS |
246 | DEF_HELPER_3(lvebx, void, env, avr, tl) |
247 | DEF_HELPER_3(lvehx, void, env, avr, tl) | |
248 | DEF_HELPER_3(lvewx, void, env, avr, tl) | |
249 | DEF_HELPER_3(stvebx, void, env, avr, tl) | |
250 | DEF_HELPER_3(stvehx, void, env, avr, tl) | |
251 | DEF_HELPER_3(stvewx, void, env, avr, tl) | |
d15f74fb BS |
252 | DEF_HELPER_4(vsumsws, void, env, avr, avr, avr) |
253 | DEF_HELPER_4(vsum2sws, void, env, avr, avr, avr) | |
254 | DEF_HELPER_4(vsum4sbs, void, env, avr, avr, avr) | |
255 | DEF_HELPER_4(vsum4shs, void, env, avr, avr, avr) | |
256 | DEF_HELPER_4(vsum4ubs, void, env, avr, avr, avr) | |
257 | DEF_HELPER_4(vaddfp, void, env, avr, avr, avr) | |
258 | DEF_HELPER_4(vsubfp, void, env, avr, avr, avr) | |
259 | DEF_HELPER_4(vmaxfp, void, env, avr, avr, avr) | |
260 | DEF_HELPER_4(vminfp, void, env, avr, avr, avr) | |
261 | DEF_HELPER_3(vrefp, void, env, avr, avr) | |
262 | DEF_HELPER_3(vrsqrtefp, void, env, avr, avr) | |
263 | DEF_HELPER_5(vmaddfp, void, env, avr, avr, avr, avr) | |
264 | DEF_HELPER_5(vnmsubfp, void, env, avr, avr, avr, avr) | |
265 | DEF_HELPER_3(vexptefp, void, env, avr, avr) | |
266 | DEF_HELPER_3(vlogefp, void, env, avr, avr) | |
267 | DEF_HELPER_3(vrfim, void, env, avr, avr) | |
268 | DEF_HELPER_3(vrfin, void, env, avr, avr) | |
269 | DEF_HELPER_3(vrfip, void, env, avr, avr) | |
270 | DEF_HELPER_3(vrfiz, void, env, avr, avr) | |
271 | DEF_HELPER_4(vcfux, void, env, avr, avr, i32) | |
272 | DEF_HELPER_4(vcfsx, void, env, avr, avr, i32) | |
273 | DEF_HELPER_4(vctuxs, void, env, avr, avr, i32) | |
274 | DEF_HELPER_4(vctsxs, void, env, avr, avr, i32) | |
fab3cbe9 | 275 | |
f293f04a TM |
276 | DEF_HELPER_2(vclzb, void, avr, avr) |
277 | DEF_HELPER_2(vclzh, void, avr, avr) | |
278 | DEF_HELPER_2(vclzw, void, avr, avr) | |
279 | DEF_HELPER_2(vclzd, void, avr, avr) | |
e13500b3 TM |
280 | DEF_HELPER_2(vpopcntb, void, avr, avr) |
281 | DEF_HELPER_2(vpopcnth, void, avr, avr) | |
282 | DEF_HELPER_2(vpopcntw, void, avr, avr) | |
283 | DEF_HELPER_2(vpopcntd, void, avr, avr) | |
f293f04a | 284 | |
ee6e02c0 TM |
285 | DEF_HELPER_2(xsadddp, void, env, i32) |
286 | DEF_HELPER_2(xssubdp, void, env, i32) | |
5e591d88 | 287 | DEF_HELPER_2(xsmuldp, void, env, i32) |
4b98eeef | 288 | DEF_HELPER_2(xsdivdp, void, env, i32) |
2009227f | 289 | DEF_HELPER_2(xsredp, void, env, i32) |
d32404fe | 290 | DEF_HELPER_2(xssqrtdp, void, env, i32) |
d3f9df8f | 291 | DEF_HELPER_2(xsrsqrtedp, void, env, i32) |
bc80838f | 292 | DEF_HELPER_2(xstdivdp, void, env, i32) |
5cb151ac | 293 | DEF_HELPER_2(xstsqrtdp, void, env, i32) |
595c6eef TM |
294 | DEF_HELPER_2(xsmaddadp, void, env, i32) |
295 | DEF_HELPER_2(xsmaddmdp, void, env, i32) | |
296 | DEF_HELPER_2(xsmsubadp, void, env, i32) | |
297 | DEF_HELPER_2(xsmsubmdp, void, env, i32) | |
298 | DEF_HELPER_2(xsnmaddadp, void, env, i32) | |
299 | DEF_HELPER_2(xsnmaddmdp, void, env, i32) | |
300 | DEF_HELPER_2(xsnmsubadp, void, env, i32) | |
301 | DEF_HELPER_2(xsnmsubmdp, void, env, i32) | |
4f17e9c7 TM |
302 | DEF_HELPER_2(xscmpodp, void, env, i32) |
303 | DEF_HELPER_2(xscmpudp, void, env, i32) | |
959e9c9d TM |
304 | DEF_HELPER_2(xsmaxdp, void, env, i32) |
305 | DEF_HELPER_2(xsmindp, void, env, i32) | |
ed8ac568 | 306 | DEF_HELPER_2(xscvdpsp, void, env, i32) |
7ee19fb9 | 307 | DEF_HELPER_2(xscvdpspn, i64, env, i64) |
ed8ac568 | 308 | DEF_HELPER_2(xscvspdp, void, env, i32) |
7ee19fb9 | 309 | DEF_HELPER_2(xscvspdpn, i64, env, i64) |
5177d2ca TM |
310 | DEF_HELPER_2(xscvdpsxds, void, env, i32) |
311 | DEF_HELPER_2(xscvdpsxws, void, env, i32) | |
312 | DEF_HELPER_2(xscvdpuxds, void, env, i32) | |
313 | DEF_HELPER_2(xscvdpuxws, void, env, i32) | |
314 | DEF_HELPER_2(xscvsxddp, void, env, i32) | |
74698350 TM |
315 | DEF_HELPER_2(xscvuxdsp, void, env, i32) |
316 | DEF_HELPER_2(xscvsxdsp, void, env, i32) | |
5177d2ca | 317 | DEF_HELPER_2(xscvuxddp, void, env, i32) |
88e33d08 TM |
318 | DEF_HELPER_2(xsrdpi, void, env, i32) |
319 | DEF_HELPER_2(xsrdpic, void, env, i32) | |
320 | DEF_HELPER_2(xsrdpim, void, env, i32) | |
321 | DEF_HELPER_2(xsrdpip, void, env, i32) | |
322 | DEF_HELPER_2(xsrdpiz, void, env, i32) | |
ee6e02c0 | 323 | |
3fd0aadf TM |
324 | DEF_HELPER_2(xsaddsp, void, env, i32) |
325 | DEF_HELPER_2(xssubsp, void, env, i32) | |
ab9408a2 | 326 | DEF_HELPER_2(xsmulsp, void, env, i32) |
b24d0b47 | 327 | DEF_HELPER_2(xsdivsp, void, env, i32) |
2c0c52ae | 328 | DEF_HELPER_2(xsresp, void, env, i32) |
3d1140bf | 329 | DEF_HELPER_2(xsrsp, i64, env, i64) |
cea4e574 | 330 | DEF_HELPER_2(xssqrtsp, void, env, i32) |
968e76bc | 331 | DEF_HELPER_2(xsrsqrtesp, void, env, i32) |
f53f81e0 TM |
332 | DEF_HELPER_2(xsmaddasp, void, env, i32) |
333 | DEF_HELPER_2(xsmaddmsp, void, env, i32) | |
334 | DEF_HELPER_2(xsmsubasp, void, env, i32) | |
335 | DEF_HELPER_2(xsmsubmsp, void, env, i32) | |
336 | DEF_HELPER_2(xsnmaddasp, void, env, i32) | |
337 | DEF_HELPER_2(xsnmaddmsp, void, env, i32) | |
338 | DEF_HELPER_2(xsnmsubasp, void, env, i32) | |
339 | DEF_HELPER_2(xsnmsubmsp, void, env, i32) | |
3fd0aadf | 340 | |
ee6e02c0 TM |
341 | DEF_HELPER_2(xvadddp, void, env, i32) |
342 | DEF_HELPER_2(xvsubdp, void, env, i32) | |
5e591d88 | 343 | DEF_HELPER_2(xvmuldp, void, env, i32) |
4b98eeef | 344 | DEF_HELPER_2(xvdivdp, void, env, i32) |
2009227f | 345 | DEF_HELPER_2(xvredp, void, env, i32) |
d32404fe | 346 | DEF_HELPER_2(xvsqrtdp, void, env, i32) |
d3f9df8f | 347 | DEF_HELPER_2(xvrsqrtedp, void, env, i32) |
bc80838f | 348 | DEF_HELPER_2(xvtdivdp, void, env, i32) |
5cb151ac | 349 | DEF_HELPER_2(xvtsqrtdp, void, env, i32) |
595c6eef TM |
350 | DEF_HELPER_2(xvmaddadp, void, env, i32) |
351 | DEF_HELPER_2(xvmaddmdp, void, env, i32) | |
352 | DEF_HELPER_2(xvmsubadp, void, env, i32) | |
353 | DEF_HELPER_2(xvmsubmdp, void, env, i32) | |
354 | DEF_HELPER_2(xvnmaddadp, void, env, i32) | |
355 | DEF_HELPER_2(xvnmaddmdp, void, env, i32) | |
356 | DEF_HELPER_2(xvnmsubadp, void, env, i32) | |
357 | DEF_HELPER_2(xvnmsubmdp, void, env, i32) | |
959e9c9d TM |
358 | DEF_HELPER_2(xvmaxdp, void, env, i32) |
359 | DEF_HELPER_2(xvmindp, void, env, i32) | |
354a6dec TM |
360 | DEF_HELPER_2(xvcmpeqdp, void, env, i32) |
361 | DEF_HELPER_2(xvcmpgedp, void, env, i32) | |
362 | DEF_HELPER_2(xvcmpgtdp, void, env, i32) | |
ed8ac568 | 363 | DEF_HELPER_2(xvcvdpsp, void, env, i32) |
5177d2ca TM |
364 | DEF_HELPER_2(xvcvdpsxds, void, env, i32) |
365 | DEF_HELPER_2(xvcvdpsxws, void, env, i32) | |
366 | DEF_HELPER_2(xvcvdpuxds, void, env, i32) | |
367 | DEF_HELPER_2(xvcvdpuxws, void, env, i32) | |
368 | DEF_HELPER_2(xvcvsxddp, void, env, i32) | |
369 | DEF_HELPER_2(xvcvuxddp, void, env, i32) | |
370 | DEF_HELPER_2(xvcvsxwdp, void, env, i32) | |
371 | DEF_HELPER_2(xvcvuxwdp, void, env, i32) | |
88e33d08 TM |
372 | DEF_HELPER_2(xvrdpi, void, env, i32) |
373 | DEF_HELPER_2(xvrdpic, void, env, i32) | |
374 | DEF_HELPER_2(xvrdpim, void, env, i32) | |
375 | DEF_HELPER_2(xvrdpip, void, env, i32) | |
376 | DEF_HELPER_2(xvrdpiz, void, env, i32) | |
ee6e02c0 TM |
377 | |
378 | DEF_HELPER_2(xvaddsp, void, env, i32) | |
379 | DEF_HELPER_2(xvsubsp, void, env, i32) | |
5e591d88 | 380 | DEF_HELPER_2(xvmulsp, void, env, i32) |
4b98eeef | 381 | DEF_HELPER_2(xvdivsp, void, env, i32) |
2009227f | 382 | DEF_HELPER_2(xvresp, void, env, i32) |
d32404fe | 383 | DEF_HELPER_2(xvsqrtsp, void, env, i32) |
d3f9df8f | 384 | DEF_HELPER_2(xvrsqrtesp, void, env, i32) |
bc80838f | 385 | DEF_HELPER_2(xvtdivsp, void, env, i32) |
5cb151ac | 386 | DEF_HELPER_2(xvtsqrtsp, void, env, i32) |
595c6eef TM |
387 | DEF_HELPER_2(xvmaddasp, void, env, i32) |
388 | DEF_HELPER_2(xvmaddmsp, void, env, i32) | |
389 | DEF_HELPER_2(xvmsubasp, void, env, i32) | |
390 | DEF_HELPER_2(xvmsubmsp, void, env, i32) | |
391 | DEF_HELPER_2(xvnmaddasp, void, env, i32) | |
392 | DEF_HELPER_2(xvnmaddmsp, void, env, i32) | |
393 | DEF_HELPER_2(xvnmsubasp, void, env, i32) | |
394 | DEF_HELPER_2(xvnmsubmsp, void, env, i32) | |
959e9c9d TM |
395 | DEF_HELPER_2(xvmaxsp, void, env, i32) |
396 | DEF_HELPER_2(xvminsp, void, env, i32) | |
354a6dec TM |
397 | DEF_HELPER_2(xvcmpeqsp, void, env, i32) |
398 | DEF_HELPER_2(xvcmpgesp, void, env, i32) | |
399 | DEF_HELPER_2(xvcmpgtsp, void, env, i32) | |
ed8ac568 | 400 | DEF_HELPER_2(xvcvspdp, void, env, i32) |
5177d2ca TM |
401 | DEF_HELPER_2(xvcvspsxds, void, env, i32) |
402 | DEF_HELPER_2(xvcvspsxws, void, env, i32) | |
403 | DEF_HELPER_2(xvcvspuxds, void, env, i32) | |
404 | DEF_HELPER_2(xvcvspuxws, void, env, i32) | |
405 | DEF_HELPER_2(xvcvsxdsp, void, env, i32) | |
406 | DEF_HELPER_2(xvcvuxdsp, void, env, i32) | |
407 | DEF_HELPER_2(xvcvsxwsp, void, env, i32) | |
408 | DEF_HELPER_2(xvcvuxwsp, void, env, i32) | |
88e33d08 TM |
409 | DEF_HELPER_2(xvrspi, void, env, i32) |
410 | DEF_HELPER_2(xvrspic, void, env, i32) | |
411 | DEF_HELPER_2(xvrspim, void, env, i32) | |
412 | DEF_HELPER_2(xvrspip, void, env, i32) | |
413 | DEF_HELPER_2(xvrspiz, void, env, i32) | |
ee6e02c0 | 414 | |
8e703949 BS |
415 | DEF_HELPER_2(efscfsi, i32, env, i32) |
416 | DEF_HELPER_2(efscfui, i32, env, i32) | |
417 | DEF_HELPER_2(efscfuf, i32, env, i32) | |
418 | DEF_HELPER_2(efscfsf, i32, env, i32) | |
419 | DEF_HELPER_2(efsctsi, i32, env, i32) | |
420 | DEF_HELPER_2(efsctui, i32, env, i32) | |
421 | DEF_HELPER_2(efsctsiz, i32, env, i32) | |
422 | DEF_HELPER_2(efsctuiz, i32, env, i32) | |
423 | DEF_HELPER_2(efsctsf, i32, env, i32) | |
424 | DEF_HELPER_2(efsctuf, i32, env, i32) | |
425 | DEF_HELPER_2(evfscfsi, i64, env, i64) | |
426 | DEF_HELPER_2(evfscfui, i64, env, i64) | |
427 | DEF_HELPER_2(evfscfuf, i64, env, i64) | |
428 | DEF_HELPER_2(evfscfsf, i64, env, i64) | |
429 | DEF_HELPER_2(evfsctsi, i64, env, i64) | |
430 | DEF_HELPER_2(evfsctui, i64, env, i64) | |
431 | DEF_HELPER_2(evfsctsiz, i64, env, i64) | |
432 | DEF_HELPER_2(evfsctuiz, i64, env, i64) | |
433 | DEF_HELPER_2(evfsctsf, i64, env, i64) | |
434 | DEF_HELPER_2(evfsctuf, i64, env, i64) | |
435 | DEF_HELPER_3(efsadd, i32, env, i32, i32) | |
436 | DEF_HELPER_3(efssub, i32, env, i32, i32) | |
437 | DEF_HELPER_3(efsmul, i32, env, i32, i32) | |
438 | DEF_HELPER_3(efsdiv, i32, env, i32, i32) | |
439 | DEF_HELPER_3(evfsadd, i64, env, i64, i64) | |
440 | DEF_HELPER_3(evfssub, i64, env, i64, i64) | |
441 | DEF_HELPER_3(evfsmul, i64, env, i64, i64) | |
442 | DEF_HELPER_3(evfsdiv, i64, env, i64, i64) | |
443 | DEF_HELPER_3(efststlt, i32, env, i32, i32) | |
444 | DEF_HELPER_3(efststgt, i32, env, i32, i32) | |
445 | DEF_HELPER_3(efststeq, i32, env, i32, i32) | |
446 | DEF_HELPER_3(efscmplt, i32, env, i32, i32) | |
447 | DEF_HELPER_3(efscmpgt, i32, env, i32, i32) | |
448 | DEF_HELPER_3(efscmpeq, i32, env, i32, i32) | |
449 | DEF_HELPER_3(evfststlt, i32, env, i64, i64) | |
450 | DEF_HELPER_3(evfststgt, i32, env, i64, i64) | |
451 | DEF_HELPER_3(evfststeq, i32, env, i64, i64) | |
452 | DEF_HELPER_3(evfscmplt, i32, env, i64, i64) | |
453 | DEF_HELPER_3(evfscmpgt, i32, env, i64, i64) | |
454 | DEF_HELPER_3(evfscmpeq, i32, env, i64, i64) | |
455 | DEF_HELPER_2(efdcfsi, i64, env, i32) | |
456 | DEF_HELPER_2(efdcfsid, i64, env, i64) | |
457 | DEF_HELPER_2(efdcfui, i64, env, i32) | |
458 | DEF_HELPER_2(efdcfuid, i64, env, i64) | |
459 | DEF_HELPER_2(efdctsi, i32, env, i64) | |
460 | DEF_HELPER_2(efdctui, i32, env, i64) | |
461 | DEF_HELPER_2(efdctsiz, i32, env, i64) | |
462 | DEF_HELPER_2(efdctsidz, i64, env, i64) | |
463 | DEF_HELPER_2(efdctuiz, i32, env, i64) | |
464 | DEF_HELPER_2(efdctuidz, i64, env, i64) | |
465 | DEF_HELPER_2(efdcfsf, i64, env, i32) | |
466 | DEF_HELPER_2(efdcfuf, i64, env, i32) | |
467 | DEF_HELPER_2(efdctsf, i32, env, i64) | |
468 | DEF_HELPER_2(efdctuf, i32, env, i64) | |
469 | DEF_HELPER_2(efscfd, i32, env, i64) | |
470 | DEF_HELPER_2(efdcfs, i64, env, i32) | |
471 | DEF_HELPER_3(efdadd, i64, env, i64, i64) | |
472 | DEF_HELPER_3(efdsub, i64, env, i64, i64) | |
473 | DEF_HELPER_3(efdmul, i64, env, i64, i64) | |
474 | DEF_HELPER_3(efddiv, i64, env, i64, i64) | |
475 | DEF_HELPER_3(efdtstlt, i32, env, i64, i64) | |
476 | DEF_HELPER_3(efdtstgt, i32, env, i64, i64) | |
477 | DEF_HELPER_3(efdtsteq, i32, env, i64, i64) | |
478 | DEF_HELPER_3(efdcmplt, i32, env, i64, i64) | |
479 | DEF_HELPER_3(efdcmpgt, i32, env, i64, i64) | |
480 | DEF_HELPER_3(efdcmpeq, i32, env, i64, i64) | |
1c97856d | 481 | |
0f3955e2 | 482 | #if !defined(CONFIG_USER_ONLY) |
c6c7cf05 BS |
483 | DEF_HELPER_2(4xx_tlbre_hi, tl, env, tl) |
484 | DEF_HELPER_2(4xx_tlbre_lo, tl, env, tl) | |
485 | DEF_HELPER_3(4xx_tlbwe_hi, void, env, tl, tl) | |
486 | DEF_HELPER_3(4xx_tlbwe_lo, void, env, tl, tl) | |
487 | DEF_HELPER_2(4xx_tlbsx, tl, env, tl) | |
488 | DEF_HELPER_3(440_tlbre, tl, env, i32, tl) | |
489 | DEF_HELPER_4(440_tlbwe, void, env, i32, tl, tl) | |
490 | DEF_HELPER_2(440_tlbsx, tl, env, tl) | |
491 | DEF_HELPER_1(booke206_tlbre, void, env) | |
492 | DEF_HELPER_1(booke206_tlbwe, void, env) | |
493 | DEF_HELPER_2(booke206_tlbsx, void, env, tl) | |
494 | DEF_HELPER_2(booke206_tlbivax, void, env, tl) | |
495 | DEF_HELPER_2(booke206_tlbilx0, void, env, tl) | |
496 | DEF_HELPER_2(booke206_tlbilx1, void, env, tl) | |
497 | DEF_HELPER_2(booke206_tlbilx3, void, env, tl) | |
498 | DEF_HELPER_2(booke206_tlbflush, void, env, i32) | |
499 | DEF_HELPER_3(booke_setpid, void, env, i32, tl) | |
500 | DEF_HELPER_2(6xx_tlbd, void, env, tl) | |
501 | DEF_HELPER_2(6xx_tlbi, void, env, tl) | |
502 | DEF_HELPER_2(74xx_tlbd, void, env, tl) | |
503 | DEF_HELPER_2(74xx_tlbi, void, env, tl) | |
8f885ef8 AJ |
504 | DEF_HELPER_FLAGS_1(tlbia, TCG_CALL_NO_RWG, void, env) |
505 | DEF_HELPER_FLAGS_2(tlbie, TCG_CALL_NO_RWG, void, env, tl) | |
74d37793 | 506 | #if defined(TARGET_PPC64) |
8f885ef8 | 507 | DEF_HELPER_FLAGS_3(store_slb, TCG_CALL_NO_RWG, void, env, tl, tl) |
c6c7cf05 BS |
508 | DEF_HELPER_2(load_slb_esid, tl, env, tl) |
509 | DEF_HELPER_2(load_slb_vsid, tl, env, tl) | |
8f885ef8 AJ |
510 | DEF_HELPER_FLAGS_1(slbia, TCG_CALL_NO_RWG, void, env) |
511 | DEF_HELPER_FLAGS_2(slbie, TCG_CALL_NO_RWG, void, env, tl) | |
74d37793 | 512 | #endif |
f5daeec4 | 513 | DEF_HELPER_FLAGS_2(load_sr, TCG_CALL_NO_RWG, tl, env, tl) |
8f885ef8 | 514 | DEF_HELPER_FLAGS_3(store_sr, TCG_CALL_NO_RWG, void, env, tl, tl) |
cf02a65c | 515 | |
8f885ef8 | 516 | DEF_HELPER_FLAGS_1(602_mfrom, TCG_CALL_NO_RWG_SE, tl, tl) |
d5d11a39 | 517 | DEF_HELPER_1(msgsnd, void, tl) |
e5f17ac6 | 518 | DEF_HELPER_2(msgclr, void, env, tl) |
0f3955e2 AJ |
519 | #endif |
520 | ||
d15f74fb | 521 | DEF_HELPER_4(dlmzb, tl, env, tl, tl, i32) |
8f885ef8 | 522 | DEF_HELPER_FLAGS_2(clcs, TCG_CALL_NO_RWG_SE, tl, env, i32) |
22e0e173 | 523 | #if !defined(CONFIG_USER_ONLY) |
c6c7cf05 | 524 | DEF_HELPER_2(rac, tl, env, tl) |
22e0e173 | 525 | #endif |
d15f74fb BS |
526 | DEF_HELPER_3(div, tl, env, tl, tl) |
527 | DEF_HELPER_3(divo, tl, env, tl, tl) | |
528 | DEF_HELPER_3(divs, tl, env, tl, tl) | |
529 | DEF_HELPER_3(divso, tl, env, tl, tl) | |
ef0d51af | 530 | |
f5daeec4 | 531 | DEF_HELPER_2(load_dcr, tl, env, tl) |
d0f1562d | 532 | DEF_HELPER_3(store_dcr, void, env, tl, tl) |
45d827d2 | 533 | |
d523dd00 BS |
534 | DEF_HELPER_2(load_dump_spr, void, env, i32) |
535 | DEF_HELPER_2(store_dump_spr, void, env, i32) | |
d0f1562d BS |
536 | DEF_HELPER_1(load_tbl, tl, env) |
537 | DEF_HELPER_1(load_tbu, tl, env) | |
538 | DEF_HELPER_1(load_atbl, tl, env) | |
539 | DEF_HELPER_1(load_atbu, tl, env) | |
540 | DEF_HELPER_1(load_601_rtcl, tl, env) | |
541 | DEF_HELPER_1(load_601_rtcu, tl, env) | |
45d827d2 AJ |
542 | #if !defined(CONFIG_USER_ONLY) |
543 | #if defined(TARGET_PPC64) | |
d0f1562d | 544 | DEF_HELPER_1(load_purr, tl, env) |
45d827d2 | 545 | #endif |
d523dd00 | 546 | DEF_HELPER_2(store_sdr1, void, env, tl) |
d0f1562d BS |
547 | DEF_HELPER_2(store_tbl, void, env, tl) |
548 | DEF_HELPER_2(store_tbu, void, env, tl) | |
549 | DEF_HELPER_2(store_atbl, void, env, tl) | |
550 | DEF_HELPER_2(store_atbu, void, env, tl) | |
551 | DEF_HELPER_2(store_601_rtcl, void, env, tl) | |
552 | DEF_HELPER_2(store_601_rtcu, void, env, tl) | |
553 | DEF_HELPER_1(load_decr, tl, env) | |
554 | DEF_HELPER_2(store_decr, void, env, tl) | |
d523dd00 BS |
555 | DEF_HELPER_2(store_hid0_601, void, env, tl) |
556 | DEF_HELPER_3(store_403_pbr, void, env, i32, tl) | |
d0f1562d BS |
557 | DEF_HELPER_1(load_40x_pit, tl, env) |
558 | DEF_HELPER_2(store_40x_pit, void, env, tl) | |
d523dd00 BS |
559 | DEF_HELPER_2(store_40x_dbcr0, void, env, tl) |
560 | DEF_HELPER_2(store_40x_sler, void, env, tl) | |
d0f1562d BS |
561 | DEF_HELPER_2(store_booke_tcr, void, env, tl) |
562 | DEF_HELPER_2(store_booke_tsr, void, env, tl) | |
c6c7cf05 BS |
563 | DEF_HELPER_3(store_ibatl, void, env, i32, tl) |
564 | DEF_HELPER_3(store_ibatu, void, env, i32, tl) | |
565 | DEF_HELPER_3(store_dbatl, void, env, i32, tl) | |
566 | DEF_HELPER_3(store_dbatu, void, env, i32, tl) | |
567 | DEF_HELPER_3(store_601_batl, void, env, i32, tl) | |
568 | DEF_HELPER_3(store_601_batu, void, env, i32, tl) | |
45d827d2 | 569 | #endif |
06dca6a7 | 570 | |
022c62cb | 571 | #include "exec/def-helper.h" |