]> git.proxmox.com Git - mirror_qemu.git/blame - target/ppc/helper.h
target/ppc: introduce do_va_helper
[mirror_qemu.git] / target / ppc / helper.h
CommitLineData
46a0add9
RH
1DEF_HELPER_FLAGS_3(raise_exception_err, TCG_CALL_NO_WG, noreturn, env, i32, i32)
2DEF_HELPER_FLAGS_2(raise_exception, TCG_CALL_NO_WG, noreturn, env, i32)
a007b19b 3DEF_HELPER_FLAGS_4(tw, TCG_CALL_NO_WG, void, env, tl, tl, i32)
cab3bee2 4#if defined(TARGET_PPC64)
a007b19b 5DEF_HELPER_FLAGS_4(td, TCG_CALL_NO_WG, void, env, tl, tl, i32)
cab3bee2 6#endif
d72a19f7 7#if !defined(CONFIG_USER_ONLY)
e5f17ac6
BS
8DEF_HELPER_2(store_msr, void, env, tl)
9DEF_HELPER_1(rfi, void, env)
e5f17ac6
BS
10DEF_HELPER_1(40x_rfci, void, env)
11DEF_HELPER_1(rfci, void, env)
12DEF_HELPER_1(rfdi, void, env)
13DEF_HELPER_1(rfmci, void, env)
d72a19f7 14#if defined(TARGET_PPC64)
f43520e5 15DEF_HELPER_2(scv, noreturn, env, i32)
7778a575 16DEF_HELPER_2(pminsn, void, env, i32)
e5f17ac6 17DEF_HELPER_1(rfid, void, env)
3c89b8d6 18DEF_HELPER_1(rfscv, void, env)
e5f17ac6 19DEF_HELPER_1(hrfid, void, env)
1f26c751 20DEF_HELPER_2(rfebb, void, env, tl)
4b3fc377 21DEF_HELPER_2(store_lpcr, void, env, tl)
6b375544 22DEF_HELPER_2(store_pcr, void, env, tl)
c2eff582 23DEF_HELPER_2(store_mmcr0, void, env, tl)
a6f91249 24DEF_HELPER_2(store_mmcr1, void, env, tl)
308b9fad
DHB
25DEF_HELPER_3(store_pmc, void, env, i32, i64)
26DEF_HELPER_2(read_pmc, tl, env, i32)
46d396bd 27DEF_HELPER_2(insns_inc, void, env, i32)
d72a19f7 28#endif
e3cffe6f
ND
29DEF_HELPER_1(check_tlb_flush_local, void, env)
30DEF_HELPER_1(check_tlb_flush_global, void, env)
d72a19f7 31#endif
64adab3f 32
2f5a189c 33DEF_HELPER_3(lmw, void, env, tl, i32)
a007b19b 34DEF_HELPER_FLAGS_3(stmw, TCG_CALL_NO_WG, void, env, tl, i32)
2f5a189c
BS
35DEF_HELPER_4(lsw, void, env, tl, i32, i32)
36DEF_HELPER_5(lswx, void, env, tl, i32, i32, i32)
a007b19b
BH
37DEF_HELPER_FLAGS_4(stsw, TCG_CALL_NO_WG, void, env, tl, i32, i32)
38DEF_HELPER_FLAGS_3(dcbz, TCG_CALL_NO_WG, void, env, tl, i32)
50728199 39DEF_HELPER_FLAGS_3(dcbzep, TCG_CALL_NO_WG, void, env, tl, i32)
a007b19b 40DEF_HELPER_FLAGS_2(icbi, TCG_CALL_NO_WG, void, env, tl)
50728199 41DEF_HELPER_FLAGS_2(icbiep, TCG_CALL_NO_WG, void, env, tl)
2f5a189c 42DEF_HELPER_5(lscbx, tl, env, tl, i32, i32, i32)
bdb4b689 43
74637406 44#if defined(TARGET_PPC64)
98d1eb27 45DEF_HELPER_4(divdeu, i64, env, i64, i64, i32)
e44259b6 46DEF_HELPER_4(divde, i64, env, i64, i64, i32)
74637406 47#endif
6a4fda33 48DEF_HELPER_4(divweu, tl, env, tl, tl, i32)
a98eb9e9 49DEF_HELPER_4(divwe, tl, env, tl, tl, i32)
74637406 50
8f885ef8 51DEF_HELPER_FLAGS_1(popcntb, TCG_CALL_NO_RWG_SE, tl, tl)
fcfda20f 52DEF_HELPER_FLAGS_2(cmpb, TCG_CALL_NO_RWG_SE, tl, tl, tl)
d15f74fb 53DEF_HELPER_3(sraw, tl, env, tl, tl)
6e0bbc40 54DEF_HELPER_FLAGS_2(CFUGED, TCG_CALL_NO_RWG_SE, i64, i64, i64)
21ba6e58 55DEF_HELPER_FLAGS_2(PDEPD, TCG_CALL_NO_RWG_SE, i64, i64, i64)
8bdb7606 56DEF_HELPER_FLAGS_2(PEXTD, TCG_CALL_NO_RWG_SE, i64, i64, i64)
00a16569 57#if defined(TARGET_PPC64)
082ce330 58DEF_HELPER_FLAGS_2(cmpeqb, TCG_CALL_NO_RWG_SE, i32, tl, tl)
79770002 59DEF_HELPER_FLAGS_1(popcntw, TCG_CALL_NO_RWG_SE, tl, tl)
86ba37ed 60DEF_HELPER_FLAGS_2(bpermd, TCG_CALL_NO_RWG_SE, i64, i64, i64)
d15f74fb 61DEF_HELPER_3(srad, tl, env, tl, tl)
8f608604
MF
62DEF_HELPER_FLAGS_0(darn32, TCG_CALL_NO_RWG, tl)
63DEF_HELPER_FLAGS_0(darn64, TCG_CALL_NO_RWG, tl)
26d67362
AJ
64#endif
65
8f885ef8
AJ
66DEF_HELPER_FLAGS_1(cntlsw32, TCG_CALL_NO_RWG_SE, i32, i32)
67DEF_HELPER_FLAGS_1(cntlzw32, TCG_CALL_NO_RWG_SE, i32, i32)
68DEF_HELPER_FLAGS_2(brinc, TCG_CALL_NO_RWG_SE, tl, tl, tl)
a7812ae4 69
8e703949 70DEF_HELPER_1(float_check_status, void, env)
c3a824b0 71DEF_HELPER_1(fpscr_check_status, void, env)
8e703949 72DEF_HELPER_1(reset_fpstatus, void, env)
ffc67420 73DEF_HELPER_2(compute_fprf_float64, void, env, i64)
8e703949
BS
74DEF_HELPER_3(store_fpscr, void, env, i64, i32)
75DEF_HELPER_2(fpscr_clrbit, void, env, i32)
76DEF_HELPER_2(fpscr_setbit, void, env, i32)
86c0cab1
RH
77DEF_HELPER_FLAGS_1(todouble, TCG_CALL_NO_RWG_SE, i64, i32)
78DEF_HELPER_FLAGS_1(tosingle, TCG_CALL_NO_RWG_SE, i32, i64)
af12906f 79
8e703949
BS
80DEF_HELPER_4(fcmpo, void, env, i64, i64, i32)
81DEF_HELPER_4(fcmpu, void, env, i64, i64, i32)
d72a19f7 82
8e703949 83DEF_HELPER_2(fctiw, i64, env, i64)
fab7fe42 84DEF_HELPER_2(fctiwu, i64, env, i64)
8e703949 85DEF_HELPER_2(fctiwz, i64, env, i64)
fab7fe42 86DEF_HELPER_2(fctiwuz, i64, env, i64)
8e703949 87DEF_HELPER_2(fcfid, i64, env, i64)
28288b48
TM
88DEF_HELPER_2(fcfidu, i64, env, i64)
89DEF_HELPER_2(fcfids, i64, env, i64)
90DEF_HELPER_2(fcfidus, i64, env, i64)
8e703949 91DEF_HELPER_2(fctid, i64, env, i64)
fab7fe42 92DEF_HELPER_2(fctidu, i64, env, i64)
8e703949 93DEF_HELPER_2(fctidz, i64, env, i64)
fab7fe42 94DEF_HELPER_2(fctiduz, i64, env, i64)
8e703949
BS
95DEF_HELPER_2(frsp, i64, env, i64)
96DEF_HELPER_2(frin, i64, env, i64)
97DEF_HELPER_2(friz, i64, env, i64)
98DEF_HELPER_2(frip, i64, env, i64)
99DEF_HELPER_2(frim, i64, env, i64)
af12906f 100
ac43cec3 101DEF_HELPER_3(fadd, f64, env, f64, f64)
d9e792a1 102DEF_HELPER_3(fadds, f64, env, f64, f64)
ac43cec3 103DEF_HELPER_3(fsub, f64, env, f64, f64)
d9e792a1 104DEF_HELPER_3(fsubs, f64, env, f64, f64)
79f91633 105DEF_HELPER_3(fmul, f64, env, f64, f64)
7f87214e 106DEF_HELPER_3(fmuls, f64, env, f64, f64)
ae13018d 107DEF_HELPER_3(fdiv, f64, env, f64, f64)
d9e792a1 108DEF_HELPER_3(fdivs, f64, env, f64, f64)
8e703949
BS
109DEF_HELPER_4(fmadd, i64, env, i64, i64, i64)
110DEF_HELPER_4(fmsub, i64, env, i64, i64, i64)
111DEF_HELPER_4(fnmadd, i64, env, i64, i64, i64)
112DEF_HELPER_4(fnmsub, i64, env, i64, i64, i64)
d04ca895
RH
113DEF_HELPER_4(fmadds, i64, env, i64, i64, i64)
114DEF_HELPER_4(fmsubs, i64, env, i64, i64, i64)
115DEF_HELPER_4(fnmadds, i64, env, i64, i64, i64)
116DEF_HELPER_4(fnmsubs, i64, env, i64, i64, i64)
49ab52ef 117DEF_HELPER_2(fsqrt, f64, env, f64)
41ae890d 118DEF_HELPER_2(fsqrts, f64, env, f64)
8e703949
BS
119DEF_HELPER_2(fre, i64, env, i64)
120DEF_HELPER_2(fres, i64, env, i64)
121DEF_HELPER_2(frsqrte, i64, env, i64)
dedbfda7 122DEF_HELPER_2(frsqrtes, i64, env, i64)
eb69a84b 123DEF_HELPER_FLAGS_3(FSEL, TCG_CALL_NO_RWG_SE, i64, i64, i64, i64)
af12906f 124
da29cb7b 125DEF_HELPER_FLAGS_2(ftdiv, TCG_CALL_NO_RWG_SE, i32, i64, i64)
6d41d146 126DEF_HELPER_FLAGS_1(ftsqrt, TCG_CALL_NO_RWG_SE, i32, i64)
da29cb7b 127
7872c51c 128#define dh_alias_avr ptr
c227f099 129#define dh_ctype_avr ppc_avr_t *
8929906e 130#define dh_typecode_avr dh_typecode_ptr
7872c51c 131
00084a25
MCA
132#define dh_alias_vsr ptr
133#define dh_ctype_vsr ppc_vsr_t *
8929906e 134#define dh_typecode_vsr dh_typecode_ptr
00084a25 135
9aa898b8
MF
136DEF_HELPER_FLAGS_3(vavgub, TCG_CALL_NO_RWG, void, avr, avr, avr)
137DEF_HELPER_FLAGS_3(vavguh, TCG_CALL_NO_RWG, void, avr, avr, avr)
138DEF_HELPER_FLAGS_3(vavguw, TCG_CALL_NO_RWG, void, avr, avr, avr)
139DEF_HELPER_FLAGS_3(vabsdub, TCG_CALL_NO_RWG, void, avr, avr, avr)
140DEF_HELPER_FLAGS_3(vabsduh, TCG_CALL_NO_RWG, void, avr, avr, avr)
141DEF_HELPER_FLAGS_3(vabsduw, TCG_CALL_NO_RWG, void, avr, avr, avr)
142DEF_HELPER_FLAGS_3(vavgsb, TCG_CALL_NO_RWG, void, avr, avr, avr)
143DEF_HELPER_FLAGS_3(vavgsh, TCG_CALL_NO_RWG, void, avr, avr, avr)
144DEF_HELPER_FLAGS_3(vavgsw, TCG_CALL_NO_RWG, void, avr, avr, avr)
d15f74fb
BS
145DEF_HELPER_4(vcmpeqfp, void, env, avr, avr, avr)
146DEF_HELPER_4(vcmpgefp, void, env, avr, avr, avr)
147DEF_HELPER_4(vcmpgtfp, void, env, avr, avr, avr)
148DEF_HELPER_4(vcmpbfp, void, env, avr, avr, avr)
eb936dc0
MF
149DEF_HELPER_FLAGS_4(VCMPNEZB, TCG_CALL_NO_RWG, void, avr, avr, avr, i32)
150DEF_HELPER_FLAGS_4(VCMPNEZH, TCG_CALL_NO_RWG, void, avr, avr, avr, i32)
151DEF_HELPER_FLAGS_4(VCMPNEZW, TCG_CALL_NO_RWG, void, avr, avr, avr, i32)
d15f74fb
BS
152DEF_HELPER_4(vcmpeqfp_dot, void, env, avr, avr, avr)
153DEF_HELPER_4(vcmpgefp_dot, void, env, avr, avr, avr)
154DEF_HELPER_4(vcmpgtfp_dot, void, env, avr, avr, avr)
155DEF_HELPER_4(vcmpbfp_dot, void, env, avr, avr, avr)
9aa898b8
MF
156DEF_HELPER_FLAGS_3(vmrglb, TCG_CALL_NO_RWG, void, avr, avr, avr)
157DEF_HELPER_FLAGS_3(vmrglh, TCG_CALL_NO_RWG, void, avr, avr, avr)
158DEF_HELPER_FLAGS_3(vmrglw, TCG_CALL_NO_RWG, void, avr, avr, avr)
159DEF_HELPER_FLAGS_3(vmrghb, TCG_CALL_NO_RWG, void, avr, avr, avr)
160DEF_HELPER_FLAGS_3(vmrghh, TCG_CALL_NO_RWG, void, avr, avr, avr)
161DEF_HELPER_FLAGS_3(vmrghw, TCG_CALL_NO_RWG, void, avr, avr, avr)
80eca687
LMC
162DEF_HELPER_FLAGS_3(VMULESB, TCG_CALL_NO_RWG, void, avr, avr, avr)
163DEF_HELPER_FLAGS_3(VMULESH, TCG_CALL_NO_RWG, void, avr, avr, avr)
164DEF_HELPER_FLAGS_3(VMULESW, TCG_CALL_NO_RWG, void, avr, avr, avr)
165DEF_HELPER_FLAGS_3(VMULEUB, TCG_CALL_NO_RWG, void, avr, avr, avr)
166DEF_HELPER_FLAGS_3(VMULEUH, TCG_CALL_NO_RWG, void, avr, avr, avr)
167DEF_HELPER_FLAGS_3(VMULEUW, TCG_CALL_NO_RWG, void, avr, avr, avr)
168DEF_HELPER_FLAGS_3(VMULOSB, TCG_CALL_NO_RWG, void, avr, avr, avr)
169DEF_HELPER_FLAGS_3(VMULOSH, TCG_CALL_NO_RWG, void, avr, avr, avr)
170DEF_HELPER_FLAGS_3(VMULOSW, TCG_CALL_NO_RWG, void, avr, avr, avr)
171DEF_HELPER_FLAGS_3(VMULOUB, TCG_CALL_NO_RWG, void, avr, avr, avr)
172DEF_HELPER_FLAGS_3(VMULOUH, TCG_CALL_NO_RWG, void, avr, avr, avr)
173DEF_HELPER_FLAGS_3(VMULOUW, TCG_CALL_NO_RWG, void, avr, avr, avr)
9aa898b8
MF
174DEF_HELPER_FLAGS_3(vslo, TCG_CALL_NO_RWG, void, avr, avr, avr)
175DEF_HELPER_FLAGS_3(vsro, TCG_CALL_NO_RWG, void, avr, avr, avr)
176DEF_HELPER_FLAGS_3(vsrv, TCG_CALL_NO_RWG, void, avr, avr, avr)
177DEF_HELPER_FLAGS_3(vslv, TCG_CALL_NO_RWG, void, avr, avr, avr)
178DEF_HELPER_FLAGS_3(vaddcuw, TCG_CALL_NO_RWG, void, avr, avr, avr)
179DEF_HELPER_FLAGS_2(vprtybw, TCG_CALL_NO_RWG, void, avr, avr)
180DEF_HELPER_FLAGS_2(vprtybd, TCG_CALL_NO_RWG, void, avr, avr)
181DEF_HELPER_FLAGS_2(vprtybq, TCG_CALL_NO_RWG, void, avr, avr)
182DEF_HELPER_FLAGS_3(vsubcuw, TCG_CALL_NO_RWG, void, avr, avr, avr)
fb11ae7d
RH
183DEF_HELPER_FLAGS_5(vaddsbs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
184DEF_HELPER_FLAGS_5(vaddshs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
185DEF_HELPER_FLAGS_5(vaddsws, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
186DEF_HELPER_FLAGS_5(vsubsbs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
187DEF_HELPER_FLAGS_5(vsubshs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
188DEF_HELPER_FLAGS_5(vsubsws, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
189DEF_HELPER_FLAGS_5(vaddubs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
190DEF_HELPER_FLAGS_5(vadduhs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
191DEF_HELPER_FLAGS_5(vadduws, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
192DEF_HELPER_FLAGS_5(vsububs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
193DEF_HELPER_FLAGS_5(vsubuhs, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
194DEF_HELPER_FLAGS_5(vsubuws, TCG_CALL_NO_RWG, void, avr, avr, avr, avr, i32)
9aa898b8
MF
195DEF_HELPER_FLAGS_3(vadduqm, TCG_CALL_NO_RWG, void, avr, avr, avr)
196DEF_HELPER_FLAGS_4(vaddecuq, TCG_CALL_NO_RWG, void, avr, avr, avr, avr)
197DEF_HELPER_FLAGS_4(vaddeuqm, TCG_CALL_NO_RWG, void, avr, avr, avr, avr)
198DEF_HELPER_FLAGS_3(vaddcuq, TCG_CALL_NO_RWG, void, avr, avr, avr)
199DEF_HELPER_FLAGS_3(vsubuqm, TCG_CALL_NO_RWG, void, avr, avr, avr)
200DEF_HELPER_FLAGS_4(vsubecuq, TCG_CALL_NO_RWG, void, avr, avr, avr, avr)
201DEF_HELPER_FLAGS_4(vsubeuqm, TCG_CALL_NO_RWG, void, avr, avr, avr, avr)
202DEF_HELPER_FLAGS_3(vsubcuq, TCG_CALL_NO_RWG, void, avr, avr, avr)
203DEF_HELPER_FLAGS_4(vsldoi, TCG_CALL_NO_RWG, void, avr, avr, avr, i32)
204DEF_HELPER_FLAGS_3(vextractub, TCG_CALL_NO_RWG, void, avr, avr, i32)
205DEF_HELPER_FLAGS_3(vextractuh, TCG_CALL_NO_RWG, void, avr, avr, i32)
206DEF_HELPER_FLAGS_3(vextractuw, TCG_CALL_NO_RWG, void, avr, avr, i32)
207DEF_HELPER_FLAGS_3(vextractd, TCG_CALL_NO_RWG, void, avr, avr, i32)
2cc12af3
MF
208DEF_HELPER_4(VINSBLX, void, env, avr, i64, tl)
209DEF_HELPER_4(VINSHLX, void, env, avr, i64, tl)
210DEF_HELPER_4(VINSWLX, void, env, avr, i64, tl)
211DEF_HELPER_4(VINSDLX, void, env, avr, i64, tl)
fb5303cc
MF
212DEF_HELPER_FLAGS_2(VSTRIBL, TCG_CALL_NO_RWG, i32, avr, avr)
213DEF_HELPER_FLAGS_2(VSTRIBR, TCG_CALL_NO_RWG, i32, avr, avr)
214DEF_HELPER_FLAGS_2(VSTRIHL, TCG_CALL_NO_RWG, i32, avr, avr)
215DEF_HELPER_FLAGS_2(VSTRIHR, TCG_CALL_NO_RWG, i32, avr, avr)
9aa898b8
MF
216DEF_HELPER_FLAGS_2(vnegw, TCG_CALL_NO_RWG, void, avr, avr)
217DEF_HELPER_FLAGS_2(vnegd, TCG_CALL_NO_RWG, void, avr, avr)
218DEF_HELPER_FLAGS_2(vupkhpx, TCG_CALL_NO_RWG, void, avr, avr)
219DEF_HELPER_FLAGS_2(vupklpx, TCG_CALL_NO_RWG, void, avr, avr)
220DEF_HELPER_FLAGS_2(vupkhsb, TCG_CALL_NO_RWG, void, avr, avr)
221DEF_HELPER_FLAGS_2(vupkhsh, TCG_CALL_NO_RWG, void, avr, avr)
222DEF_HELPER_FLAGS_2(vupkhsw, TCG_CALL_NO_RWG, void, avr, avr)
223DEF_HELPER_FLAGS_2(vupklsb, TCG_CALL_NO_RWG, void, avr, avr)
224DEF_HELPER_FLAGS_2(vupklsh, TCG_CALL_NO_RWG, void, avr, avr)
225DEF_HELPER_FLAGS_2(vupklsw, TCG_CALL_NO_RWG, void, avr, avr)
d15f74fb
BS
226DEF_HELPER_5(vmsumubm, void, env, avr, avr, avr, avr)
227DEF_HELPER_5(vmsummbm, void, env, avr, avr, avr, avr)
28347fe2
MF
228DEF_HELPER_FLAGS_4(VPERM, TCG_CALL_NO_RWG, void, avr, avr, avr, avr)
229DEF_HELPER_FLAGS_4(VPERMR, TCG_CALL_NO_RWG, void, avr, avr, avr, avr)
d15f74fb
BS
230DEF_HELPER_4(vpkshss, void, env, avr, avr, avr)
231DEF_HELPER_4(vpkshus, void, env, avr, avr, avr)
232DEF_HELPER_4(vpkswss, void, env, avr, avr, avr)
233DEF_HELPER_4(vpkswus, void, env, avr, avr, avr)
024215b2
TM
234DEF_HELPER_4(vpksdss, void, env, avr, avr, avr)
235DEF_HELPER_4(vpksdus, void, env, avr, avr, avr)
d15f74fb
BS
236DEF_HELPER_4(vpkuhus, void, env, avr, avr, avr)
237DEF_HELPER_4(vpkuwus, void, env, avr, avr, avr)
024215b2 238DEF_HELPER_4(vpkudus, void, env, avr, avr, avr)
d15f74fb
BS
239DEF_HELPER_4(vpkuhum, void, env, avr, avr, avr)
240DEF_HELPER_4(vpkuwum, void, env, avr, avr, avr)
024215b2 241DEF_HELPER_4(vpkudum, void, env, avr, avr, avr)
9aa898b8 242DEF_HELPER_FLAGS_3(vpkpx, TCG_CALL_NO_RWG, void, avr, avr, avr)
d15f74fb
BS
243DEF_HELPER_5(vmhaddshs, void, env, avr, avr, avr, avr)
244DEF_HELPER_5(vmhraddshs, void, env, avr, avr, avr, avr)
245DEF_HELPER_5(vmsumuhm, void, env, avr, avr, avr, avr)
246DEF_HELPER_5(vmsumuhs, void, env, avr, avr, avr, avr)
247DEF_HELPER_5(vmsumshm, void, env, avr, avr, avr, avr)
248DEF_HELPER_5(vmsumshs, void, env, avr, avr, avr, avr)
9aa898b8 249DEF_HELPER_FLAGS_4(vmladduhm, TCG_CALL_NO_RWG, void, avr, avr, avr, avr)
dedfaac7 250DEF_HELPER_FLAGS_2(mtvscr, TCG_CALL_NO_RWG, void, env, i32)
cc2b90d7 251DEF_HELPER_FLAGS_1(mfvscr, TCG_CALL_NO_RWG, i32, env)
2f5a189c
BS
252DEF_HELPER_3(lvebx, void, env, avr, tl)
253DEF_HELPER_3(lvehx, void, env, avr, tl)
254DEF_HELPER_3(lvewx, void, env, avr, tl)
255DEF_HELPER_3(stvebx, void, env, avr, tl)
256DEF_HELPER_3(stvehx, void, env, avr, tl)
257DEF_HELPER_3(stvewx, void, env, avr, tl)
6914bc4f 258#if defined(TARGET_PPC64)
2aba168e
MCA
259DEF_HELPER_4(lxvl, void, env, tl, vsr, tl)
260DEF_HELPER_4(lxvll, void, env, tl, vsr, tl)
261DEF_HELPER_4(stxvl, void, env, tl, vsr, tl)
262DEF_HELPER_4(stxvll, void, env, tl, vsr, tl)
6914bc4f 263#endif
d15f74fb
BS
264DEF_HELPER_4(vsumsws, void, env, avr, avr, avr)
265DEF_HELPER_4(vsum2sws, void, env, avr, avr, avr)
266DEF_HELPER_4(vsum4sbs, void, env, avr, avr, avr)
267DEF_HELPER_4(vsum4shs, void, env, avr, avr, avr)
268DEF_HELPER_4(vsum4ubs, void, env, avr, avr, avr)
269DEF_HELPER_4(vaddfp, void, env, avr, avr, avr)
270DEF_HELPER_4(vsubfp, void, env, avr, avr, avr)
271DEF_HELPER_4(vmaxfp, void, env, avr, avr, avr)
272DEF_HELPER_4(vminfp, void, env, avr, avr, avr)
273DEF_HELPER_3(vrefp, void, env, avr, avr)
274DEF_HELPER_3(vrsqrtefp, void, env, avr, avr)
02c74f0e
MF
275DEF_HELPER_FLAGS_4(VRLWMI, TCG_CALL_NO_RWG, void, avr, avr, avr, i32)
276DEF_HELPER_FLAGS_4(VRLDMI, TCG_CALL_NO_RWG, void, avr, avr, avr, i32)
277DEF_HELPER_FLAGS_4(VRLDNM, TCG_CALL_NO_RWG, void, avr, avr, avr, i32)
278DEF_HELPER_FLAGS_4(VRLWNM, TCG_CALL_NO_RWG, void, avr, avr, avr, i32)
d15f74fb
BS
279DEF_HELPER_5(vmaddfp, void, env, avr, avr, avr, avr)
280DEF_HELPER_5(vnmsubfp, void, env, avr, avr, avr, avr)
281DEF_HELPER_3(vexptefp, void, env, avr, avr)
282DEF_HELPER_3(vlogefp, void, env, avr, avr)
283DEF_HELPER_3(vrfim, void, env, avr, avr)
284DEF_HELPER_3(vrfin, void, env, avr, avr)
285DEF_HELPER_3(vrfip, void, env, avr, avr)
286DEF_HELPER_3(vrfiz, void, env, avr, avr)
287DEF_HELPER_4(vcfux, void, env, avr, avr, i32)
288DEF_HELPER_4(vcfsx, void, env, avr, avr, i32)
289DEF_HELPER_4(vctuxs, void, env, avr, avr, i32)
290DEF_HELPER_4(vctsxs, void, env, avr, avr, i32)
fab3cbe9 291
9aa898b8
MF
292DEF_HELPER_FLAGS_2(vclzb, TCG_CALL_NO_RWG, void, avr, avr)
293DEF_HELPER_FLAGS_2(vclzh, TCG_CALL_NO_RWG, void, avr, avr)
294DEF_HELPER_FLAGS_2(vctzb, TCG_CALL_NO_RWG, void, avr, avr)
295DEF_HELPER_FLAGS_2(vctzh, TCG_CALL_NO_RWG, void, avr, avr)
296DEF_HELPER_FLAGS_2(vctzw, TCG_CALL_NO_RWG, void, avr, avr)
297DEF_HELPER_FLAGS_2(vctzd, TCG_CALL_NO_RWG, void, avr, avr)
298DEF_HELPER_FLAGS_2(vpopcntb, TCG_CALL_NO_RWG, void, avr, avr)
299DEF_HELPER_FLAGS_2(vpopcnth, TCG_CALL_NO_RWG, void, avr, avr)
300DEF_HELPER_FLAGS_2(vpopcntw, TCG_CALL_NO_RWG, void, avr, avr)
301DEF_HELPER_FLAGS_2(vpopcntd, TCG_CALL_NO_RWG, void, avr, avr)
302DEF_HELPER_FLAGS_1(vclzlsbb, TCG_CALL_NO_RWG, tl, avr)
303DEF_HELPER_FLAGS_1(vctzlsbb, TCG_CALL_NO_RWG, tl, avr)
304DEF_HELPER_FLAGS_3(vbpermd, TCG_CALL_NO_RWG, void, avr, avr, avr)
305DEF_HELPER_FLAGS_3(vbpermq, TCG_CALL_NO_RWG, void, avr, avr, avr)
306DEF_HELPER_FLAGS_3(vpmsumb, TCG_CALL_NO_RWG, void, avr, avr, avr)
307DEF_HELPER_FLAGS_3(vpmsumh, TCG_CALL_NO_RWG, void, avr, avr, avr)
308DEF_HELPER_FLAGS_3(vpmsumw, TCG_CALL_NO_RWG, void, avr, avr, avr)
309DEF_HELPER_FLAGS_3(vpmsumd, TCG_CALL_NO_RWG, void, avr, avr, avr)
310DEF_HELPER_FLAGS_2(vextublx, TCG_CALL_NO_RWG, tl, tl, avr)
311DEF_HELPER_FLAGS_2(vextuhlx, TCG_CALL_NO_RWG, tl, tl, avr)
312DEF_HELPER_FLAGS_2(vextuwlx, TCG_CALL_NO_RWG, tl, tl, avr)
313DEF_HELPER_FLAGS_2(vextubrx, TCG_CALL_NO_RWG, tl, tl, avr)
314DEF_HELPER_FLAGS_2(vextuhrx, TCG_CALL_NO_RWG, tl, tl, avr)
315DEF_HELPER_FLAGS_2(vextuwrx, TCG_CALL_NO_RWG, tl, tl, avr)
28110b72
MF
316DEF_HELPER_5(VEXTDUBVLX, void, env, avr, avr, avr, tl)
317DEF_HELPER_5(VEXTDUHVLX, void, env, avr, avr, avr, tl)
318DEF_HELPER_5(VEXTDUWVLX, void, env, avr, avr, avr, tl)
319DEF_HELPER_5(VEXTDDVLX, void, env, avr, avr, avr, tl)
f293f04a 320
9aa898b8
MF
321DEF_HELPER_FLAGS_2(vsbox, TCG_CALL_NO_RWG, void, avr, avr)
322DEF_HELPER_FLAGS_3(vcipher, TCG_CALL_NO_RWG, void, avr, avr, avr)
323DEF_HELPER_FLAGS_3(vcipherlast, TCG_CALL_NO_RWG, void, avr, avr, avr)
324DEF_HELPER_FLAGS_3(vncipher, TCG_CALL_NO_RWG, void, avr, avr, avr)
325DEF_HELPER_FLAGS_3(vncipherlast, TCG_CALL_NO_RWG, void, avr, avr, avr)
326DEF_HELPER_FLAGS_3(vshasigmaw, TCG_CALL_NO_RWG, void, avr, avr, i32)
327DEF_HELPER_FLAGS_3(vshasigmad, TCG_CALL_NO_RWG, void, avr, avr, i32)
328DEF_HELPER_FLAGS_4(vpermxor, TCG_CALL_NO_RWG, void, avr, avr, avr, avr)
557d52fa 329
491bcaaa
MF
330DEF_HELPER_FLAGS_4(bcdadd, TCG_CALL_NO_RWG, i32, avr, avr, avr, i32)
331DEF_HELPER_FLAGS_4(bcdsub, TCG_CALL_NO_RWG, i32, avr, avr, avr, i32)
332DEF_HELPER_FLAGS_3(bcdcfn, TCG_CALL_NO_RWG, i32, avr, avr, i32)
333DEF_HELPER_FLAGS_3(bcdctn, TCG_CALL_NO_RWG, i32, avr, avr, i32)
334DEF_HELPER_FLAGS_3(bcdcfz, TCG_CALL_NO_RWG, i32, avr, avr, i32)
335DEF_HELPER_FLAGS_3(bcdctz, TCG_CALL_NO_RWG, i32, avr, avr, i32)
336DEF_HELPER_FLAGS_3(bcdcfsq, TCG_CALL_NO_RWG, i32, avr, avr, i32)
337DEF_HELPER_FLAGS_3(bcdctsq, TCG_CALL_NO_RWG, i32, avr, avr, i32)
338DEF_HELPER_FLAGS_4(bcdcpsgn, TCG_CALL_NO_RWG, i32, avr, avr, avr, i32)
339DEF_HELPER_FLAGS_3(bcdsetsgn, TCG_CALL_NO_RWG, i32, avr, avr, i32)
340DEF_HELPER_FLAGS_4(bcds, TCG_CALL_NO_RWG, i32, avr, avr, avr, i32)
341DEF_HELPER_FLAGS_4(bcdus, TCG_CALL_NO_RWG, i32, avr, avr, avr, i32)
342DEF_HELPER_FLAGS_4(bcdsr, TCG_CALL_NO_RWG, i32, avr, avr, avr, i32)
343DEF_HELPER_FLAGS_4(bcdtrunc, TCG_CALL_NO_RWG, i32, avr, avr, avr, i32)
344DEF_HELPER_FLAGS_4(bcdutrunc, TCG_CALL_NO_RWG, i32, avr, avr, avr, i32)
e8f7b27b 345
99125c74 346DEF_HELPER_4(xsadddp, void, env, vsr, vsr, vsr)
23d0766b 347DEF_HELPER_5(xsaddqp, void, env, i32, vsr, vsr, vsr)
99125c74
MCA
348DEF_HELPER_4(xssubdp, void, env, vsr, vsr, vsr)
349DEF_HELPER_4(xsmuldp, void, env, vsr, vsr, vsr)
23d0766b 350DEF_HELPER_5(xsmulqp, void, env, i32, vsr, vsr, vsr)
99125c74 351DEF_HELPER_4(xsdivdp, void, env, vsr, vsr, vsr)
23d0766b 352DEF_HELPER_5(xsdivqp, void, env, i32, vsr, vsr, vsr)
75cf84cb
MCA
353DEF_HELPER_3(xsredp, void, env, vsr, vsr)
354DEF_HELPER_3(xssqrtdp, void, env, vsr, vsr)
355DEF_HELPER_3(xsrsqrtedp, void, env, vsr, vsr)
033e1fcd 356DEF_HELPER_4(xstdivdp, void, env, i32, vsr, vsr)
8d830485 357DEF_HELPER_3(xstsqrtdp, void, env, i32, vsr)
e4318ab2
MF
358DEF_HELPER_5(XSMADDDP, void, env, vsr, vsr, vsr, vsr)
359DEF_HELPER_5(XSMSUBDP, void, env, vsr, vsr, vsr, vsr)
360DEF_HELPER_5(XSNMADDDP, void, env, vsr, vsr, vsr, vsr)
361DEF_HELPER_5(XSNMSUBDP, void, env, vsr, vsr, vsr, vsr)
72d24354
VC
362DEF_HELPER_4(XSCMPEQDP, void, env, vsr, vsr, vsr)
363DEF_HELPER_4(XSCMPGTDP, void, env, vsr, vsr, vsr)
364DEF_HELPER_4(XSCMPGEDP, void, env, vsr, vsr, vsr)
568e7c4d
VC
365DEF_HELPER_4(XSCMPEQQP, void, env, vsr, vsr, vsr)
366DEF_HELPER_4(XSCMPGTQP, void, env, vsr, vsr, vsr)
367DEF_HELPER_4(XSCMPGEQP, void, env, vsr, vsr, vsr)
033e1fcd 368DEF_HELPER_4(xscmpexpdp, void, env, i32, vsr, vsr)
6ae4a57a 369DEF_HELPER_4(xscmpexpqp, void, env, i32, vsr, vsr)
033e1fcd
MCA
370DEF_HELPER_4(xscmpodp, void, env, i32, vsr, vsr)
371DEF_HELPER_4(xscmpudp, void, env, i32, vsr, vsr)
6ae4a57a
MCA
372DEF_HELPER_4(xscmpoqp, void, env, i32, vsr, vsr)
373DEF_HELPER_4(xscmpuqp, void, env, i32, vsr, vsr)
99125c74
MCA
374DEF_HELPER_4(xsmaxdp, void, env, vsr, vsr, vsr)
375DEF_HELPER_4(xsmindp, void, env, vsr, vsr, vsr)
5307df8f
VC
376DEF_HELPER_4(XSMAXCDP, void, env, vsr, vsr, vsr)
377DEF_HELPER_4(XSMINCDP, void, env, vsr, vsr, vsr)
378DEF_HELPER_4(XSMAXJDP, void, env, vsr, vsr, vsr)
379DEF_HELPER_4(XSMINJDP, void, env, vsr, vsr, vsr)
7b8d6e3e
VC
380DEF_HELPER_4(XSMAXCQP, void, env, vsr, vsr, vsr)
381DEF_HELPER_4(XSMINCQP, void, env, vsr, vsr, vsr)
75cf84cb 382DEF_HELPER_3(xscvdphp, void, env, vsr, vsr)
99229620 383DEF_HELPER_4(xscvdpqp, void, env, i32, vsr, vsr)
75cf84cb 384DEF_HELPER_3(xscvdpsp, void, env, vsr, vsr)
7ee19fb9 385DEF_HELPER_2(xscvdpspn, i64, env, i64)
caf6f9b5 386DEF_HELPER_4(XSCVQPDP, void, env, i32, vsr, vsr)
99229620
MCA
387DEF_HELPER_4(xscvqpsdz, void, env, i32, vsr, vsr)
388DEF_HELPER_4(xscvqpswz, void, env, i32, vsr, vsr)
389DEF_HELPER_4(xscvqpudz, void, env, i32, vsr, vsr)
390DEF_HELPER_4(xscvqpuwz, void, env, i32, vsr, vsr)
b3d45205
MF
391DEF_HELPER_3(XSCVQPUQZ, void, env, vsr, vsr)
392DEF_HELPER_3(XSCVQPSQZ, void, env, vsr, vsr)
67332e07
MF
393DEF_HELPER_3(XSCVUQQP, void, env, vsr, vsr)
394DEF_HELPER_3(XSCVSQQP, void, env, vsr, vsr)
75cf84cb 395DEF_HELPER_3(xscvhpdp, void, env, vsr, vsr)
99229620 396DEF_HELPER_4(xscvsdqp, void, env, i32, vsr, vsr)
75cf84cb 397DEF_HELPER_3(xscvspdp, void, env, vsr, vsr)
cf862bee 398DEF_HELPER_FLAGS_1(XSCVSPDPN, TCG_CALL_NO_RWG_SE, i64, i64)
75cf84cb
MCA
399DEF_HELPER_3(xscvdpsxds, void, env, vsr, vsr)
400DEF_HELPER_3(xscvdpsxws, void, env, vsr, vsr)
401DEF_HELPER_3(xscvdpuxds, void, env, vsr, vsr)
402DEF_HELPER_3(xscvdpuxws, void, env, vsr, vsr)
403DEF_HELPER_3(xscvsxddp, void, env, vsr, vsr)
404DEF_HELPER_3(xscvuxdsp, void, env, vsr, vsr)
405DEF_HELPER_3(xscvsxdsp, void, env, vsr, vsr)
99229620 406DEF_HELPER_4(xscvudqp, void, env, i32, vsr, vsr)
75cf84cb 407DEF_HELPER_3(xscvuxddp, void, env, vsr, vsr)
8d830485 408DEF_HELPER_3(xststdcsp, void, env, i32, vsr)
78241762
ND
409DEF_HELPER_2(xststdcdp, void, env, i32)
410DEF_HELPER_2(xststdcqp, void, env, i32)
75cf84cb
MCA
411DEF_HELPER_3(xsrdpi, void, env, vsr, vsr)
412DEF_HELPER_3(xsrdpic, void, env, vsr, vsr)
413DEF_HELPER_3(xsrdpim, void, env, vsr, vsr)
414DEF_HELPER_3(xsrdpip, void, env, vsr, vsr)
415DEF_HELPER_3(xsrdpiz, void, env, vsr, vsr)
99229620
MCA
416DEF_HELPER_4(xsrqpi, void, env, i32, vsr, vsr)
417DEF_HELPER_4(xsrqpxp, void, env, i32, vsr, vsr)
418DEF_HELPER_4(xssqrtqp, void, env, i32, vsr, vsr)
23d0766b 419DEF_HELPER_5(xssubqp, void, env, i32, vsr, vsr, vsr)
ee6e02c0 420
99125c74
MCA
421DEF_HELPER_4(xsaddsp, void, env, vsr, vsr, vsr)
422DEF_HELPER_4(xssubsp, void, env, vsr, vsr, vsr)
423DEF_HELPER_4(xsmulsp, void, env, vsr, vsr, vsr)
424DEF_HELPER_4(xsdivsp, void, env, vsr, vsr, vsr)
75cf84cb 425DEF_HELPER_3(xsresp, void, env, vsr, vsr)
3d1140bf 426DEF_HELPER_2(xsrsp, i64, env, i64)
75cf84cb
MCA
427DEF_HELPER_3(xssqrtsp, void, env, vsr, vsr)
428DEF_HELPER_3(xsrsqrtesp, void, env, vsr, vsr)
e4318ab2
MF
429DEF_HELPER_5(XSMADDSP, void, env, vsr, vsr, vsr, vsr)
430DEF_HELPER_5(XSMSUBSP, void, env, vsr, vsr, vsr, vsr)
431DEF_HELPER_5(XSNMADDSP, void, env, vsr, vsr, vsr, vsr)
432DEF_HELPER_5(XSNMSUBSP, void, env, vsr, vsr, vsr, vsr)
3fd0aadf 433
3bb1aed2
MF
434DEF_HELPER_5(XSMADDQP, void, env, vsr, vsr, vsr, vsr)
435DEF_HELPER_5(XSMADDQPO, void, env, vsr, vsr, vsr, vsr)
436DEF_HELPER_5(XSMSUBQP, void, env, vsr, vsr, vsr, vsr)
437DEF_HELPER_5(XSMSUBQPO, void, env, vsr, vsr, vsr, vsr)
438DEF_HELPER_5(XSNMADDQP, void, env, vsr, vsr, vsr, vsr)
439DEF_HELPER_5(XSNMADDQPO, void, env, vsr, vsr, vsr, vsr)
440DEF_HELPER_5(XSNMSUBQP, void, env, vsr, vsr, vsr, vsr)
441DEF_HELPER_5(XSNMSUBQPO, void, env, vsr, vsr, vsr, vsr)
442
99125c74
MCA
443DEF_HELPER_4(xvadddp, void, env, vsr, vsr, vsr)
444DEF_HELPER_4(xvsubdp, void, env, vsr, vsr, vsr)
445DEF_HELPER_4(xvmuldp, void, env, vsr, vsr, vsr)
446DEF_HELPER_4(xvdivdp, void, env, vsr, vsr, vsr)
75cf84cb
MCA
447DEF_HELPER_3(xvredp, void, env, vsr, vsr)
448DEF_HELPER_3(xvsqrtdp, void, env, vsr, vsr)
449DEF_HELPER_3(xvrsqrtedp, void, env, vsr, vsr)
033e1fcd 450DEF_HELPER_4(xvtdivdp, void, env, i32, vsr, vsr)
8d830485 451DEF_HELPER_3(xvtsqrtdp, void, env, i32, vsr)
c9f4e4d8
MCA
452DEF_HELPER_5(xvmadddp, void, env, vsr, vsr, vsr, vsr)
453DEF_HELPER_5(xvmsubdp, void, env, vsr, vsr, vsr, vsr)
454DEF_HELPER_5(xvnmadddp, void, env, vsr, vsr, vsr, vsr)
455DEF_HELPER_5(xvnmsubdp, void, env, vsr, vsr, vsr, vsr)
99125c74
MCA
456DEF_HELPER_4(xvmaxdp, void, env, vsr, vsr, vsr)
457DEF_HELPER_4(xvmindp, void, env, vsr, vsr, vsr)
00084a25
MCA
458DEF_HELPER_FLAGS_4(xvcmpeqdp, TCG_CALL_NO_RWG, i32, env, vsr, vsr, vsr)
459DEF_HELPER_FLAGS_4(xvcmpgedp, TCG_CALL_NO_RWG, i32, env, vsr, vsr, vsr)
460DEF_HELPER_FLAGS_4(xvcmpgtdp, TCG_CALL_NO_RWG, i32, env, vsr, vsr, vsr)
461DEF_HELPER_FLAGS_4(xvcmpnedp, TCG_CALL_NO_RWG, i32, env, vsr, vsr, vsr)
75cf84cb
MCA
462DEF_HELPER_3(xvcvdpsp, void, env, vsr, vsr)
463DEF_HELPER_3(xvcvdpsxds, void, env, vsr, vsr)
464DEF_HELPER_3(xvcvdpsxws, void, env, vsr, vsr)
465DEF_HELPER_3(xvcvdpuxds, void, env, vsr, vsr)
466DEF_HELPER_3(xvcvdpuxws, void, env, vsr, vsr)
467DEF_HELPER_3(xvcvsxddp, void, env, vsr, vsr)
468DEF_HELPER_3(xvcvuxddp, void, env, vsr, vsr)
469DEF_HELPER_3(xvcvsxwdp, void, env, vsr, vsr)
470DEF_HELPER_3(xvcvuxwdp, void, env, vsr, vsr)
471DEF_HELPER_3(xvrdpi, void, env, vsr, vsr)
472DEF_HELPER_3(xvrdpic, void, env, vsr, vsr)
473DEF_HELPER_3(xvrdpim, void, env, vsr, vsr)
474DEF_HELPER_3(xvrdpip, void, env, vsr, vsr)
475DEF_HELPER_3(xvrdpiz, void, env, vsr, vsr)
ee6e02c0 476
99125c74
MCA
477DEF_HELPER_4(xvaddsp, void, env, vsr, vsr, vsr)
478DEF_HELPER_4(xvsubsp, void, env, vsr, vsr, vsr)
479DEF_HELPER_4(xvmulsp, void, env, vsr, vsr, vsr)
480DEF_HELPER_4(xvdivsp, void, env, vsr, vsr, vsr)
75cf84cb
MCA
481DEF_HELPER_3(xvresp, void, env, vsr, vsr)
482DEF_HELPER_3(xvsqrtsp, void, env, vsr, vsr)
483DEF_HELPER_3(xvrsqrtesp, void, env, vsr, vsr)
033e1fcd 484DEF_HELPER_4(xvtdivsp, void, env, i32, vsr, vsr)
8d830485 485DEF_HELPER_3(xvtsqrtsp, void, env, i32, vsr)
c9f4e4d8
MCA
486DEF_HELPER_5(xvmaddsp, void, env, vsr, vsr, vsr, vsr)
487DEF_HELPER_5(xvmsubsp, void, env, vsr, vsr, vsr, vsr)
488DEF_HELPER_5(xvnmaddsp, void, env, vsr, vsr, vsr, vsr)
489DEF_HELPER_5(xvnmsubsp, void, env, vsr, vsr, vsr, vsr)
99125c74
MCA
490DEF_HELPER_4(xvmaxsp, void, env, vsr, vsr, vsr)
491DEF_HELPER_4(xvminsp, void, env, vsr, vsr, vsr)
00084a25
MCA
492DEF_HELPER_FLAGS_4(xvcmpeqsp, TCG_CALL_NO_RWG, i32, env, vsr, vsr, vsr)
493DEF_HELPER_FLAGS_4(xvcmpgesp, TCG_CALL_NO_RWG, i32, env, vsr, vsr, vsr)
494DEF_HELPER_FLAGS_4(xvcmpgtsp, TCG_CALL_NO_RWG, i32, env, vsr, vsr, vsr)
495DEF_HELPER_FLAGS_4(xvcmpnesp, TCG_CALL_NO_RWG, i32, env, vsr, vsr, vsr)
75cf84cb
MCA
496DEF_HELPER_3(xvcvspdp, void, env, vsr, vsr)
497DEF_HELPER_3(xvcvsphp, void, env, vsr, vsr)
498DEF_HELPER_3(xvcvhpsp, void, env, vsr, vsr)
3909ff1f 499DEF_HELPER_3(XVCVSPBF16, void, env, vsr, vsr)
75cf84cb
MCA
500DEF_HELPER_3(xvcvspsxds, void, env, vsr, vsr)
501DEF_HELPER_3(xvcvspsxws, void, env, vsr, vsr)
502DEF_HELPER_3(xvcvspuxds, void, env, vsr, vsr)
503DEF_HELPER_3(xvcvspuxws, void, env, vsr, vsr)
504DEF_HELPER_3(xvcvsxdsp, void, env, vsr, vsr)
505DEF_HELPER_3(xvcvuxdsp, void, env, vsr, vsr)
506DEF_HELPER_3(xvcvsxwsp, void, env, vsr, vsr)
507DEF_HELPER_3(xvcvuxwsp, void, env, vsr, vsr)
403a884a
ND
508DEF_HELPER_2(xvtstdcsp, void, env, i32)
509DEF_HELPER_2(xvtstdcdp, void, env, i32)
75cf84cb
MCA
510DEF_HELPER_3(xvrspi, void, env, vsr, vsr)
511DEF_HELPER_3(xvrspic, void, env, vsr, vsr)
512DEF_HELPER_3(xvrspim, void, env, vsr, vsr)
513DEF_HELPER_3(xvrspip, void, env, vsr, vsr)
514DEF_HELPER_3(xvrspiz, void, env, vsr, vsr)
b090f4f1
MF
515DEF_HELPER_FLAGS_2(XXGENPCVBM_be_exp, TCG_CALL_NO_RWG, void, vsr, avr)
516DEF_HELPER_FLAGS_2(XXGENPCVBM_be_comp, TCG_CALL_NO_RWG, void, vsr, avr)
517DEF_HELPER_FLAGS_2(XXGENPCVBM_le_exp, TCG_CALL_NO_RWG, void, vsr, avr)
518DEF_HELPER_FLAGS_2(XXGENPCVBM_le_comp, TCG_CALL_NO_RWG, void, vsr, avr)
519DEF_HELPER_FLAGS_2(XXGENPCVHM_be_exp, TCG_CALL_NO_RWG, void, vsr, avr)
520DEF_HELPER_FLAGS_2(XXGENPCVHM_be_comp, TCG_CALL_NO_RWG, void, vsr, avr)
521DEF_HELPER_FLAGS_2(XXGENPCVHM_le_exp, TCG_CALL_NO_RWG, void, vsr, avr)
522DEF_HELPER_FLAGS_2(XXGENPCVHM_le_comp, TCG_CALL_NO_RWG, void, vsr, avr)
523DEF_HELPER_FLAGS_2(XXGENPCVWM_be_exp, TCG_CALL_NO_RWG, void, vsr, avr)
524DEF_HELPER_FLAGS_2(XXGENPCVWM_be_comp, TCG_CALL_NO_RWG, void, vsr, avr)
525DEF_HELPER_FLAGS_2(XXGENPCVWM_le_exp, TCG_CALL_NO_RWG, void, vsr, avr)
526DEF_HELPER_FLAGS_2(XXGENPCVWM_le_comp, TCG_CALL_NO_RWG, void, vsr, avr)
527DEF_HELPER_FLAGS_2(XXGENPCVDM_be_exp, TCG_CALL_NO_RWG, void, vsr, avr)
528DEF_HELPER_FLAGS_2(XXGENPCVDM_be_comp, TCG_CALL_NO_RWG, void, vsr, avr)
529DEF_HELPER_FLAGS_2(XXGENPCVDM_le_exp, TCG_CALL_NO_RWG, void, vsr, avr)
530DEF_HELPER_FLAGS_2(XXGENPCVDM_le_comp, TCG_CALL_NO_RWG, void, vsr, avr)
8f5eeee3 531DEF_HELPER_FLAGS_3(XXEXTRACTUW, TCG_CALL_NO_RWG, void, vsr, vsr, i32)
41c2877f 532DEF_HELPER_FLAGS_5(XXPERMX, TCG_CALL_NO_RWG, void, vsr, vsr, vsr, vsr, tl)
8f5eeee3 533DEF_HELPER_FLAGS_3(XXINSERTW, TCG_CALL_NO_RWG, void, vsr, vsr, i32)
c36ab970 534DEF_HELPER_FLAGS_2(XVXSIGSP, TCG_CALL_NO_RWG, void, vsr, vsr)
1015fcab 535DEF_HELPER_FLAGS_5(XXEVAL, TCG_CALL_NO_RWG, void, vsr, vsr, vsr, vsr, i32)
f2454bfe
MF
536DEF_HELPER_FLAGS_5(XXBLENDVB, TCG_CALL_NO_RWG, void, vsr, vsr, vsr, vsr, i32)
537DEF_HELPER_FLAGS_5(XXBLENDVH, TCG_CALL_NO_RWG, void, vsr, vsr, vsr, vsr, i32)
538DEF_HELPER_FLAGS_5(XXBLENDVW, TCG_CALL_NO_RWG, void, vsr, vsr, vsr, vsr, i32)
539DEF_HELPER_FLAGS_5(XXBLENDVD, TCG_CALL_NO_RWG, void, vsr, vsr, vsr, vsr, i32)
ee6e02c0 540
8e703949
BS
541DEF_HELPER_2(efscfsi, i32, env, i32)
542DEF_HELPER_2(efscfui, i32, env, i32)
543DEF_HELPER_2(efscfuf, i32, env, i32)
544DEF_HELPER_2(efscfsf, i32, env, i32)
545DEF_HELPER_2(efsctsi, i32, env, i32)
546DEF_HELPER_2(efsctui, i32, env, i32)
547DEF_HELPER_2(efsctsiz, i32, env, i32)
548DEF_HELPER_2(efsctuiz, i32, env, i32)
549DEF_HELPER_2(efsctsf, i32, env, i32)
550DEF_HELPER_2(efsctuf, i32, env, i32)
551DEF_HELPER_2(evfscfsi, i64, env, i64)
552DEF_HELPER_2(evfscfui, i64, env, i64)
553DEF_HELPER_2(evfscfuf, i64, env, i64)
554DEF_HELPER_2(evfscfsf, i64, env, i64)
555DEF_HELPER_2(evfsctsi, i64, env, i64)
556DEF_HELPER_2(evfsctui, i64, env, i64)
557DEF_HELPER_2(evfsctsiz, i64, env, i64)
558DEF_HELPER_2(evfsctuiz, i64, env, i64)
559DEF_HELPER_2(evfsctsf, i64, env, i64)
560DEF_HELPER_2(evfsctuf, i64, env, i64)
561DEF_HELPER_3(efsadd, i32, env, i32, i32)
562DEF_HELPER_3(efssub, i32, env, i32, i32)
563DEF_HELPER_3(efsmul, i32, env, i32, i32)
564DEF_HELPER_3(efsdiv, i32, env, i32, i32)
565DEF_HELPER_3(evfsadd, i64, env, i64, i64)
566DEF_HELPER_3(evfssub, i64, env, i64, i64)
567DEF_HELPER_3(evfsmul, i64, env, i64, i64)
568DEF_HELPER_3(evfsdiv, i64, env, i64, i64)
569DEF_HELPER_3(efststlt, i32, env, i32, i32)
570DEF_HELPER_3(efststgt, i32, env, i32, i32)
571DEF_HELPER_3(efststeq, i32, env, i32, i32)
572DEF_HELPER_3(efscmplt, i32, env, i32, i32)
573DEF_HELPER_3(efscmpgt, i32, env, i32, i32)
574DEF_HELPER_3(efscmpeq, i32, env, i32, i32)
575DEF_HELPER_3(evfststlt, i32, env, i64, i64)
576DEF_HELPER_3(evfststgt, i32, env, i64, i64)
577DEF_HELPER_3(evfststeq, i32, env, i64, i64)
578DEF_HELPER_3(evfscmplt, i32, env, i64, i64)
579DEF_HELPER_3(evfscmpgt, i32, env, i64, i64)
580DEF_HELPER_3(evfscmpeq, i32, env, i64, i64)
581DEF_HELPER_2(efdcfsi, i64, env, i32)
582DEF_HELPER_2(efdcfsid, i64, env, i64)
583DEF_HELPER_2(efdcfui, i64, env, i32)
584DEF_HELPER_2(efdcfuid, i64, env, i64)
585DEF_HELPER_2(efdctsi, i32, env, i64)
586DEF_HELPER_2(efdctui, i32, env, i64)
587DEF_HELPER_2(efdctsiz, i32, env, i64)
588DEF_HELPER_2(efdctsidz, i64, env, i64)
589DEF_HELPER_2(efdctuiz, i32, env, i64)
590DEF_HELPER_2(efdctuidz, i64, env, i64)
591DEF_HELPER_2(efdcfsf, i64, env, i32)
592DEF_HELPER_2(efdcfuf, i64, env, i32)
593DEF_HELPER_2(efdctsf, i32, env, i64)
594DEF_HELPER_2(efdctuf, i32, env, i64)
595DEF_HELPER_2(efscfd, i32, env, i64)
596DEF_HELPER_2(efdcfs, i64, env, i32)
597DEF_HELPER_3(efdadd, i64, env, i64, i64)
598DEF_HELPER_3(efdsub, i64, env, i64, i64)
599DEF_HELPER_3(efdmul, i64, env, i64, i64)
600DEF_HELPER_3(efddiv, i64, env, i64, i64)
601DEF_HELPER_3(efdtstlt, i32, env, i64, i64)
602DEF_HELPER_3(efdtstgt, i32, env, i64, i64)
603DEF_HELPER_3(efdtsteq, i32, env, i64, i64)
604DEF_HELPER_3(efdcmplt, i32, env, i64, i64)
605DEF_HELPER_3(efdcmpgt, i32, env, i64, i64)
606DEF_HELPER_3(efdcmpeq, i32, env, i64, i64)
1c97856d 607
0f3955e2 608#if !defined(CONFIG_USER_ONLY)
c6c7cf05
BS
609DEF_HELPER_2(4xx_tlbre_hi, tl, env, tl)
610DEF_HELPER_2(4xx_tlbre_lo, tl, env, tl)
611DEF_HELPER_3(4xx_tlbwe_hi, void, env, tl, tl)
612DEF_HELPER_3(4xx_tlbwe_lo, void, env, tl, tl)
613DEF_HELPER_2(4xx_tlbsx, tl, env, tl)
614DEF_HELPER_3(440_tlbre, tl, env, i32, tl)
615DEF_HELPER_4(440_tlbwe, void, env, i32, tl, tl)
616DEF_HELPER_2(440_tlbsx, tl, env, tl)
617DEF_HELPER_1(booke206_tlbre, void, env)
618DEF_HELPER_1(booke206_tlbwe, void, env)
619DEF_HELPER_2(booke206_tlbsx, void, env, tl)
620DEF_HELPER_2(booke206_tlbivax, void, env, tl)
621DEF_HELPER_2(booke206_tlbilx0, void, env, tl)
622DEF_HELPER_2(booke206_tlbilx1, void, env, tl)
623DEF_HELPER_2(booke206_tlbilx3, void, env, tl)
a721d390 624DEF_HELPER_2(booke206_tlbflush, void, env, tl)
c6c7cf05 625DEF_HELPER_3(booke_setpid, void, env, i32, tl)
50728199
RK
626DEF_HELPER_2(booke_set_eplc, void, env, tl)
627DEF_HELPER_2(booke_set_epsc, void, env, tl)
c6c7cf05
BS
628DEF_HELPER_2(6xx_tlbd, void, env, tl)
629DEF_HELPER_2(6xx_tlbi, void, env, tl)
8f885ef8
AJ
630DEF_HELPER_FLAGS_1(tlbia, TCG_CALL_NO_RWG, void, env)
631DEF_HELPER_FLAGS_2(tlbie, TCG_CALL_NO_RWG, void, env, tl)
4693364f 632DEF_HELPER_FLAGS_2(tlbiva, TCG_CALL_NO_RWG, void, env, tl)
74d37793 633#if defined(TARGET_PPC64)
8f885ef8 634DEF_HELPER_FLAGS_3(store_slb, TCG_CALL_NO_RWG, void, env, tl, tl)
c6c7cf05
BS
635DEF_HELPER_2(load_slb_esid, tl, env, tl)
636DEF_HELPER_2(load_slb_vsid, tl, env, tl)
c76c22d5 637DEF_HELPER_2(find_slb_vsid, tl, env, tl)
0418bf78 638DEF_HELPER_FLAGS_2(slbia, TCG_CALL_NO_RWG, void, env, i32)
8f885ef8 639DEF_HELPER_FLAGS_2(slbie, TCG_CALL_NO_RWG, void, env, tl)
a63f1dfc 640DEF_HELPER_FLAGS_2(slbieg, TCG_CALL_NO_RWG, void, env, tl)
74d37793 641#endif
f5daeec4 642DEF_HELPER_FLAGS_2(load_sr, TCG_CALL_NO_RWG, tl, env, tl)
8f885ef8 643DEF_HELPER_FLAGS_3(store_sr, TCG_CALL_NO_RWG, void, env, tl, tl)
cf02a65c 644
d5d11a39 645DEF_HELPER_1(msgsnd, void, tl)
e5f17ac6 646DEF_HELPER_2(msgclr, void, env, tl)
7af1e7b0
CLG
647DEF_HELPER_1(book3s_msgsnd, void, tl)
648DEF_HELPER_2(book3s_msgclr, void, env, tl)
0f3955e2
AJ
649#endif
650
d15f74fb 651DEF_HELPER_4(dlmzb, tl, env, tl, tl, i32)
22e0e173 652#if !defined(CONFIG_USER_ONLY)
c6c7cf05 653DEF_HELPER_2(rac, tl, env, tl)
22e0e173 654#endif
ef0d51af 655
f5daeec4 656DEF_HELPER_2(load_dcr, tl, env, tl)
d0f1562d 657DEF_HELPER_3(store_dcr, void, env, tl, tl)
45d827d2 658
d523dd00
BS
659DEF_HELPER_2(load_dump_spr, void, env, i32)
660DEF_HELPER_2(store_dump_spr, void, env, i32)
7019cb3d 661DEF_HELPER_4(fscr_facility_check, void, env, i32, i32, i32)
cdcdda27 662DEF_HELPER_4(msr_facility_check, void, env, i32, i32, i32)
d0f6ced1
BH
663DEF_HELPER_FLAGS_1(load_tbl, TCG_CALL_NO_RWG, tl, env)
664DEF_HELPER_FLAGS_1(load_tbu, TCG_CALL_NO_RWG, tl, env)
665DEF_HELPER_FLAGS_1(load_atbl, TCG_CALL_NO_RWG, tl, env)
666DEF_HELPER_FLAGS_1(load_atbu, TCG_CALL_NO_RWG, tl, env)
5d62725b 667DEF_HELPER_FLAGS_1(load_vtb, TCG_CALL_NO_RWG, tl, env)
45d827d2
AJ
668#if !defined(CONFIG_USER_ONLY)
669#if defined(TARGET_PPC64)
d0f6ced1 670DEF_HELPER_FLAGS_1(load_purr, TCG_CALL_NO_RWG, tl, env)
5cc7e69f 671DEF_HELPER_FLAGS_2(store_purr, TCG_CALL_NO_RWG, void, env, tl)
4a7518e0 672DEF_HELPER_2(store_ptcr, void, env, tl)
5ba7ba1d
CLG
673DEF_HELPER_FLAGS_1(load_dpdes, TCG_CALL_NO_RWG, tl, env)
674DEF_HELPER_FLAGS_2(store_dpdes, TCG_CALL_NO_RWG, void, env, tl)
675DEF_HELPER_2(book3s_msgsndp, void, env, tl)
676DEF_HELPER_2(book3s_msgclrp, void, env, tl)
45d827d2 677#endif
d523dd00 678DEF_HELPER_2(store_sdr1, void, env, tl)
31b2b0f8 679DEF_HELPER_2(store_pidr, void, env, tl)
c4dae9cd 680DEF_HELPER_2(store_lpidr, void, env, tl)
d0f6ced1
BH
681DEF_HELPER_FLAGS_2(store_tbl, TCG_CALL_NO_RWG, void, env, tl)
682DEF_HELPER_FLAGS_2(store_tbu, TCG_CALL_NO_RWG, void, env, tl)
683DEF_HELPER_FLAGS_2(store_atbl, TCG_CALL_NO_RWG, void, env, tl)
684DEF_HELPER_FLAGS_2(store_atbu, TCG_CALL_NO_RWG, void, env, tl)
d0f6ced1
BH
685DEF_HELPER_FLAGS_1(load_decr, TCG_CALL_NO_RWG, tl, env)
686DEF_HELPER_FLAGS_2(store_decr, TCG_CALL_NO_RWG, void, env, tl)
687DEF_HELPER_FLAGS_1(load_hdecr, TCG_CALL_NO_RWG, tl, env)
688DEF_HELPER_FLAGS_2(store_hdecr, TCG_CALL_NO_RWG, void, env, tl)
5d62725b 689DEF_HELPER_FLAGS_2(store_vtb, TCG_CALL_NO_RWG, void, env, tl)
f0ec31b1 690DEF_HELPER_FLAGS_2(store_tbu40, TCG_CALL_NO_RWG, void, env, tl)
d0f6ced1
BH
691DEF_HELPER_FLAGS_1(load_40x_pit, TCG_CALL_NO_RWG, tl, env)
692DEF_HELPER_FLAGS_2(store_40x_pit, TCG_CALL_NO_RWG, void, env, tl)
cbd8f17d
CLG
693DEF_HELPER_FLAGS_2(store_40x_tcr, TCG_CALL_NO_RWG, void, env, tl)
694DEF_HELPER_FLAGS_2(store_40x_tsr, TCG_CALL_NO_RWG, void, env, tl)
47822486 695DEF_HELPER_2(store_40x_pid, void, env, tl)
d523dd00
BS
696DEF_HELPER_2(store_40x_dbcr0, void, env, tl)
697DEF_HELPER_2(store_40x_sler, void, env, tl)
d0f6ced1
BH
698DEF_HELPER_FLAGS_2(store_booke_tcr, TCG_CALL_NO_RWG, void, env, tl)
699DEF_HELPER_FLAGS_2(store_booke_tsr, TCG_CALL_NO_RWG, void, env, tl)
c6c7cf05
BS
700DEF_HELPER_3(store_ibatl, void, env, i32, tl)
701DEF_HELPER_3(store_ibatu, void, env, i32, tl)
702DEF_HELPER_3(store_dbatl, void, env, i32, tl)
703DEF_HELPER_3(store_dbatu, void, env, i32, tl)
45d827d2 704#endif
a4f27cc8
TM
705
706#define dh_alias_fprp ptr
d9acba31 707#define dh_ctype_fprp ppc_fprp_t *
8929906e 708#define dh_typecode_fprp dh_typecode_ptr
a9d7ba03 709
afdc9310
LP
710DEF_HELPER_4(DADD, void, env, fprp, fprp, fprp)
711DEF_HELPER_4(DADDQ, void, env, fprp, fprp, fprp)
712DEF_HELPER_4(DSUB, void, env, fprp, fprp, fprp)
713DEF_HELPER_4(DSUBQ, void, env, fprp, fprp, fprp)
714DEF_HELPER_4(DMUL, void, env, fprp, fprp, fprp)
715DEF_HELPER_4(DMULQ, void, env, fprp, fprp, fprp)
716DEF_HELPER_4(DDIV, void, env, fprp, fprp, fprp)
717DEF_HELPER_4(DDIVQ, void, env, fprp, fprp, fprp)
85c38a46
LP
718DEF_HELPER_3(DCMPO, i32, env, fprp, fprp)
719DEF_HELPER_3(DCMPOQ, i32, env, fprp, fprp)
720DEF_HELPER_3(DCMPU, i32, env, fprp, fprp)
721DEF_HELPER_3(DCMPUQ, i32, env, fprp, fprp)
87bc8e52
LP
722DEF_HELPER_3(DTSTDC, i32, env, fprp, i32)
723DEF_HELPER_3(DTSTDCQ, i32, env, fprp, i32)
724DEF_HELPER_3(DTSTDG, i32, env, fprp, i32)
725DEF_HELPER_3(DTSTDGQ, i32, env, fprp, i32)
85c38a46
LP
726DEF_HELPER_3(DTSTEX, i32, env, fprp, fprp)
727DEF_HELPER_3(DTSTEXQ, i32, env, fprp, fprp)
728DEF_HELPER_3(DTSTSF, i32, env, fprp, fprp)
729DEF_HELPER_3(DTSTSFQ, i32, env, fprp, fprp)
730DEF_HELPER_3(DTSTSFI, i32, env, i32, fprp)
731DEF_HELPER_3(DTSTSFIQ, i32, env, i32, fprp)
78464edb
LP
732DEF_HELPER_5(DQUAI, void, env, fprp, fprp, i32, i32)
733DEF_HELPER_5(DQUAIQ, void, env, fprp, fprp, i32, i32)
a8f4bce6
LP
734DEF_HELPER_5(DQUA, void, env, fprp, fprp, fprp, i32)
735DEF_HELPER_5(DQUAQ, void, env, fprp, fprp, fprp, i32)
736DEF_HELPER_5(DRRND, void, env, fprp, fprp, fprp, i32)
737DEF_HELPER_5(DRRNDQ, void, env, fprp, fprp, fprp, i32)
78464edb
LP
738DEF_HELPER_5(DRINTX, void, env, fprp, fprp, i32, i32)
739DEF_HELPER_5(DRINTXQ, void, env, fprp, fprp, i32, i32)
740DEF_HELPER_5(DRINTN, void, env, fprp, fprp, i32, i32)
741DEF_HELPER_5(DRINTNQ, void, env, fprp, fprp, i32, i32)
c8ef4d1e
LP
742DEF_HELPER_3(DCTDP, void, env, fprp, fprp)
743DEF_HELPER_3(DCTQPQ, void, env, fprp, fprp)
744DEF_HELPER_3(DRSP, void, env, fprp, fprp)
745DEF_HELPER_3(DRDPQ, void, env, fprp, fprp)
746DEF_HELPER_3(DCFFIX, void, env, fprp, fprp)
747DEF_HELPER_3(DCFFIXQ, void, env, fprp, fprp)
d39b2cc7 748DEF_HELPER_3(DCFFIXQQ, void, env, fprp, avr)
c8ef4d1e
LP
749DEF_HELPER_3(DCTFIX, void, env, fprp, fprp)
750DEF_HELPER_3(DCTFIXQ, void, env, fprp, fprp)
328747f3 751DEF_HELPER_3(DCTFIXQQ, void, env, avr, fprp)
a2329747
LP
752DEF_HELPER_4(DDEDPD, void, env, fprp, fprp, i32)
753DEF_HELPER_4(DDEDPDQ, void, env, fprp, fprp, i32)
754DEF_HELPER_4(DENBCD, void, env, fprp, fprp, i32)
755DEF_HELPER_4(DENBCDQ, void, env, fprp, fprp, i32)
c8ef4d1e
LP
756DEF_HELPER_3(DXEX, void, env, fprp, fprp)
757DEF_HELPER_3(DXEXQ, void, env, fprp, fprp)
afdc9310
LP
758DEF_HELPER_4(DIEX, void, env, fprp, fprp, fprp)
759DEF_HELPER_4(DIEXQ, void, env, fprp, fprp, fprp)
a2329747
LP
760DEF_HELPER_4(DSCRI, void, env, fprp, fprp, i32)
761DEF_HELPER_4(DSCRIQ, void, env, fprp, fprp, i32)
762DEF_HELPER_4(DSCLI, void, env, fprp, fprp, i32)
763DEF_HELPER_4(DSCLIQ, void, env, fprp, fprp, i32)
0ff93d11
TM
764
765DEF_HELPER_1(tbegin, void, env)
a007b19b 766DEF_HELPER_FLAGS_1(fixup_thrm, TCG_CALL_NO_RWG, void, env)
94bf2658 767
f34ec0f6 768#ifdef TARGET_PPC64
94bf2658
RH
769DEF_HELPER_FLAGS_3(lq_le_parallel, TCG_CALL_NO_WG, i64, env, tl, i32)
770DEF_HELPER_FLAGS_3(lq_be_parallel, TCG_CALL_NO_WG, i64, env, tl, i32)
f89ced5f
RH
771DEF_HELPER_FLAGS_5(stq_le_parallel, TCG_CALL_NO_WG,
772 void, env, tl, i64, i64, i32)
773DEF_HELPER_FLAGS_5(stq_be_parallel, TCG_CALL_NO_WG,
774 void, env, tl, i64, i64, i32)
4a9b3c5d
RH
775DEF_HELPER_5(stqcx_le_parallel, i32, env, tl, i64, i64, i32)
776DEF_HELPER_5(stqcx_be_parallel, i32, env, tl, i64, i64, i32)
94bf2658 777#endif