blob: fd04c063e23c39c8ebd69e32e54a396ffbf83afd [file] [log] [blame]
pbrooka7812ae2008-11-17 14:43:54 +00001#include "def-helper.h"
aurel32f10dc082008-08-28 21:01:45 +00002
Blue Swirle5f17ac2012-05-30 04:23:23 +00003DEF_HELPER_3(raise_exception_err, void, env, i32, i32)
4DEF_HELPER_2(raise_exception, void, env, i32)
5DEF_HELPER_4(tw, void, env, tl, tl, i32)
aurel32cab3bee2008-11-24 11:28:19 +00006#if defined(TARGET_PPC64)
Blue Swirle5f17ac2012-05-30 04:23:23 +00007DEF_HELPER_4(td, void, env, tl, tl, i32)
aurel32cab3bee2008-11-24 11:28:19 +00008#endif
aurel32d72a19f2008-11-30 16:24:55 +00009#if !defined(CONFIG_USER_ONLY)
Blue Swirle5f17ac2012-05-30 04:23:23 +000010DEF_HELPER_2(store_msr, void, env, tl)
11DEF_HELPER_1(rfi, void, env)
12DEF_HELPER_1(rfsvc, void, env)
13DEF_HELPER_1(40x_rfci, void, env)
14DEF_HELPER_1(rfci, void, env)
15DEF_HELPER_1(rfdi, void, env)
16DEF_HELPER_1(rfmci, void, env)
aurel32d72a19f2008-11-30 16:24:55 +000017#if defined(TARGET_PPC64)
Blue Swirle5f17ac2012-05-30 04:23:23 +000018DEF_HELPER_1(rfid, void, env)
19DEF_HELPER_1(hrfid, void, env)
aurel32d72a19f2008-11-30 16:24:55 +000020#endif
21#endif
aurel3264adab32008-11-22 10:09:17 +000022
Blue Swirl2f5a1892012-05-30 04:23:40 +000023DEF_HELPER_3(lmw, void, env, tl, i32)
24DEF_HELPER_3(stmw, void, env, tl, i32)
25DEF_HELPER_4(lsw, void, env, tl, i32, i32)
26DEF_HELPER_5(lswx, void, env, tl, i32, i32, i32)
27DEF_HELPER_4(stsw, void, env, tl, i32, i32)
28DEF_HELPER_2(dcbz, void, env, tl)
29DEF_HELPER_2(dcbz_970, void, env, tl)
30DEF_HELPER_2(icbi, void, env, tl)
31DEF_HELPER_5(lscbx, tl, env, tl, i32, i32, i32)
aurel32bdb4b682008-11-30 16:24:30 +000032
aurel3274637402008-11-01 00:54:12 +000033#if defined(TARGET_PPC64)
aurel3269a218f2009-04-16 12:57:58 +000034DEF_HELPER_FLAGS_2(mulhd, TCG_CALL_CONST | TCG_CALL_PURE, i64, i64, i64)
35DEF_HELPER_FLAGS_2(mulhdu, TCG_CALL_CONST | TCG_CALL_PURE, i64, i64, i64)
Blue Swirld15f74f2012-05-30 04:23:29 +000036DEF_HELPER_3(mulldo, i64, env, i64, i64)
aurel3274637402008-11-01 00:54:12 +000037#endif
38
aurel3269a218f2009-04-16 12:57:58 +000039DEF_HELPER_FLAGS_1(cntlzw, TCG_CALL_CONST | TCG_CALL_PURE, tl, tl)
40DEF_HELPER_FLAGS_1(popcntb, TCG_CALL_CONST | TCG_CALL_PURE, tl, tl)
David Gibsoneaabeef2011-04-01 15:15:13 +110041DEF_HELPER_FLAGS_1(popcntw, TCG_CALL_CONST | TCG_CALL_PURE, tl, tl)
Blue Swirld15f74f2012-05-30 04:23:29 +000042DEF_HELPER_3(sraw, tl, env, tl, tl)
aurel3226d67362008-10-21 11:31:27 +000043#if defined(TARGET_PPC64)
aurel3269a218f2009-04-16 12:57:58 +000044DEF_HELPER_FLAGS_1(cntlzd, TCG_CALL_CONST | TCG_CALL_PURE, tl, tl)
David Gibsoneaabeef2011-04-01 15:15:13 +110045DEF_HELPER_FLAGS_1(popcntd, TCG_CALL_CONST | TCG_CALL_PURE, tl, tl)
Blue Swirld15f74f2012-05-30 04:23:29 +000046DEF_HELPER_3(srad, tl, env, tl, tl)
aurel3226d67362008-10-21 11:31:27 +000047#endif
48
aurel3269a218f2009-04-16 12:57:58 +000049DEF_HELPER_FLAGS_1(cntlsw32, TCG_CALL_CONST | TCG_CALL_PURE, i32, i32)
50DEF_HELPER_FLAGS_1(cntlzw32, TCG_CALL_CONST | TCG_CALL_PURE, i32, i32)
51DEF_HELPER_FLAGS_2(brinc, TCG_CALL_CONST | TCG_CALL_PURE, tl, tl, tl)
pbrooka7812ae2008-11-17 14:43:54 +000052
Blue Swirl8e703942012-05-30 04:23:27 +000053DEF_HELPER_1(float_check_status, void, env)
54DEF_HELPER_1(reset_fpstatus, void, env)
55DEF_HELPER_3(compute_fprf, i32, env, i64, i32)
56DEF_HELPER_3(store_fpscr, void, env, i64, i32)
57DEF_HELPER_2(fpscr_clrbit, void, env, i32)
58DEF_HELPER_2(fpscr_setbit, void, env, i32)
59DEF_HELPER_2(float64_to_float32, i32, env, i64)
60DEF_HELPER_2(float32_to_float64, i64, env, i32)
aurel32af129062008-11-19 16:10:23 +000061
Blue Swirl8e703942012-05-30 04:23:27 +000062DEF_HELPER_4(fcmpo, void, env, i64, i64, i32)
63DEF_HELPER_4(fcmpu, void, env, i64, i64, i32)
aurel32d72a19f2008-11-30 16:24:55 +000064
Blue Swirl8e703942012-05-30 04:23:27 +000065DEF_HELPER_2(fctiw, i64, env, i64)
66DEF_HELPER_2(fctiwz, i64, env, i64)
aurel32af129062008-11-19 16:10:23 +000067#if defined(TARGET_PPC64)
Blue Swirl8e703942012-05-30 04:23:27 +000068DEF_HELPER_2(fcfid, i64, env, i64)
69DEF_HELPER_2(fctid, i64, env, i64)
70DEF_HELPER_2(fctidz, i64, env, i64)
aurel32af129062008-11-19 16:10:23 +000071#endif
Blue Swirl8e703942012-05-30 04:23:27 +000072DEF_HELPER_2(frsp, i64, env, i64)
73DEF_HELPER_2(frin, i64, env, i64)
74DEF_HELPER_2(friz, i64, env, i64)
75DEF_HELPER_2(frip, i64, env, i64)
76DEF_HELPER_2(frim, i64, env, i64)
aurel32af129062008-11-19 16:10:23 +000077
Blue Swirl8e703942012-05-30 04:23:27 +000078DEF_HELPER_3(fadd, i64, env, i64, i64)
79DEF_HELPER_3(fsub, i64, env, i64, i64)
80DEF_HELPER_3(fmul, i64, env, i64, i64)
81DEF_HELPER_3(fdiv, i64, env, i64, i64)
82DEF_HELPER_4(fmadd, i64, env, i64, i64, i64)
83DEF_HELPER_4(fmsub, i64, env, i64, i64, i64)
84DEF_HELPER_4(fnmadd, i64, env, i64, i64, i64)
85DEF_HELPER_4(fnmsub, i64, env, i64, i64, i64)
86DEF_HELPER_2(fabs, i64, env, i64)
87DEF_HELPER_2(fnabs, i64, env, i64)
88DEF_HELPER_2(fneg, i64, env, i64)
89DEF_HELPER_2(fsqrt, i64, env, i64)
90DEF_HELPER_2(fre, i64, env, i64)
91DEF_HELPER_2(fres, i64, env, i64)
92DEF_HELPER_2(frsqrte, i64, env, i64)
93DEF_HELPER_4(fsel, i64, env, i64, i64, i64)
aurel32af129062008-11-19 16:10:23 +000094
aurel327872c512009-01-03 13:31:40 +000095#define dh_alias_avr ptr
Anthony Liguoric227f092009-10-01 16:12:16 -050096#define dh_ctype_avr ppc_avr_t *
Richard Henderson2bece2c2010-06-14 17:35:27 -070097#define dh_is_signed_avr dh_is_signed_ptr
aurel327872c512009-01-03 13:31:40 +000098
99DEF_HELPER_3(vaddubm, void, avr, avr, avr)
100DEF_HELPER_3(vadduhm, void, avr, avr, avr)
101DEF_HELPER_3(vadduwm, void, avr, avr, avr)
102DEF_HELPER_3(vsububm, void, avr, avr, avr)
103DEF_HELPER_3(vsubuhm, void, avr, avr, avr)
104DEF_HELPER_3(vsubuwm, void, avr, avr, avr)
aurel32fab3cbe2009-01-03 13:31:49 +0000105DEF_HELPER_3(vavgub, void, avr, avr, avr)
106DEF_HELPER_3(vavguh, void, avr, avr, avr)
107DEF_HELPER_3(vavguw, void, avr, avr, avr)
108DEF_HELPER_3(vavgsb, void, avr, avr, avr)
109DEF_HELPER_3(vavgsh, void, avr, avr, avr)
110DEF_HELPER_3(vavgsw, void, avr, avr, avr)
aurel32e4039332009-01-03 13:31:58 +0000111DEF_HELPER_3(vminsb, void, avr, avr, avr)
112DEF_HELPER_3(vminsh, void, avr, avr, avr)
113DEF_HELPER_3(vminsw, void, avr, avr, avr)
114DEF_HELPER_3(vmaxsb, void, avr, avr, avr)
115DEF_HELPER_3(vmaxsh, void, avr, avr, avr)
116DEF_HELPER_3(vmaxsw, void, avr, avr, avr)
117DEF_HELPER_3(vminub, void, avr, avr, avr)
118DEF_HELPER_3(vminuh, void, avr, avr, avr)
119DEF_HELPER_3(vminuw, void, avr, avr, avr)
120DEF_HELPER_3(vmaxub, void, avr, avr, avr)
121DEF_HELPER_3(vmaxuh, void, avr, avr, avr)
122DEF_HELPER_3(vmaxuw, void, avr, avr, avr)
Blue Swirld15f74f2012-05-30 04:23:29 +0000123DEF_HELPER_4(vcmpequb, void, env, avr, avr, avr)
124DEF_HELPER_4(vcmpequh, void, env, avr, avr, avr)
125DEF_HELPER_4(vcmpequw, void, env, avr, avr, avr)
126DEF_HELPER_4(vcmpgtub, void, env, avr, avr, avr)
127DEF_HELPER_4(vcmpgtuh, void, env, avr, avr, avr)
128DEF_HELPER_4(vcmpgtuw, void, env, avr, avr, avr)
129DEF_HELPER_4(vcmpgtsb, void, env, avr, avr, avr)
130DEF_HELPER_4(vcmpgtsh, void, env, avr, avr, avr)
131DEF_HELPER_4(vcmpgtsw, void, env, avr, avr, avr)
132DEF_HELPER_4(vcmpeqfp, void, env, avr, avr, avr)
133DEF_HELPER_4(vcmpgefp, void, env, avr, avr, avr)
134DEF_HELPER_4(vcmpgtfp, void, env, avr, avr, avr)
135DEF_HELPER_4(vcmpbfp, void, env, avr, avr, avr)
136DEF_HELPER_4(vcmpequb_dot, void, env, avr, avr, avr)
137DEF_HELPER_4(vcmpequh_dot, void, env, avr, avr, avr)
138DEF_HELPER_4(vcmpequw_dot, void, env, avr, avr, avr)
139DEF_HELPER_4(vcmpgtub_dot, void, env, avr, avr, avr)
140DEF_HELPER_4(vcmpgtuh_dot, void, env, avr, avr, avr)
141DEF_HELPER_4(vcmpgtuw_dot, void, env, avr, avr, avr)
142DEF_HELPER_4(vcmpgtsb_dot, void, env, avr, avr, avr)
143DEF_HELPER_4(vcmpgtsh_dot, void, env, avr, avr, avr)
144DEF_HELPER_4(vcmpgtsw_dot, void, env, avr, avr, avr)
145DEF_HELPER_4(vcmpeqfp_dot, void, env, avr, avr, avr)
146DEF_HELPER_4(vcmpgefp_dot, void, env, avr, avr, avr)
147DEF_HELPER_4(vcmpgtfp_dot, void, env, avr, avr, avr)
148DEF_HELPER_4(vcmpbfp_dot, void, env, avr, avr, avr)
aurel323b430042009-01-04 22:08:38 +0000149DEF_HELPER_3(vmrglb, void, avr, avr, avr)
150DEF_HELPER_3(vmrglh, void, avr, avr, avr)
151DEF_HELPER_3(vmrglw, void, avr, avr, avr)
152DEF_HELPER_3(vmrghb, void, avr, avr, avr)
153DEF_HELPER_3(vmrghh, void, avr, avr, avr)
154DEF_HELPER_3(vmrghw, void, avr, avr, avr)
aurel322c277902009-01-04 22:08:48 +0000155DEF_HELPER_3(vmulesb, void, avr, avr, avr)
156DEF_HELPER_3(vmulesh, void, avr, avr, avr)
157DEF_HELPER_3(vmuleub, void, avr, avr, avr)
158DEF_HELPER_3(vmuleuh, void, avr, avr, avr)
159DEF_HELPER_3(vmulosb, void, avr, avr, avr)
160DEF_HELPER_3(vmulosh, void, avr, avr, avr)
161DEF_HELPER_3(vmuloub, void, avr, avr, avr)
162DEF_HELPER_3(vmulouh, void, avr, avr, avr)
aurel3207ef34c2009-01-04 22:08:58 +0000163DEF_HELPER_3(vsrab, void, avr, avr, avr)
164DEF_HELPER_3(vsrah, void, avr, avr, avr)
165DEF_HELPER_3(vsraw, void, avr, avr, avr)
166DEF_HELPER_3(vsrb, void, avr, avr, avr)
167DEF_HELPER_3(vsrh, void, avr, avr, avr)
168DEF_HELPER_3(vsrw, void, avr, avr, avr)
aurel32d79f0802009-01-04 22:09:08 +0000169DEF_HELPER_3(vslb, void, avr, avr, avr)
170DEF_HELPER_3(vslh, void, avr, avr, avr)
171DEF_HELPER_3(vslw, void, avr, avr, avr)
aurel327b239be2009-01-04 22:09:19 +0000172DEF_HELPER_3(vslo, void, avr, avr, avr)
173DEF_HELPER_3(vsro, void, avr, avr, avr)
aurel32e343da72009-01-04 22:09:31 +0000174DEF_HELPER_3(vaddcuw, void, avr, avr, avr)
175DEF_HELPER_3(vsubcuw, void, avr, avr, avr)
aurel32bf8d8de2009-01-04 22:09:42 +0000176DEF_HELPER_2(lvsl, void, avr, tl);
177DEF_HELPER_2(lvsr, void, avr, tl);
Blue Swirld15f74f2012-05-30 04:23:29 +0000178DEF_HELPER_4(vaddsbs, void, env, avr, avr, avr)
179DEF_HELPER_4(vaddshs, void, env, avr, avr, avr)
180DEF_HELPER_4(vaddsws, void, env, avr, avr, avr)
181DEF_HELPER_4(vsubsbs, void, env, avr, avr, avr)
182DEF_HELPER_4(vsubshs, void, env, avr, avr, avr)
183DEF_HELPER_4(vsubsws, void, env, avr, avr, avr)
184DEF_HELPER_4(vaddubs, void, env, avr, avr, avr)
185DEF_HELPER_4(vadduhs, void, env, avr, avr, avr)
186DEF_HELPER_4(vadduws, void, env, avr, avr, avr)
187DEF_HELPER_4(vsububs, void, env, avr, avr, avr)
188DEF_HELPER_4(vsubuhs, void, env, avr, avr, avr)
189DEF_HELPER_4(vsubuws, void, env, avr, avr, avr)
aurel325e1d0982009-01-04 22:09:52 +0000190DEF_HELPER_3(vrlb, void, avr, avr, avr)
191DEF_HELPER_3(vrlh, void, avr, avr, avr)
192DEF_HELPER_3(vrlw, void, avr, avr, avr)
aurel32d9430ad2009-01-08 18:54:48 +0000193DEF_HELPER_3(vsl, void, avr, avr, avr)
194DEF_HELPER_3(vsr, void, avr, avr, avr)
aurel32cd633b12009-01-04 22:10:09 +0000195DEF_HELPER_4(vsldoi, void, avr, avr, avr, i32)
aurel32c0267662009-01-08 18:54:57 +0000196DEF_HELPER_2(vspltisb, void, avr, i32)
197DEF_HELPER_2(vspltish, void, avr, i32)
198DEF_HELPER_2(vspltisw, void, avr, i32)
aurel32e4e6bee2009-01-04 22:10:49 +0000199DEF_HELPER_3(vspltb, void, avr, avr, i32)
200DEF_HELPER_3(vsplth, void, avr, avr, i32)
201DEF_HELPER_3(vspltw, void, avr, avr, i32)
aurel3279f85c32009-01-04 22:11:10 +0000202DEF_HELPER_2(vupkhpx, void, avr, avr)
203DEF_HELPER_2(vupklpx, void, avr, avr)
aurel326cf1c6e2009-01-04 22:11:20 +0000204DEF_HELPER_2(vupkhsb, void, avr, avr)
205DEF_HELPER_2(vupkhsh, void, avr, avr)
206DEF_HELPER_2(vupklsb, void, avr, avr)
207DEF_HELPER_2(vupklsh, void, avr, avr)
Blue Swirld15f74f2012-05-30 04:23:29 +0000208DEF_HELPER_5(vmsumubm, void, env, avr, avr, avr, avr)
209DEF_HELPER_5(vmsummbm, void, env, avr, avr, avr, avr)
210DEF_HELPER_5(vsel, void, env, avr, avr, avr, avr)
211DEF_HELPER_5(vperm, void, env, avr, avr, avr, avr)
212DEF_HELPER_4(vpkshss, void, env, avr, avr, avr)
213DEF_HELPER_4(vpkshus, void, env, avr, avr, avr)
214DEF_HELPER_4(vpkswss, void, env, avr, avr, avr)
215DEF_HELPER_4(vpkswus, void, env, avr, avr, avr)
216DEF_HELPER_4(vpkuhus, void, env, avr, avr, avr)
217DEF_HELPER_4(vpkuwus, void, env, avr, avr, avr)
218DEF_HELPER_4(vpkuhum, void, env, avr, avr, avr)
219DEF_HELPER_4(vpkuwum, void, env, avr, avr, avr)
aurel321dd9ffb2009-01-04 22:12:19 +0000220DEF_HELPER_3(vpkpx, void, avr, avr, avr)
Blue Swirld15f74f2012-05-30 04:23:29 +0000221DEF_HELPER_5(vmhaddshs, void, env, avr, avr, avr, avr)
222DEF_HELPER_5(vmhraddshs, void, env, avr, avr, avr, avr)
223DEF_HELPER_5(vmsumuhm, void, env, avr, avr, avr, avr)
224DEF_HELPER_5(vmsumuhs, void, env, avr, avr, avr, avr)
225DEF_HELPER_5(vmsumshm, void, env, avr, avr, avr, avr)
226DEF_HELPER_5(vmsumshs, void, env, avr, avr, avr, avr)
aurel32bcd2ee22009-01-04 22:13:00 +0000227DEF_HELPER_4(vmladduhm, void, avr, avr, avr, avr)
Blue Swirld15f74f2012-05-30 04:23:29 +0000228DEF_HELPER_2(mtvscr, void, env, avr);
Blue Swirl2f5a1892012-05-30 04:23:40 +0000229DEF_HELPER_3(lvebx, void, env, avr, tl)
230DEF_HELPER_3(lvehx, void, env, avr, tl)
231DEF_HELPER_3(lvewx, void, env, avr, tl)
232DEF_HELPER_3(stvebx, void, env, avr, tl)
233DEF_HELPER_3(stvehx, void, env, avr, tl)
234DEF_HELPER_3(stvewx, void, env, avr, tl)
Blue Swirld15f74f2012-05-30 04:23:29 +0000235DEF_HELPER_4(vsumsws, void, env, avr, avr, avr)
236DEF_HELPER_4(vsum2sws, void, env, avr, avr, avr)
237DEF_HELPER_4(vsum4sbs, void, env, avr, avr, avr)
238DEF_HELPER_4(vsum4shs, void, env, avr, avr, avr)
239DEF_HELPER_4(vsum4ubs, void, env, avr, avr, avr)
240DEF_HELPER_4(vaddfp, void, env, avr, avr, avr)
241DEF_HELPER_4(vsubfp, void, env, avr, avr, avr)
242DEF_HELPER_4(vmaxfp, void, env, avr, avr, avr)
243DEF_HELPER_4(vminfp, void, env, avr, avr, avr)
244DEF_HELPER_3(vrefp, void, env, avr, avr)
245DEF_HELPER_3(vrsqrtefp, void, env, avr, avr)
246DEF_HELPER_5(vmaddfp, void, env, avr, avr, avr, avr)
247DEF_HELPER_5(vnmsubfp, void, env, avr, avr, avr, avr)
248DEF_HELPER_3(vexptefp, void, env, avr, avr)
249DEF_HELPER_3(vlogefp, void, env, avr, avr)
250DEF_HELPER_3(vrfim, void, env, avr, avr)
251DEF_HELPER_3(vrfin, void, env, avr, avr)
252DEF_HELPER_3(vrfip, void, env, avr, avr)
253DEF_HELPER_3(vrfiz, void, env, avr, avr)
254DEF_HELPER_4(vcfux, void, env, avr, avr, i32)
255DEF_HELPER_4(vcfsx, void, env, avr, avr, i32)
256DEF_HELPER_4(vctuxs, void, env, avr, avr, i32)
257DEF_HELPER_4(vctsxs, void, env, avr, avr, i32)
aurel32fab3cbe2009-01-03 13:31:49 +0000258
Blue Swirl8e703942012-05-30 04:23:27 +0000259DEF_HELPER_2(efscfsi, i32, env, i32)
260DEF_HELPER_2(efscfui, i32, env, i32)
261DEF_HELPER_2(efscfuf, i32, env, i32)
262DEF_HELPER_2(efscfsf, i32, env, i32)
263DEF_HELPER_2(efsctsi, i32, env, i32)
264DEF_HELPER_2(efsctui, i32, env, i32)
265DEF_HELPER_2(efsctsiz, i32, env, i32)
266DEF_HELPER_2(efsctuiz, i32, env, i32)
267DEF_HELPER_2(efsctsf, i32, env, i32)
268DEF_HELPER_2(efsctuf, i32, env, i32)
269DEF_HELPER_2(evfscfsi, i64, env, i64)
270DEF_HELPER_2(evfscfui, i64, env, i64)
271DEF_HELPER_2(evfscfuf, i64, env, i64)
272DEF_HELPER_2(evfscfsf, i64, env, i64)
273DEF_HELPER_2(evfsctsi, i64, env, i64)
274DEF_HELPER_2(evfsctui, i64, env, i64)
275DEF_HELPER_2(evfsctsiz, i64, env, i64)
276DEF_HELPER_2(evfsctuiz, i64, env, i64)
277DEF_HELPER_2(evfsctsf, i64, env, i64)
278DEF_HELPER_2(evfsctuf, i64, env, i64)
279DEF_HELPER_3(efsadd, i32, env, i32, i32)
280DEF_HELPER_3(efssub, i32, env, i32, i32)
281DEF_HELPER_3(efsmul, i32, env, i32, i32)
282DEF_HELPER_3(efsdiv, i32, env, i32, i32)
283DEF_HELPER_3(evfsadd, i64, env, i64, i64)
284DEF_HELPER_3(evfssub, i64, env, i64, i64)
285DEF_HELPER_3(evfsmul, i64, env, i64, i64)
286DEF_HELPER_3(evfsdiv, i64, env, i64, i64)
287DEF_HELPER_3(efststlt, i32, env, i32, i32)
288DEF_HELPER_3(efststgt, i32, env, i32, i32)
289DEF_HELPER_3(efststeq, i32, env, i32, i32)
290DEF_HELPER_3(efscmplt, i32, env, i32, i32)
291DEF_HELPER_3(efscmpgt, i32, env, i32, i32)
292DEF_HELPER_3(efscmpeq, i32, env, i32, i32)
293DEF_HELPER_3(evfststlt, i32, env, i64, i64)
294DEF_HELPER_3(evfststgt, i32, env, i64, i64)
295DEF_HELPER_3(evfststeq, i32, env, i64, i64)
296DEF_HELPER_3(evfscmplt, i32, env, i64, i64)
297DEF_HELPER_3(evfscmpgt, i32, env, i64, i64)
298DEF_HELPER_3(evfscmpeq, i32, env, i64, i64)
299DEF_HELPER_2(efdcfsi, i64, env, i32)
300DEF_HELPER_2(efdcfsid, i64, env, i64)
301DEF_HELPER_2(efdcfui, i64, env, i32)
302DEF_HELPER_2(efdcfuid, i64, env, i64)
303DEF_HELPER_2(efdctsi, i32, env, i64)
304DEF_HELPER_2(efdctui, i32, env, i64)
305DEF_HELPER_2(efdctsiz, i32, env, i64)
306DEF_HELPER_2(efdctsidz, i64, env, i64)
307DEF_HELPER_2(efdctuiz, i32, env, i64)
308DEF_HELPER_2(efdctuidz, i64, env, i64)
309DEF_HELPER_2(efdcfsf, i64, env, i32)
310DEF_HELPER_2(efdcfuf, i64, env, i32)
311DEF_HELPER_2(efdctsf, i32, env, i64)
312DEF_HELPER_2(efdctuf, i32, env, i64)
313DEF_HELPER_2(efscfd, i32, env, i64)
314DEF_HELPER_2(efdcfs, i64, env, i32)
315DEF_HELPER_3(efdadd, i64, env, i64, i64)
316DEF_HELPER_3(efdsub, i64, env, i64, i64)
317DEF_HELPER_3(efdmul, i64, env, i64, i64)
318DEF_HELPER_3(efddiv, i64, env, i64, i64)
319DEF_HELPER_3(efdtstlt, i32, env, i64, i64)
320DEF_HELPER_3(efdtstgt, i32, env, i64, i64)
321DEF_HELPER_3(efdtsteq, i32, env, i64, i64)
322DEF_HELPER_3(efdcmplt, i32, env, i64, i64)
323DEF_HELPER_3(efdcmpgt, i32, env, i64, i64)
324DEF_HELPER_3(efdcmpeq, i32, env, i64, i64)
aurel321c978562008-11-23 10:54:04 +0000325
aurel320f3955e2008-11-30 16:22:56 +0000326#if !defined(CONFIG_USER_ONLY)
Blue Swirlc6c7cf02012-05-30 04:23:31 +0000327DEF_HELPER_2(4xx_tlbre_hi, tl, env, tl)
328DEF_HELPER_2(4xx_tlbre_lo, tl, env, tl)
329DEF_HELPER_3(4xx_tlbwe_hi, void, env, tl, tl)
330DEF_HELPER_3(4xx_tlbwe_lo, void, env, tl, tl)
331DEF_HELPER_2(4xx_tlbsx, tl, env, tl)
332DEF_HELPER_3(440_tlbre, tl, env, i32, tl)
333DEF_HELPER_4(440_tlbwe, void, env, i32, tl, tl)
334DEF_HELPER_2(440_tlbsx, tl, env, tl)
335DEF_HELPER_1(booke206_tlbre, void, env)
336DEF_HELPER_1(booke206_tlbwe, void, env)
337DEF_HELPER_2(booke206_tlbsx, void, env, tl)
338DEF_HELPER_2(booke206_tlbivax, void, env, tl)
339DEF_HELPER_2(booke206_tlbilx0, void, env, tl)
340DEF_HELPER_2(booke206_tlbilx1, void, env, tl)
341DEF_HELPER_2(booke206_tlbilx3, void, env, tl)
342DEF_HELPER_2(booke206_tlbflush, void, env, i32)
343DEF_HELPER_3(booke_setpid, void, env, i32, tl)
344DEF_HELPER_2(6xx_tlbd, void, env, tl)
345DEF_HELPER_2(6xx_tlbi, void, env, tl)
346DEF_HELPER_2(74xx_tlbd, void, env, tl)
347DEF_HELPER_2(74xx_tlbi, void, env, tl)
348DEF_HELPER_FLAGS_1(tlbia, TCG_CALL_CONST, void, env)
349DEF_HELPER_FLAGS_2(tlbie, TCG_CALL_CONST, void, env, tl)
aurel3274d37792008-12-06 21:46:17 +0000350#if defined(TARGET_PPC64)
Blue Swirlc6c7cf02012-05-30 04:23:31 +0000351DEF_HELPER_FLAGS_3(store_slb, TCG_CALL_CONST, void, env, tl, tl)
352DEF_HELPER_2(load_slb_esid, tl, env, tl)
353DEF_HELPER_2(load_slb_vsid, tl, env, tl)
354DEF_HELPER_FLAGS_1(slbia, TCG_CALL_CONST, void, env)
355DEF_HELPER_FLAGS_2(slbie, TCG_CALL_CONST, void, env, tl)
aurel3274d37792008-12-06 21:46:17 +0000356#endif
Blue Swirlc6c7cf02012-05-30 04:23:31 +0000357DEF_HELPER_FLAGS_2(load_sr, TCG_CALL_CONST, tl, env, tl);
358DEF_HELPER_FLAGS_3(store_sr, TCG_CALL_CONST, void, env, tl, tl)
aurel32cf02a652008-11-30 16:23:35 +0000359
aurel3269a218f2009-04-16 12:57:58 +0000360DEF_HELPER_FLAGS_1(602_mfrom, TCG_CALL_CONST | TCG_CALL_PURE, tl, tl)
Alexander Grafd5d11a32012-01-31 03:19:23 +0100361DEF_HELPER_1(msgsnd, void, tl)
Blue Swirle5f17ac2012-05-30 04:23:23 +0000362DEF_HELPER_2(msgclr, void, env, tl)
aurel320f3955e2008-11-30 16:22:56 +0000363#endif
364
Blue Swirld15f74f2012-05-30 04:23:29 +0000365DEF_HELPER_4(dlmzb, tl, env, tl, tl, i32)
Blue Swirld523dd02012-05-30 04:23:38 +0000366DEF_HELPER_FLAGS_2(clcs, TCG_CALL_CONST | TCG_CALL_PURE, tl, env, i32)
aurel3222e0e172008-12-06 12:19:14 +0000367#if !defined(CONFIG_USER_ONLY)
Blue Swirlc6c7cf02012-05-30 04:23:31 +0000368DEF_HELPER_2(rac, tl, env, tl)
aurel3222e0e172008-12-06 12:19:14 +0000369#endif
Blue Swirld15f74f2012-05-30 04:23:29 +0000370DEF_HELPER_3(div, tl, env, tl, tl)
371DEF_HELPER_3(divo, tl, env, tl, tl)
372DEF_HELPER_3(divs, tl, env, tl, tl)
373DEF_HELPER_3(divso, tl, env, tl, tl)
aurel32ef0d51a2008-11-30 17:26:29 +0000374
Blue Swirld0f15622012-05-30 04:23:36 +0000375DEF_HELPER_2(load_dcr, tl, env, tl);
376DEF_HELPER_3(store_dcr, void, env, tl, tl)
aurel3245d827d2008-12-07 13:40:29 +0000377
Blue Swirld523dd02012-05-30 04:23:38 +0000378DEF_HELPER_2(load_dump_spr, void, env, i32)
379DEF_HELPER_2(store_dump_spr, void, env, i32)
Blue Swirld0f15622012-05-30 04:23:36 +0000380DEF_HELPER_1(load_tbl, tl, env)
381DEF_HELPER_1(load_tbu, tl, env)
382DEF_HELPER_1(load_atbl, tl, env)
383DEF_HELPER_1(load_atbu, tl, env)
384DEF_HELPER_1(load_601_rtcl, tl, env)
385DEF_HELPER_1(load_601_rtcu, tl, env)
aurel3245d827d2008-12-07 13:40:29 +0000386#if !defined(CONFIG_USER_ONLY)
387#if defined(TARGET_PPC64)
Blue Swirld523dd02012-05-30 04:23:38 +0000388DEF_HELPER_2(store_asr, void, env, tl)
Blue Swirld0f15622012-05-30 04:23:36 +0000389DEF_HELPER_1(load_purr, tl, env)
aurel3245d827d2008-12-07 13:40:29 +0000390#endif
Blue Swirld523dd02012-05-30 04:23:38 +0000391DEF_HELPER_2(store_sdr1, void, env, tl)
Blue Swirld0f15622012-05-30 04:23:36 +0000392DEF_HELPER_2(store_tbl, void, env, tl)
393DEF_HELPER_2(store_tbu, void, env, tl)
394DEF_HELPER_2(store_atbl, void, env, tl)
395DEF_HELPER_2(store_atbu, void, env, tl)
396DEF_HELPER_2(store_601_rtcl, void, env, tl)
397DEF_HELPER_2(store_601_rtcu, void, env, tl)
398DEF_HELPER_1(load_decr, tl, env)
399DEF_HELPER_2(store_decr, void, env, tl)
Blue Swirld523dd02012-05-30 04:23:38 +0000400DEF_HELPER_2(store_hid0_601, void, env, tl)
401DEF_HELPER_3(store_403_pbr, void, env, i32, tl)
Blue Swirld0f15622012-05-30 04:23:36 +0000402DEF_HELPER_1(load_40x_pit, tl, env)
403DEF_HELPER_2(store_40x_pit, void, env, tl)
Blue Swirld523dd02012-05-30 04:23:38 +0000404DEF_HELPER_2(store_40x_dbcr0, void, env, tl)
405DEF_HELPER_2(store_40x_sler, void, env, tl)
Blue Swirld0f15622012-05-30 04:23:36 +0000406DEF_HELPER_2(store_booke_tcr, void, env, tl)
407DEF_HELPER_2(store_booke_tsr, void, env, tl)
Alexander Graf2a7a47f2012-06-20 21:27:02 +0200408DEF_HELPER_1(load_epr, tl, env)
Blue Swirlc6c7cf02012-05-30 04:23:31 +0000409DEF_HELPER_3(store_ibatl, void, env, i32, tl)
410DEF_HELPER_3(store_ibatu, void, env, i32, tl)
411DEF_HELPER_3(store_dbatl, void, env, i32, tl)
412DEF_HELPER_3(store_dbatu, void, env, i32, tl)
413DEF_HELPER_3(store_601_batl, void, env, i32, tl)
414DEF_HELPER_3(store_601_batu, void, env, i32, tl)
aurel3245d827d2008-12-07 13:40:29 +0000415#endif
aurel3206dca6a2008-12-06 16:37:18 +0000416
pbrooka7812ae2008-11-17 14:43:54 +0000417#include "def-helper.h"