blob: 470e42f676ea405678d3f6ba9cae70704dcea440 [file] [log] [blame]
pbrooka7812ae2008-11-17 14:43:54 +00001#include "def-helper.h"
aurel32f10dc082008-08-28 21:01:45 +00002
aurel3264adab32008-11-22 10:09:17 +00003DEF_HELPER_2(raise_exception_err, void, i32, i32)
aurel32e06fcd72008-12-11 22:42:14 +00004DEF_HELPER_1(raise_exception, void, i32)
aurel32cab3bee2008-11-24 11:28:19 +00005DEF_HELPER_3(tw, void, tl, tl, i32)
6#if defined(TARGET_PPC64)
7DEF_HELPER_3(td, void, tl, tl, i32)
8#endif
aurel32d72a19f2008-11-30 16:24:55 +00009#if !defined(CONFIG_USER_ONLY)
aurel326527f6e2008-12-06 13:03:35 +000010DEF_HELPER_1(store_msr, void, tl)
aurel32d72a19f2008-11-30 16:24:55 +000011DEF_HELPER_0(rfi, void)
12DEF_HELPER_0(rfsvc, void)
13DEF_HELPER_0(40x_rfci, void)
14DEF_HELPER_0(rfci, void)
15DEF_HELPER_0(rfdi, void)
16DEF_HELPER_0(rfmci, void)
17#if defined(TARGET_PPC64)
18DEF_HELPER_0(rfid, void)
19DEF_HELPER_0(hrfid, void)
20#endif
21#endif
aurel3264adab32008-11-22 10:09:17 +000022
aurel32ff4a62c2008-11-30 16:23:56 +000023DEF_HELPER_2(lmw, void, tl, i32)
24DEF_HELPER_2(stmw, void, tl, i32)
aurel32dfbc7992008-11-30 16:24:21 +000025DEF_HELPER_3(lsw, void, tl, i32, i32)
26DEF_HELPER_4(lswx, void, tl, i32, i32, i32)
27DEF_HELPER_3(stsw, void, tl, i32, i32)
aurel32799a8c82008-11-30 16:24:05 +000028DEF_HELPER_1(dcbz, void, tl)
29DEF_HELPER_1(dcbz_970, void, tl)
aurel3237d269d2008-11-30 16:24:13 +000030DEF_HELPER_1(icbi, void, tl)
aurel32bdb4b682008-11-30 16:24:30 +000031DEF_HELPER_4(lscbx, tl, tl, i32, i32, i32)
32
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)
pbrooka7812ae2008-11-17 14:43:54 +000036DEF_HELPER_2(mulldo, i64, 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)
pbrooka7812ae2008-11-17 14:43:54 +000042DEF_HELPER_2(sraw, tl, 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)
pbrooka7812ae2008-11-17 14:43:54 +000046DEF_HELPER_2(srad, tl, 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
aurel32af129062008-11-19 16:10:23 +000053DEF_HELPER_0(float_check_status, void)
aurel32af129062008-11-19 16:10:23 +000054DEF_HELPER_0(reset_fpstatus, void)
aurel32af129062008-11-19 16:10:23 +000055DEF_HELPER_2(compute_fprf, i32, i64, i32)
56DEF_HELPER_2(store_fpscr, void, i64, i32)
aurel326e35d522008-12-14 18:40:58 +000057DEF_HELPER_1(fpscr_clrbit, void, i32)
aurel32af129062008-11-19 16:10:23 +000058DEF_HELPER_1(fpscr_setbit, void, i32)
aurel32a0d7d5a2008-11-23 16:30:50 +000059DEF_HELPER_1(float64_to_float32, i32, i64)
60DEF_HELPER_1(float32_to_float64, i64, i32)
aurel32af129062008-11-19 16:10:23 +000061
aurel329a819372008-12-14 19:34:09 +000062DEF_HELPER_3(fcmpo, void, i64, i64, i32)
63DEF_HELPER_3(fcmpu, void, i64, i64, i32)
aurel32d72a19f2008-11-30 16:24:55 +000064
aurel32af129062008-11-19 16:10:23 +000065DEF_HELPER_1(fctiw, i64, i64)
66DEF_HELPER_1(fctiwz, i64, i64)
67#if defined(TARGET_PPC64)
68DEF_HELPER_1(fcfid, i64, i64)
69DEF_HELPER_1(fctid, i64, i64)
70DEF_HELPER_1(fctidz, i64, i64)
71#endif
72DEF_HELPER_1(frsp, i64, i64)
73DEF_HELPER_1(frin, i64, i64)
74DEF_HELPER_1(friz, i64, i64)
75DEF_HELPER_1(frip, i64, i64)
76DEF_HELPER_1(frim, i64, i64)
77
78DEF_HELPER_2(fadd, i64, i64, i64)
79DEF_HELPER_2(fsub, i64, i64, i64)
80DEF_HELPER_2(fmul, i64, i64, i64)
81DEF_HELPER_2(fdiv, i64, i64, i64)
82DEF_HELPER_3(fmadd, i64, i64, i64, i64)
83DEF_HELPER_3(fmsub, i64, i64, i64, i64)
84DEF_HELPER_3(fnmadd, i64, i64, i64, i64)
85DEF_HELPER_3(fnmsub, i64, i64, i64, i64)
86DEF_HELPER_1(fabs, i64, i64)
87DEF_HELPER_1(fnabs, i64, i64)
88DEF_HELPER_1(fneg, i64, i64)
aurel321c978562008-11-23 10:54:04 +000089DEF_HELPER_1(fsqrt, i64, i64)
90DEF_HELPER_1(fre, i64, i64)
91DEF_HELPER_1(fres, i64, i64)
92DEF_HELPER_1(frsqrte, i64, i64)
aurel32af129062008-11-19 16:10:23 +000093DEF_HELPER_3(fsel, i64, i64, i64, i64)
94
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)
aurel321add6e22009-01-08 18:54:38 +0000123DEF_HELPER_3(vcmpequb, void, avr, avr, avr)
124DEF_HELPER_3(vcmpequh, void, avr, avr, avr)
125DEF_HELPER_3(vcmpequw, void, avr, avr, avr)
126DEF_HELPER_3(vcmpgtub, void, avr, avr, avr)
127DEF_HELPER_3(vcmpgtuh, void, avr, avr, avr)
128DEF_HELPER_3(vcmpgtuw, void, avr, avr, avr)
129DEF_HELPER_3(vcmpgtsb, void, avr, avr, avr)
130DEF_HELPER_3(vcmpgtsh, void, avr, avr, avr)
131DEF_HELPER_3(vcmpgtsw, void, avr, avr, avr)
aurel32819ca122009-02-09 16:49:10 +0000132DEF_HELPER_3(vcmpeqfp, void, avr, avr, avr)
133DEF_HELPER_3(vcmpgefp, void, avr, avr, avr)
134DEF_HELPER_3(vcmpgtfp, void, avr, avr, avr)
135DEF_HELPER_3(vcmpbfp, void, avr, avr, avr)
aurel321add6e22009-01-08 18:54:38 +0000136DEF_HELPER_3(vcmpequb_dot, void, avr, avr, avr)
137DEF_HELPER_3(vcmpequh_dot, void, avr, avr, avr)
138DEF_HELPER_3(vcmpequw_dot, void, avr, avr, avr)
139DEF_HELPER_3(vcmpgtub_dot, void, avr, avr, avr)
140DEF_HELPER_3(vcmpgtuh_dot, void, avr, avr, avr)
141DEF_HELPER_3(vcmpgtuw_dot, void, avr, avr, avr)
142DEF_HELPER_3(vcmpgtsb_dot, void, avr, avr, avr)
143DEF_HELPER_3(vcmpgtsh_dot, void, avr, avr, avr)
144DEF_HELPER_3(vcmpgtsw_dot, void, avr, avr, avr)
aurel32819ca122009-02-09 16:49:10 +0000145DEF_HELPER_3(vcmpeqfp_dot, void, avr, avr, avr)
146DEF_HELPER_3(vcmpgefp_dot, void, avr, avr, avr)
147DEF_HELPER_3(vcmpgtfp_dot, void, avr, avr, avr)
148DEF_HELPER_3(vcmpbfp_dot, void, 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);
aurel325ab09f32009-01-08 23:19:50 +0000178DEF_HELPER_3(vaddsbs, void, avr, avr, avr)
179DEF_HELPER_3(vaddshs, void, avr, avr, avr)
180DEF_HELPER_3(vaddsws, void, avr, avr, avr)
181DEF_HELPER_3(vsubsbs, void, avr, avr, avr)
182DEF_HELPER_3(vsubshs, void, avr, avr, avr)
183DEF_HELPER_3(vsubsws, void, avr, avr, avr)
184DEF_HELPER_3(vaddubs, void, avr, avr, avr)
185DEF_HELPER_3(vadduhs, void, avr, avr, avr)
186DEF_HELPER_3(vadduws, void, avr, avr, avr)
187DEF_HELPER_3(vsububs, void, avr, avr, avr)
188DEF_HELPER_3(vsubuhs, void, avr, avr, avr)
189DEF_HELPER_3(vsubuws, void, 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)
aurel32b04ae982009-01-04 22:11:39 +0000208DEF_HELPER_4(vmsumubm, void, avr, avr, avr, avr)
209DEF_HELPER_4(vmsummbm, void, avr, avr, avr, avr)
aurel32d1258692009-01-04 22:11:49 +0000210DEF_HELPER_4(vsel, void, avr, avr, avr, avr)
211DEF_HELPER_4(vperm, void, avr, avr, avr, avr)
aurel325335a142009-01-04 22:12:09 +0000212DEF_HELPER_3(vpkshss, void, avr, avr, avr)
213DEF_HELPER_3(vpkshus, void, avr, avr, avr)
214DEF_HELPER_3(vpkswss, void, avr, avr, avr)
215DEF_HELPER_3(vpkswus, void, avr, avr, avr)
216DEF_HELPER_3(vpkuhus, void, avr, avr, avr)
217DEF_HELPER_3(vpkuwus, void, avr, avr, avr)
218DEF_HELPER_3(vpkuhum, void, avr, avr, avr)
219DEF_HELPER_3(vpkuwum, void, avr, avr, avr)
aurel321dd9ffb2009-01-04 22:12:19 +0000220DEF_HELPER_3(vpkpx, void, avr, avr, avr)
aurel32b161ae22009-01-04 22:12:29 +0000221DEF_HELPER_4(vmhaddshs, void, avr, avr, avr, avr)
222DEF_HELPER_4(vmhraddshs, void, avr, avr, avr, avr)
aurel324d9903b2009-01-04 22:12:39 +0000223DEF_HELPER_4(vmsumuhm, void, avr, avr, avr, avr)
224DEF_HELPER_4(vmsumuhs, void, avr, avr, avr, avr)
aurel32eae07262009-01-04 22:12:49 +0000225DEF_HELPER_4(vmsumshm, void, avr, avr, avr, avr)
226DEF_HELPER_4(vmsumshs, void, avr, avr, avr, avr)
aurel32bcd2ee22009-01-04 22:13:00 +0000227DEF_HELPER_4(vmladduhm, void, avr, avr, avr, avr)
aurel326e87b7c2009-02-03 19:56:09 +0000228DEF_HELPER_1(mtvscr, void, avr);
aurel32cbfb6ae2009-01-04 22:13:10 +0000229DEF_HELPER_2(lvebx, void, avr, tl)
230DEF_HELPER_2(lvehx, void, avr, tl)
231DEF_HELPER_2(lvewx, void, avr, tl)
232DEF_HELPER_2(stvebx, void, avr, tl)
233DEF_HELPER_2(stvehx, void, avr, tl)
234DEF_HELPER_2(stvewx, void, avr, tl)
aurel328142cdd2009-01-04 22:13:21 +0000235DEF_HELPER_3(vsumsws, void, avr, avr, avr)
236DEF_HELPER_3(vsum2sws, void, avr, avr, avr)
237DEF_HELPER_3(vsum4sbs, void, avr, avr, avr)
238DEF_HELPER_3(vsum4shs, void, avr, avr, avr)
239DEF_HELPER_3(vsum4ubs, void, avr, avr, avr)
aurel3256fdd212009-02-09 16:48:51 +0000240DEF_HELPER_3(vaddfp, void, avr, avr, avr)
241DEF_HELPER_3(vsubfp, void, avr, avr, avr)
aurel321536ff62009-02-09 16:48:39 +0000242DEF_HELPER_3(vmaxfp, void, avr, avr, avr)
243DEF_HELPER_3(vminfp, void, avr, avr, avr)
aurel32bdfbac32009-02-09 16:49:29 +0000244DEF_HELPER_2(vrefp, void, avr, avr)
aurel32071fc3b2009-02-09 16:49:40 +0000245DEF_HELPER_2(vrsqrtefp, void, avr, avr)
aurel3235cf7c72009-02-09 16:48:59 +0000246DEF_HELPER_4(vmaddfp, void, avr, avr, avr, avr)
247DEF_HELPER_4(vnmsubfp, void, avr, avr, avr, avr)
Aurelien Jarno0bffbc62009-02-09 12:20:50 +0100248DEF_HELPER_2(vexptefp, void, avr, avr)
aurel32b5807632009-02-05 22:33:36 +0000249DEF_HELPER_2(vlogefp, void, avr, avr)
aurel32f6b19642009-02-04 13:52:03 +0000250DEF_HELPER_2(vrfim, void, avr, avr)
251DEF_HELPER_2(vrfin, void, avr, avr)
252DEF_HELPER_2(vrfip, void, avr, avr)
253DEF_HELPER_2(vrfiz, void, avr, avr)
aurel32e1406322009-02-04 13:52:17 +0000254DEF_HELPER_3(vcfux, void, avr, avr, i32)
255DEF_HELPER_3(vcfsx, void, avr, avr, i32)
aurel32875b31d2009-02-09 16:49:20 +0000256DEF_HELPER_3(vctuxs, void, avr, avr, i32)
257DEF_HELPER_3(vctsxs, void, avr, avr, i32)
aurel32fab3cbe2009-01-03 13:31:49 +0000258
aurel321c978562008-11-23 10:54:04 +0000259DEF_HELPER_1(efscfsi, i32, i32)
260DEF_HELPER_1(efscfui, i32, i32)
261DEF_HELPER_1(efscfuf, i32, i32)
262DEF_HELPER_1(efscfsf, i32, i32)
263DEF_HELPER_1(efsctsi, i32, i32)
264DEF_HELPER_1(efsctui, i32, i32)
265DEF_HELPER_1(efsctsiz, i32, i32)
266DEF_HELPER_1(efsctuiz, i32, i32)
267DEF_HELPER_1(efsctsf, i32, i32)
268DEF_HELPER_1(efsctuf, i32, i32)
269DEF_HELPER_1(evfscfsi, i64, i64)
270DEF_HELPER_1(evfscfui, i64, i64)
271DEF_HELPER_1(evfscfuf, i64, i64)
272DEF_HELPER_1(evfscfsf, i64, i64)
273DEF_HELPER_1(evfsctsi, i64, i64)
274DEF_HELPER_1(evfsctui, i64, i64)
275DEF_HELPER_1(evfsctsiz, i64, i64)
276DEF_HELPER_1(evfsctuiz, i64, i64)
277DEF_HELPER_1(evfsctsf, i64, i64)
278DEF_HELPER_1(evfsctuf, i64, i64)
279DEF_HELPER_2(efsadd, i32, i32, i32)
280DEF_HELPER_2(efssub, i32, i32, i32)
281DEF_HELPER_2(efsmul, i32, i32, i32)
282DEF_HELPER_2(efsdiv, i32, i32, i32)
283DEF_HELPER_2(evfsadd, i64, i64, i64)
284DEF_HELPER_2(evfssub, i64, i64, i64)
285DEF_HELPER_2(evfsmul, i64, i64, i64)
286DEF_HELPER_2(evfsdiv, i64, i64, i64)
287DEF_HELPER_2(efststlt, i32, i32, i32)
288DEF_HELPER_2(efststgt, i32, i32, i32)
289DEF_HELPER_2(efststeq, i32, i32, i32)
290DEF_HELPER_2(efscmplt, i32, i32, i32)
291DEF_HELPER_2(efscmpgt, i32, i32, i32)
292DEF_HELPER_2(efscmpeq, i32, i32, i32)
293DEF_HELPER_2(evfststlt, i32, i64, i64)
294DEF_HELPER_2(evfststgt, i32, i64, i64)
295DEF_HELPER_2(evfststeq, i32, i64, i64)
296DEF_HELPER_2(evfscmplt, i32, i64, i64)
297DEF_HELPER_2(evfscmpgt, i32, i64, i64)
298DEF_HELPER_2(evfscmpeq, i32, i64, i64)
299DEF_HELPER_1(efdcfsi, i64, i32)
300DEF_HELPER_1(efdcfsid, i64, i64)
301DEF_HELPER_1(efdcfui, i64, i32)
302DEF_HELPER_1(efdcfuid, i64, i64)
303DEF_HELPER_1(efdctsi, i32, i64)
304DEF_HELPER_1(efdctui, i32, i64)
305DEF_HELPER_1(efdctsiz, i32, i64)
306DEF_HELPER_1(efdctsidz, i64, i64)
307DEF_HELPER_1(efdctuiz, i32, i64)
308DEF_HELPER_1(efdctuidz, i64, i64)
309DEF_HELPER_1(efdcfsf, i64, i32)
310DEF_HELPER_1(efdcfuf, i64, i32)
311DEF_HELPER_1(efdctsf, i32, i64)
312DEF_HELPER_1(efdctuf, i32, i64)
313DEF_HELPER_1(efscfd, i32, i64)
314DEF_HELPER_1(efdcfs, i64, i32)
315DEF_HELPER_2(efdadd, i64, i64, i64)
316DEF_HELPER_2(efdsub, i64, i64, i64)
317DEF_HELPER_2(efdmul, i64, i64, i64)
318DEF_HELPER_2(efddiv, i64, i64, i64)
319DEF_HELPER_2(efdtstlt, i32, i64, i64)
320DEF_HELPER_2(efdtstgt, i32, i64, i64)
321DEF_HELPER_2(efdtsteq, i32, i64, i64)
322DEF_HELPER_2(efdcmplt, i32, i64, i64)
323DEF_HELPER_2(efdcmpgt, i32, i64, i64)
324DEF_HELPER_2(efdcmpeq, i32, i64, i64)
325
aurel320f3955e2008-11-30 16:22:56 +0000326#if !defined(CONFIG_USER_ONLY)
aurel3274d37792008-12-06 21:46:17 +0000327DEF_HELPER_1(4xx_tlbre_hi, tl, tl)
328DEF_HELPER_1(4xx_tlbre_lo, tl, tl)
329DEF_HELPER_2(4xx_tlbwe_hi, void, tl, tl)
330DEF_HELPER_2(4xx_tlbwe_lo, void, tl, tl)
331DEF_HELPER_1(4xx_tlbsx, tl, tl)
332DEF_HELPER_2(440_tlbre, tl, i32, tl)
333DEF_HELPER_3(440_tlbwe, void, i32, tl, tl)
334DEF_HELPER_1(440_tlbsx, tl, tl)
Alexander Graf01662f32011-04-30 23:34:58 +0200335DEF_HELPER_0(booke206_tlbre, void)
336DEF_HELPER_0(booke206_tlbwe, void)
337DEF_HELPER_1(booke206_tlbsx, void, tl)
338DEF_HELPER_1(booke206_tlbivax, void, tl)
339DEF_HELPER_1(booke206_tlbflush, void, i32)
340DEF_HELPER_2(booke_setpid, void, i32, tl)
aurel3274d37792008-12-06 21:46:17 +0000341DEF_HELPER_1(6xx_tlbd, void, tl)
342DEF_HELPER_1(6xx_tlbi, void, tl)
343DEF_HELPER_1(74xx_tlbd, void, tl)
344DEF_HELPER_1(74xx_tlbi, void, tl)
aurel3269a218f2009-04-16 12:57:58 +0000345DEF_HELPER_FLAGS_0(tlbia, TCG_CALL_CONST, void)
346DEF_HELPER_FLAGS_1(tlbie, TCG_CALL_CONST, void, tl)
aurel3274d37792008-12-06 21:46:17 +0000347#if defined(TARGET_PPC64)
aurel3269a218f2009-04-16 12:57:58 +0000348DEF_HELPER_FLAGS_2(store_slb, TCG_CALL_CONST, void, tl, tl)
David Gibsonefdef952011-04-01 15:15:11 +1100349DEF_HELPER_1(load_slb_esid, tl, tl)
350DEF_HELPER_1(load_slb_vsid, tl, tl)
aurel3269a218f2009-04-16 12:57:58 +0000351DEF_HELPER_FLAGS_0(slbia, TCG_CALL_CONST, void)
352DEF_HELPER_FLAGS_1(slbie, TCG_CALL_CONST, void, tl)
aurel3274d37792008-12-06 21:46:17 +0000353#endif
aurel3269a218f2009-04-16 12:57:58 +0000354DEF_HELPER_FLAGS_1(load_sr, TCG_CALL_CONST, tl, tl);
355DEF_HELPER_FLAGS_2(store_sr, TCG_CALL_CONST, void, tl, tl)
aurel32cf02a652008-11-30 16:23:35 +0000356
aurel3269a218f2009-04-16 12:57:58 +0000357DEF_HELPER_FLAGS_1(602_mfrom, TCG_CALL_CONST | TCG_CALL_PURE, tl, tl)
aurel320f3955e2008-11-30 16:22:56 +0000358#endif
359
aurel32ef0d51a2008-11-30 17:26:29 +0000360DEF_HELPER_3(dlmzb, tl, tl, tl, i32)
aurel3269a218f2009-04-16 12:57:58 +0000361DEF_HELPER_FLAGS_1(clcs, TCG_CALL_CONST | TCG_CALL_PURE, tl, i32)
aurel3222e0e172008-12-06 12:19:14 +0000362#if !defined(CONFIG_USER_ONLY)
363DEF_HELPER_1(rac, tl, tl)
364#endif
365DEF_HELPER_2(div, tl, tl, tl)
366DEF_HELPER_2(divo, tl, tl, tl)
367DEF_HELPER_2(divs, tl, tl, tl)
368DEF_HELPER_2(divso, tl, tl, tl)
aurel32ef0d51a2008-11-30 17:26:29 +0000369
Aurelien Jarno95ff8952010-02-06 16:59:11 +0100370DEF_HELPER_1(load_dcr, tl, tl);
371DEF_HELPER_2(store_dcr, void, tl, tl)
aurel3245d827d2008-12-07 13:40:29 +0000372
373DEF_HELPER_1(load_dump_spr, void, i32)
374DEF_HELPER_1(store_dump_spr, void, i32)
375DEF_HELPER_0(load_tbl, tl)
376DEF_HELPER_0(load_tbu, tl)
377DEF_HELPER_0(load_atbl, tl)
378DEF_HELPER_0(load_atbu, tl)
379DEF_HELPER_0(load_601_rtcl, tl)
380DEF_HELPER_0(load_601_rtcu, tl)
381#if !defined(CONFIG_USER_ONLY)
382#if defined(TARGET_PPC64)
383DEF_HELPER_1(store_asr, void, tl)
David Gibson3a7f0092011-04-01 15:15:12 +1100384DEF_HELPER_0(load_purr, tl)
aurel3245d827d2008-12-07 13:40:29 +0000385#endif
386DEF_HELPER_1(store_sdr1, void, tl)
387DEF_HELPER_1(store_tbl, void, tl)
388DEF_HELPER_1(store_tbu, void, tl)
389DEF_HELPER_1(store_atbl, void, tl)
390DEF_HELPER_1(store_atbu, void, tl)
391DEF_HELPER_1(store_601_rtcl, void, tl)
392DEF_HELPER_1(store_601_rtcu, void, tl)
393DEF_HELPER_0(load_decr, tl)
394DEF_HELPER_1(store_decr, void, tl)
395DEF_HELPER_1(store_hid0_601, void, tl)
396DEF_HELPER_2(store_403_pbr, void, i32, tl)
397DEF_HELPER_0(load_40x_pit, tl)
398DEF_HELPER_1(store_40x_pit, void, tl)
399DEF_HELPER_1(store_40x_dbcr0, void, tl)
400DEF_HELPER_1(store_40x_sler, void, tl)
401DEF_HELPER_1(store_booke_tcr, void, tl)
402DEF_HELPER_1(store_booke_tsr, void, tl)
403DEF_HELPER_2(store_ibatl, void, i32, tl)
404DEF_HELPER_2(store_ibatu, void, i32, tl)
405DEF_HELPER_2(store_dbatl, void, i32, tl)
406DEF_HELPER_2(store_dbatu, void, i32, tl)
407DEF_HELPER_2(store_601_batl, void, i32, tl)
408DEF_HELPER_2(store_601_batu, void, i32, tl)
409#endif
aurel3206dca6a2008-12-06 16:37:18 +0000410
pbrooka7812ae2008-11-17 14:43:54 +0000411#include "def-helper.h"