1 #include "def-helper.h"
3 DEF_HELPER_2(raise_exception_err
, void, i32
, i32
)
4 DEF_HELPER_1(raise_exception
, void, i32
)
5 DEF_HELPER_3(tw
, void, tl
, tl
, i32
)
6 #if defined(TARGET_PPC64)
7 DEF_HELPER_3(td
, void, tl
, tl
, i32
)
9 #if !defined(CONFIG_USER_ONLY)
10 DEF_HELPER_1(store_msr
, void, tl
)
11 DEF_HELPER_0(rfi
, void)
12 DEF_HELPER_0(rfsvc
, void)
13 DEF_HELPER_0(40x_rfci
, void)
14 DEF_HELPER_0(rfci
, void)
15 DEF_HELPER_0(rfdi
, void)
16 DEF_HELPER_0(rfmci
, void)
17 #if defined(TARGET_PPC64)
18 DEF_HELPER_0(rfid
, void)
19 DEF_HELPER_0(hrfid
, void)
23 DEF_HELPER_2(lmw
, void, tl
, i32
)
24 DEF_HELPER_2(stmw
, void, tl
, i32
)
25 DEF_HELPER_3(lsw
, void, tl
, i32
, i32
)
26 DEF_HELPER_4(lswx
, void, tl
, i32
, i32
, i32
)
27 DEF_HELPER_3(stsw
, void, tl
, i32
, i32
)
28 DEF_HELPER_1(dcbz
, void, tl
)
29 DEF_HELPER_1(dcbz_970
, void, tl
)
30 DEF_HELPER_1(icbi
, void, tl
)
31 DEF_HELPER_4(lscbx
, tl
, tl
, i32
, i32
, i32
)
33 DEF_HELPER_0(load_cr
, tl
)
34 DEF_HELPER_2(store_cr
, void, tl
, i32
)
36 #if defined(TARGET_PPC64)
37 DEF_HELPER_2(mulhd
, i64
, i64
, i64
)
38 DEF_HELPER_2(mulhdu
, i64
, i64
, i64
)
39 DEF_HELPER_2(mulldo
, i64
, i64
, i64
)
42 DEF_HELPER_1(cntlzw
, tl
, tl
)
43 DEF_HELPER_1(popcntb
, tl
, tl
)
44 DEF_HELPER_2(sraw
, tl
, tl
, tl
)
45 #if defined(TARGET_PPC64)
46 DEF_HELPER_1(cntlzd
, tl
, tl
)
47 DEF_HELPER_1(popcntb_64
, tl
, tl
)
48 DEF_HELPER_2(srad
, tl
, tl
, tl
)
51 DEF_HELPER_1(cntlsw32
, i32
, i32
)
52 DEF_HELPER_1(cntlzw32
, i32
, i32
)
53 DEF_HELPER_2(brinc
, tl
, tl
, tl
)
55 DEF_HELPER_0(float_check_status
, void)
56 #ifdef CONFIG_SOFTFLOAT
57 DEF_HELPER_0(reset_fpstatus
, void)
59 DEF_HELPER_2(compute_fprf
, i32
, i64
, i32
)
60 DEF_HELPER_2(store_fpscr
, void, i64
, i32
)
61 DEF_HELPER_1(fpscr_clrbit
, void, i32
)
62 DEF_HELPER_1(fpscr_setbit
, void, i32
)
63 DEF_HELPER_1(float64_to_float32
, i32
, i64
)
64 DEF_HELPER_1(float32_to_float64
, i64
, i32
)
66 DEF_HELPER_3(fcmpo
, void, i64
, i64
, i32
)
67 DEF_HELPER_3(fcmpu
, void, i64
, i64
, i32
)
69 DEF_HELPER_1(fctiw
, i64
, i64
)
70 DEF_HELPER_1(fctiwz
, i64
, i64
)
71 #if defined(TARGET_PPC64)
72 DEF_HELPER_1(fcfid
, i64
, i64
)
73 DEF_HELPER_1(fctid
, i64
, i64
)
74 DEF_HELPER_1(fctidz
, i64
, i64
)
76 DEF_HELPER_1(frsp
, i64
, i64
)
77 DEF_HELPER_1(frin
, i64
, i64
)
78 DEF_HELPER_1(friz
, i64
, i64
)
79 DEF_HELPER_1(frip
, i64
, i64
)
80 DEF_HELPER_1(frim
, i64
, i64
)
82 DEF_HELPER_2(fadd
, i64
, i64
, i64
)
83 DEF_HELPER_2(fsub
, i64
, i64
, i64
)
84 DEF_HELPER_2(fmul
, i64
, i64
, i64
)
85 DEF_HELPER_2(fdiv
, i64
, i64
, i64
)
86 DEF_HELPER_3(fmadd
, i64
, i64
, i64
, i64
)
87 DEF_HELPER_3(fmsub
, i64
, i64
, i64
, i64
)
88 DEF_HELPER_3(fnmadd
, i64
, i64
, i64
, i64
)
89 DEF_HELPER_3(fnmsub
, i64
, i64
, i64
, i64
)
90 DEF_HELPER_1(fabs
, i64
, i64
)
91 DEF_HELPER_1(fnabs
, i64
, i64
)
92 DEF_HELPER_1(fneg
, i64
, i64
)
93 DEF_HELPER_1(fsqrt
, i64
, i64
)
94 DEF_HELPER_1(fre
, i64
, i64
)
95 DEF_HELPER_1(fres
, i64
, i64
)
96 DEF_HELPER_1(frsqrte
, i64
, i64
)
97 DEF_HELPER_3(fsel
, i64
, i64
, i64
, i64
)
99 #define dh_alias_avr ptr
100 #define dh_ctype_avr ppc_avr_t *
102 DEF_HELPER_3(vaddubm
, void, avr
, avr
, avr
)
103 DEF_HELPER_3(vadduhm
, void, avr
, avr
, avr
)
104 DEF_HELPER_3(vadduwm
, void, avr
, avr
, avr
)
105 DEF_HELPER_3(vsububm
, void, avr
, avr
, avr
)
106 DEF_HELPER_3(vsubuhm
, void, avr
, avr
, avr
)
107 DEF_HELPER_3(vsubuwm
, void, avr
, avr
, avr
)
108 DEF_HELPER_3(vavgub
, void, avr
, avr
, avr
)
109 DEF_HELPER_3(vavguh
, void, avr
, avr
, avr
)
110 DEF_HELPER_3(vavguw
, void, avr
, avr
, avr
)
111 DEF_HELPER_3(vavgsb
, void, avr
, avr
, avr
)
112 DEF_HELPER_3(vavgsh
, void, avr
, avr
, avr
)
113 DEF_HELPER_3(vavgsw
, void, avr
, avr
, avr
)
114 DEF_HELPER_3(vminsb
, void, avr
, avr
, avr
)
115 DEF_HELPER_3(vminsh
, void, avr
, avr
, avr
)
116 DEF_HELPER_3(vminsw
, void, avr
, avr
, avr
)
117 DEF_HELPER_3(vmaxsb
, void, avr
, avr
, avr
)
118 DEF_HELPER_3(vmaxsh
, void, avr
, avr
, avr
)
119 DEF_HELPER_3(vmaxsw
, void, avr
, avr
, avr
)
120 DEF_HELPER_3(vminub
, void, avr
, avr
, avr
)
121 DEF_HELPER_3(vminuh
, void, avr
, avr
, avr
)
122 DEF_HELPER_3(vminuw
, void, avr
, avr
, avr
)
123 DEF_HELPER_3(vmaxub
, void, avr
, avr
, avr
)
124 DEF_HELPER_3(vmaxuh
, void, avr
, avr
, avr
)
125 DEF_HELPER_3(vmaxuw
, void, avr
, avr
, avr
)
126 DEF_HELPER_3(vmrglb
, void, avr
, avr
, avr
)
127 DEF_HELPER_3(vmrglh
, void, avr
, avr
, avr
)
128 DEF_HELPER_3(vmrglw
, void, avr
, avr
, avr
)
129 DEF_HELPER_3(vmrghb
, void, avr
, avr
, avr
)
130 DEF_HELPER_3(vmrghh
, void, avr
, avr
, avr
)
131 DEF_HELPER_3(vmrghw
, void, avr
, avr
, avr
)
133 DEF_HELPER_1(efscfsi
, i32
, i32
)
134 DEF_HELPER_1(efscfui
, i32
, i32
)
135 DEF_HELPER_1(efscfuf
, i32
, i32
)
136 DEF_HELPER_1(efscfsf
, i32
, i32
)
137 DEF_HELPER_1(efsctsi
, i32
, i32
)
138 DEF_HELPER_1(efsctui
, i32
, i32
)
139 DEF_HELPER_1(efsctsiz
, i32
, i32
)
140 DEF_HELPER_1(efsctuiz
, i32
, i32
)
141 DEF_HELPER_1(efsctsf
, i32
, i32
)
142 DEF_HELPER_1(efsctuf
, i32
, i32
)
143 DEF_HELPER_1(evfscfsi
, i64
, i64
)
144 DEF_HELPER_1(evfscfui
, i64
, i64
)
145 DEF_HELPER_1(evfscfuf
, i64
, i64
)
146 DEF_HELPER_1(evfscfsf
, i64
, i64
)
147 DEF_HELPER_1(evfsctsi
, i64
, i64
)
148 DEF_HELPER_1(evfsctui
, i64
, i64
)
149 DEF_HELPER_1(evfsctsiz
, i64
, i64
)
150 DEF_HELPER_1(evfsctuiz
, i64
, i64
)
151 DEF_HELPER_1(evfsctsf
, i64
, i64
)
152 DEF_HELPER_1(evfsctuf
, i64
, i64
)
153 DEF_HELPER_2(efsadd
, i32
, i32
, i32
)
154 DEF_HELPER_2(efssub
, i32
, i32
, i32
)
155 DEF_HELPER_2(efsmul
, i32
, i32
, i32
)
156 DEF_HELPER_2(efsdiv
, i32
, i32
, i32
)
157 DEF_HELPER_2(evfsadd
, i64
, i64
, i64
)
158 DEF_HELPER_2(evfssub
, i64
, i64
, i64
)
159 DEF_HELPER_2(evfsmul
, i64
, i64
, i64
)
160 DEF_HELPER_2(evfsdiv
, i64
, i64
, i64
)
161 DEF_HELPER_2(efststlt
, i32
, i32
, i32
)
162 DEF_HELPER_2(efststgt
, i32
, i32
, i32
)
163 DEF_HELPER_2(efststeq
, i32
, i32
, i32
)
164 DEF_HELPER_2(efscmplt
, i32
, i32
, i32
)
165 DEF_HELPER_2(efscmpgt
, i32
, i32
, i32
)
166 DEF_HELPER_2(efscmpeq
, i32
, i32
, i32
)
167 DEF_HELPER_2(evfststlt
, i32
, i64
, i64
)
168 DEF_HELPER_2(evfststgt
, i32
, i64
, i64
)
169 DEF_HELPER_2(evfststeq
, i32
, i64
, i64
)
170 DEF_HELPER_2(evfscmplt
, i32
, i64
, i64
)
171 DEF_HELPER_2(evfscmpgt
, i32
, i64
, i64
)
172 DEF_HELPER_2(evfscmpeq
, i32
, i64
, i64
)
173 DEF_HELPER_1(efdcfsi
, i64
, i32
)
174 DEF_HELPER_1(efdcfsid
, i64
, i64
)
175 DEF_HELPER_1(efdcfui
, i64
, i32
)
176 DEF_HELPER_1(efdcfuid
, i64
, i64
)
177 DEF_HELPER_1(efdctsi
, i32
, i64
)
178 DEF_HELPER_1(efdctui
, i32
, i64
)
179 DEF_HELPER_1(efdctsiz
, i32
, i64
)
180 DEF_HELPER_1(efdctsidz
, i64
, i64
)
181 DEF_HELPER_1(efdctuiz
, i32
, i64
)
182 DEF_HELPER_1(efdctuidz
, i64
, i64
)
183 DEF_HELPER_1(efdcfsf
, i64
, i32
)
184 DEF_HELPER_1(efdcfuf
, i64
, i32
)
185 DEF_HELPER_1(efdctsf
, i32
, i64
)
186 DEF_HELPER_1(efdctuf
, i32
, i64
)
187 DEF_HELPER_1(efscfd
, i32
, i64
)
188 DEF_HELPER_1(efdcfs
, i64
, i32
)
189 DEF_HELPER_2(efdadd
, i64
, i64
, i64
)
190 DEF_HELPER_2(efdsub
, i64
, i64
, i64
)
191 DEF_HELPER_2(efdmul
, i64
, i64
, i64
)
192 DEF_HELPER_2(efddiv
, i64
, i64
, i64
)
193 DEF_HELPER_2(efdtstlt
, i32
, i64
, i64
)
194 DEF_HELPER_2(efdtstgt
, i32
, i64
, i64
)
195 DEF_HELPER_2(efdtsteq
, i32
, i64
, i64
)
196 DEF_HELPER_2(efdcmplt
, i32
, i64
, i64
)
197 DEF_HELPER_2(efdcmpgt
, i32
, i64
, i64
)
198 DEF_HELPER_2(efdcmpeq
, i32
, i64
, i64
)
200 #if !defined(CONFIG_USER_ONLY)
201 DEF_HELPER_1(4xx_tlbre_hi
, tl
, tl
)
202 DEF_HELPER_1(4xx_tlbre_lo
, tl
, tl
)
203 DEF_HELPER_2(4xx_tlbwe_hi
, void, tl
, tl
)
204 DEF_HELPER_2(4xx_tlbwe_lo
, void, tl
, tl
)
205 DEF_HELPER_1(4xx_tlbsx
, tl
, tl
)
206 DEF_HELPER_2(440_tlbre
, tl
, i32
, tl
)
207 DEF_HELPER_3(440_tlbwe
, void, i32
, tl
, tl
)
208 DEF_HELPER_1(440_tlbsx
, tl
, tl
)
209 DEF_HELPER_1(6xx_tlbd
, void, tl
)
210 DEF_HELPER_1(6xx_tlbi
, void, tl
)
211 DEF_HELPER_1(74xx_tlbd
, void, tl
)
212 DEF_HELPER_1(74xx_tlbi
, void, tl
)
213 DEF_HELPER_0(tlbia
, void)
214 DEF_HELPER_1(tlbie
, void, tl
)
215 #if defined(TARGET_PPC64)
216 DEF_HELPER_1(load_slb
, tl
, tl
)
217 DEF_HELPER_2(store_slb
, void, tl
, tl
)
218 DEF_HELPER_0(slbia
, void)
219 DEF_HELPER_1(slbie
, void, tl
)
221 DEF_HELPER_1(load_sr
, tl
, tl
);
222 DEF_HELPER_2(store_sr
, void, tl
, tl
)
224 DEF_HELPER_1(602_mfrom
, tl
, tl
)
227 DEF_HELPER_3(dlmzb
, tl
, tl
, tl
, i32
)
228 DEF_HELPER_1(clcs
, tl
, i32
)
229 #if !defined(CONFIG_USER_ONLY)
230 DEF_HELPER_1(rac
, tl
, tl
)
232 DEF_HELPER_2(div
, tl
, tl
, tl
)
233 DEF_HELPER_2(divo
, tl
, tl
, tl
)
234 DEF_HELPER_2(divs
, tl
, tl
, tl
)
235 DEF_HELPER_2(divso
, tl
, tl
, tl
)
237 DEF_HELPER_1(load_dcr
, tl
, tl
);
238 DEF_HELPER_2(store_dcr
, void, tl
, tl
)
240 DEF_HELPER_1(load_dump_spr
, void, i32
)
241 DEF_HELPER_1(store_dump_spr
, void, i32
)
242 DEF_HELPER_0(load_tbl
, tl
)
243 DEF_HELPER_0(load_tbu
, tl
)
244 DEF_HELPER_0(load_atbl
, tl
)
245 DEF_HELPER_0(load_atbu
, tl
)
246 DEF_HELPER_0(load_601_rtcl
, tl
)
247 DEF_HELPER_0(load_601_rtcu
, tl
)
248 #if !defined(CONFIG_USER_ONLY)
249 #if defined(TARGET_PPC64)
250 DEF_HELPER_1(store_asr
, void, tl
)
252 DEF_HELPER_1(store_sdr1
, void, tl
)
253 DEF_HELPER_1(store_tbl
, void, tl
)
254 DEF_HELPER_1(store_tbu
, void, tl
)
255 DEF_HELPER_1(store_atbl
, void, tl
)
256 DEF_HELPER_1(store_atbu
, void, tl
)
257 DEF_HELPER_1(store_601_rtcl
, void, tl
)
258 DEF_HELPER_1(store_601_rtcu
, void, tl
)
259 DEF_HELPER_0(load_decr
, tl
)
260 DEF_HELPER_1(store_decr
, void, tl
)
261 DEF_HELPER_1(store_hid0_601
, void, tl
)
262 DEF_HELPER_2(store_403_pbr
, void, i32
, tl
)
263 DEF_HELPER_0(load_40x_pit
, tl
)
264 DEF_HELPER_1(store_40x_pit
, void, tl
)
265 DEF_HELPER_1(store_40x_dbcr0
, void, tl
)
266 DEF_HELPER_1(store_40x_sler
, void, tl
)
267 DEF_HELPER_1(store_booke_tcr
, void, tl
)
268 DEF_HELPER_1(store_booke_tsr
, void, tl
)
269 DEF_HELPER_2(store_ibatl
, void, i32
, tl
)
270 DEF_HELPER_2(store_ibatu
, void, i32
, tl
)
271 DEF_HELPER_2(store_dbatl
, void, i32
, tl
)
272 DEF_HELPER_2(store_dbatu
, void, i32
, tl
)
273 DEF_HELPER_2(store_601_batl
, void, i32
, tl
)
274 DEF_HELPER_2(store_601_batu
, void, i32
, tl
)
277 #include "def-helper.h"