Fix smsw for x86_64 guest and bigendian host case
[qemu/mini2440.git] / target-ppc / helper.h
blob26d16276c2b225ffe13c0810ae03173b5df4d046
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)
8 #endif
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)
20 #endif
21 #endif
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)
40 #endif
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)
49 #endif
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)
58 #endif
59 DEF_HELPER_2(compute_fprf, i32, i64, i32)
60 DEF_HELPER_2(store_fpscr, void, i64, i32)
61 DEF_HELPER_1(fpscr_setbit, void, i32)
62 DEF_HELPER_1(float64_to_float32, i32, i64)
63 DEF_HELPER_1(float32_to_float64, i64, i32)
65 DEF_HELPER_2(fcmpo, i32, i64, i64)
66 DEF_HELPER_2(fcmpu, i32, i64, i64)
68 DEF_HELPER_1(fctiw, i64, i64)
69 DEF_HELPER_1(fctiwz, i64, i64)
70 #if defined(TARGET_PPC64)
71 DEF_HELPER_1(fcfid, i64, i64)
72 DEF_HELPER_1(fctid, i64, i64)
73 DEF_HELPER_1(fctidz, i64, i64)
74 #endif
75 DEF_HELPER_1(frsp, i64, i64)
76 DEF_HELPER_1(frin, i64, i64)
77 DEF_HELPER_1(friz, i64, i64)
78 DEF_HELPER_1(frip, i64, i64)
79 DEF_HELPER_1(frim, i64, i64)
81 DEF_HELPER_2(fadd, i64, i64, i64)
82 DEF_HELPER_2(fsub, i64, i64, i64)
83 DEF_HELPER_2(fmul, i64, i64, i64)
84 DEF_HELPER_2(fdiv, i64, i64, i64)
85 DEF_HELPER_3(fmadd, i64, i64, i64, i64)
86 DEF_HELPER_3(fmsub, i64, i64, i64, i64)
87 DEF_HELPER_3(fnmadd, i64, i64, i64, i64)
88 DEF_HELPER_3(fnmsub, i64, i64, i64, i64)
89 DEF_HELPER_1(fabs, i64, i64)
90 DEF_HELPER_1(fnabs, i64, i64)
91 DEF_HELPER_1(fneg, i64, i64)
92 DEF_HELPER_1(fsqrt, i64, i64)
93 DEF_HELPER_1(fre, i64, i64)
94 DEF_HELPER_1(fres, i64, i64)
95 DEF_HELPER_1(frsqrte, i64, i64)
96 DEF_HELPER_3(fsel, i64, i64, i64, i64)
98 DEF_HELPER_1(efscfsi, i32, i32)
99 DEF_HELPER_1(efscfui, i32, i32)
100 DEF_HELPER_1(efscfuf, i32, i32)
101 DEF_HELPER_1(efscfsf, i32, i32)
102 DEF_HELPER_1(efsctsi, i32, i32)
103 DEF_HELPER_1(efsctui, i32, i32)
104 DEF_HELPER_1(efsctsiz, i32, i32)
105 DEF_HELPER_1(efsctuiz, i32, i32)
106 DEF_HELPER_1(efsctsf, i32, i32)
107 DEF_HELPER_1(efsctuf, i32, i32)
108 DEF_HELPER_1(evfscfsi, i64, i64)
109 DEF_HELPER_1(evfscfui, i64, i64)
110 DEF_HELPER_1(evfscfuf, i64, i64)
111 DEF_HELPER_1(evfscfsf, i64, i64)
112 DEF_HELPER_1(evfsctsi, i64, i64)
113 DEF_HELPER_1(evfsctui, i64, i64)
114 DEF_HELPER_1(evfsctsiz, i64, i64)
115 DEF_HELPER_1(evfsctuiz, i64, i64)
116 DEF_HELPER_1(evfsctsf, i64, i64)
117 DEF_HELPER_1(evfsctuf, i64, i64)
118 DEF_HELPER_2(efsadd, i32, i32, i32)
119 DEF_HELPER_2(efssub, i32, i32, i32)
120 DEF_HELPER_2(efsmul, i32, i32, i32)
121 DEF_HELPER_2(efsdiv, i32, i32, i32)
122 DEF_HELPER_2(evfsadd, i64, i64, i64)
123 DEF_HELPER_2(evfssub, i64, i64, i64)
124 DEF_HELPER_2(evfsmul, i64, i64, i64)
125 DEF_HELPER_2(evfsdiv, i64, i64, i64)
126 DEF_HELPER_2(efststlt, i32, i32, i32)
127 DEF_HELPER_2(efststgt, i32, i32, i32)
128 DEF_HELPER_2(efststeq, i32, i32, i32)
129 DEF_HELPER_2(efscmplt, i32, i32, i32)
130 DEF_HELPER_2(efscmpgt, i32, i32, i32)
131 DEF_HELPER_2(efscmpeq, i32, i32, i32)
132 DEF_HELPER_2(evfststlt, i32, i64, i64)
133 DEF_HELPER_2(evfststgt, i32, i64, i64)
134 DEF_HELPER_2(evfststeq, i32, i64, i64)
135 DEF_HELPER_2(evfscmplt, i32, i64, i64)
136 DEF_HELPER_2(evfscmpgt, i32, i64, i64)
137 DEF_HELPER_2(evfscmpeq, i32, i64, i64)
138 DEF_HELPER_1(efdcfsi, i64, i32)
139 DEF_HELPER_1(efdcfsid, i64, i64)
140 DEF_HELPER_1(efdcfui, i64, i32)
141 DEF_HELPER_1(efdcfuid, i64, i64)
142 DEF_HELPER_1(efdctsi, i32, i64)
143 DEF_HELPER_1(efdctui, i32, i64)
144 DEF_HELPER_1(efdctsiz, i32, i64)
145 DEF_HELPER_1(efdctsidz, i64, i64)
146 DEF_HELPER_1(efdctuiz, i32, i64)
147 DEF_HELPER_1(efdctuidz, i64, i64)
148 DEF_HELPER_1(efdcfsf, i64, i32)
149 DEF_HELPER_1(efdcfuf, i64, i32)
150 DEF_HELPER_1(efdctsf, i32, i64)
151 DEF_HELPER_1(efdctuf, i32, i64)
152 DEF_HELPER_1(efscfd, i32, i64)
153 DEF_HELPER_1(efdcfs, i64, i32)
154 DEF_HELPER_2(efdadd, i64, i64, i64)
155 DEF_HELPER_2(efdsub, i64, i64, i64)
156 DEF_HELPER_2(efdmul, i64, i64, i64)
157 DEF_HELPER_2(efddiv, i64, i64, i64)
158 DEF_HELPER_2(efdtstlt, i32, i64, i64)
159 DEF_HELPER_2(efdtstgt, i32, i64, i64)
160 DEF_HELPER_2(efdtsteq, i32, i64, i64)
161 DEF_HELPER_2(efdcmplt, i32, i64, i64)
162 DEF_HELPER_2(efdcmpgt, i32, i64, i64)
163 DEF_HELPER_2(efdcmpeq, i32, i64, i64)
165 #if !defined(CONFIG_USER_ONLY)
166 DEF_HELPER_1(4xx_tlbre_hi, tl, tl)
167 DEF_HELPER_1(4xx_tlbre_lo, tl, tl)
168 DEF_HELPER_2(4xx_tlbwe_hi, void, tl, tl)
169 DEF_HELPER_2(4xx_tlbwe_lo, void, tl, tl)
170 DEF_HELPER_1(4xx_tlbsx, tl, tl)
171 DEF_HELPER_2(440_tlbre, tl, i32, tl)
172 DEF_HELPER_3(440_tlbwe, void, i32, tl, tl)
173 DEF_HELPER_1(440_tlbsx, tl, tl)
174 DEF_HELPER_1(6xx_tlbd, void, tl)
175 DEF_HELPER_1(6xx_tlbi, void, tl)
176 DEF_HELPER_1(74xx_tlbd, void, tl)
177 DEF_HELPER_1(74xx_tlbi, void, tl)
178 DEF_HELPER_0(tlbia, void)
179 DEF_HELPER_1(tlbie, void, tl)
180 #if defined(TARGET_PPC64)
181 DEF_HELPER_1(load_slb, tl, tl)
182 DEF_HELPER_2(store_slb, void, tl, tl)
183 DEF_HELPER_0(slbia, void)
184 DEF_HELPER_1(slbie, void, tl)
185 #endif
186 DEF_HELPER_1(load_sr, tl, tl);
187 DEF_HELPER_2(store_sr, void, tl, tl)
189 DEF_HELPER_1(602_mfrom, tl, tl)
190 #endif
192 DEF_HELPER_3(dlmzb, tl, tl, tl, i32)
193 DEF_HELPER_1(clcs, tl, i32)
194 #if !defined(CONFIG_USER_ONLY)
195 DEF_HELPER_1(rac, tl, tl)
196 #endif
197 DEF_HELPER_2(div, tl, tl, tl)
198 DEF_HELPER_2(divo, tl, tl, tl)
199 DEF_HELPER_2(divs, tl, tl, tl)
200 DEF_HELPER_2(divso, tl, tl, tl)
202 DEF_HELPER_1(load_dcr, tl, tl);
203 DEF_HELPER_2(store_dcr, void, tl, tl)
205 DEF_HELPER_1(load_dump_spr, void, i32)
206 DEF_HELPER_1(store_dump_spr, void, i32)
207 DEF_HELPER_0(load_tbl, tl)
208 DEF_HELPER_0(load_tbu, tl)
209 DEF_HELPER_0(load_atbl, tl)
210 DEF_HELPER_0(load_atbu, tl)
211 DEF_HELPER_0(load_601_rtcl, tl)
212 DEF_HELPER_0(load_601_rtcu, tl)
213 #if !defined(CONFIG_USER_ONLY)
214 #if defined(TARGET_PPC64)
215 DEF_HELPER_1(store_asr, void, tl)
216 #endif
217 DEF_HELPER_1(store_sdr1, void, tl)
218 DEF_HELPER_1(store_tbl, void, tl)
219 DEF_HELPER_1(store_tbu, void, tl)
220 DEF_HELPER_1(store_atbl, void, tl)
221 DEF_HELPER_1(store_atbu, void, tl)
222 DEF_HELPER_1(store_601_rtcl, void, tl)
223 DEF_HELPER_1(store_601_rtcu, void, tl)
224 DEF_HELPER_0(load_decr, tl)
225 DEF_HELPER_1(store_decr, void, tl)
226 DEF_HELPER_1(store_hid0_601, void, tl)
227 DEF_HELPER_2(store_403_pbr, void, i32, tl)
228 DEF_HELPER_0(load_40x_pit, tl)
229 DEF_HELPER_1(store_40x_pit, void, tl)
230 DEF_HELPER_1(store_40x_dbcr0, void, tl)
231 DEF_HELPER_1(store_40x_sler, void, tl)
232 DEF_HELPER_1(store_booke_tcr, void, tl)
233 DEF_HELPER_1(store_booke_tsr, void, tl)
234 DEF_HELPER_2(store_ibatl, void, i32, tl)
235 DEF_HELPER_2(store_ibatu, void, i32, tl)
236 DEF_HELPER_2(store_dbatl, void, i32, tl)
237 DEF_HELPER_2(store_dbatu, void, i32, tl)
238 DEF_HELPER_2(store_601_batl, void, i32, tl)
239 DEF_HELPER_2(store_601_batu, void, i32, tl)
240 #endif
242 #include "def-helper.h"