target-ppc: convert mfrom instruction to TCG
[qemu] / target-ppc / helper.h
1 #include "def-helper.h"
2
3 DEF_HELPER_2(raise_exception_err, void, i32, i32)
4 DEF_HELPER_0(raise_debug, void)
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
10 DEF_HELPER_2(fcmpo, i32, i64, i64)
11 DEF_HELPER_2(fcmpu, i32, i64, i64)
12
13 DEF_HELPER_0(load_cr, tl)
14 DEF_HELPER_2(store_cr, void, tl, i32)
15
16 #if defined(TARGET_PPC64)
17 DEF_HELPER_2(mulhd, i64, i64, i64)
18 DEF_HELPER_2(mulhdu, i64, i64, i64)
19 DEF_HELPER_2(mulldo, i64, i64, i64)
20 #endif
21
22 DEF_HELPER_1(cntlzw, tl, tl)
23 DEF_HELPER_1(popcntb, tl, tl)
24 DEF_HELPER_2(sraw, tl, tl, tl)
25 #if defined(TARGET_PPC64)
26 DEF_HELPER_1(cntlzd, tl, tl)
27 DEF_HELPER_1(popcntb_64, tl, tl)
28 DEF_HELPER_2(srad, tl, tl, tl)
29 #endif
30
31 DEF_HELPER_1(cntlsw32, i32, i32)
32 DEF_HELPER_1(cntlzw32, i32, i32)
33 DEF_HELPER_2(brinc, tl, tl, tl)
34
35 DEF_HELPER_0(float_check_status, void)
36 #ifdef CONFIG_SOFTFLOAT
37 DEF_HELPER_0(reset_fpstatus, void)
38 #endif
39 DEF_HELPER_2(compute_fprf, i32, i64, i32)
40 DEF_HELPER_2(store_fpscr, void, i64, i32)
41 DEF_HELPER_1(fpscr_setbit, void, i32)
42 DEF_HELPER_1(float64_to_float32, i32, i64)
43 DEF_HELPER_1(float32_to_float64, i64, i32)
44
45 DEF_HELPER_1(fctiw, i64, i64)
46 DEF_HELPER_1(fctiwz, i64, i64)
47 #if defined(TARGET_PPC64)
48 DEF_HELPER_1(fcfid, i64, i64)
49 DEF_HELPER_1(fctid, i64, i64)
50 DEF_HELPER_1(fctidz, i64, i64)
51 #endif
52 DEF_HELPER_1(frsp, i64, i64)
53 DEF_HELPER_1(frin, i64, i64)
54 DEF_HELPER_1(friz, i64, i64)
55 DEF_HELPER_1(frip, i64, i64)
56 DEF_HELPER_1(frim, i64, i64)
57
58 DEF_HELPER_2(fadd, i64, i64, i64)
59 DEF_HELPER_2(fsub, i64, i64, i64)
60 DEF_HELPER_2(fmul, i64, i64, i64)
61 DEF_HELPER_2(fdiv, i64, i64, i64)
62 DEF_HELPER_3(fmadd, i64, i64, i64, i64)
63 DEF_HELPER_3(fmsub, i64, i64, i64, i64)
64 DEF_HELPER_3(fnmadd, i64, i64, i64, i64)
65 DEF_HELPER_3(fnmsub, i64, i64, i64, i64)
66 DEF_HELPER_1(fabs, i64, i64)
67 DEF_HELPER_1(fnabs, i64, i64)
68 DEF_HELPER_1(fneg, i64, i64)
69 DEF_HELPER_1(fsqrt, i64, i64)
70 DEF_HELPER_1(fre, i64, i64)
71 DEF_HELPER_1(fres, i64, i64)
72 DEF_HELPER_1(frsqrte, i64, i64)
73 DEF_HELPER_3(fsel, i64, i64, i64, i64)
74
75 DEF_HELPER_1(efscfsi, i32, i32)
76 DEF_HELPER_1(efscfui, i32, i32)
77 DEF_HELPER_1(efscfuf, i32, i32)
78 DEF_HELPER_1(efscfsf, i32, i32)
79 DEF_HELPER_1(efsctsi, i32, i32)
80 DEF_HELPER_1(efsctui, i32, i32)
81 DEF_HELPER_1(efsctsiz, i32, i32)
82 DEF_HELPER_1(efsctuiz, i32, i32)
83 DEF_HELPER_1(efsctsf, i32, i32)
84 DEF_HELPER_1(efsctuf, i32, i32)
85 DEF_HELPER_1(evfscfsi, i64, i64)
86 DEF_HELPER_1(evfscfui, i64, i64)
87 DEF_HELPER_1(evfscfuf, i64, i64)
88 DEF_HELPER_1(evfscfsf, i64, i64)
89 DEF_HELPER_1(evfsctsi, i64, i64)
90 DEF_HELPER_1(evfsctui, i64, i64)
91 DEF_HELPER_1(evfsctsiz, i64, i64)
92 DEF_HELPER_1(evfsctuiz, i64, i64)
93 DEF_HELPER_1(evfsctsf, i64, i64)
94 DEF_HELPER_1(evfsctuf, i64, i64)
95 DEF_HELPER_2(efsadd, i32, i32, i32)
96 DEF_HELPER_2(efssub, i32, i32, i32)
97 DEF_HELPER_2(efsmul, i32, i32, i32)
98 DEF_HELPER_2(efsdiv, i32, i32, i32)
99 DEF_HELPER_2(evfsadd, i64, i64, i64)
100 DEF_HELPER_2(evfssub, i64, i64, i64)
101 DEF_HELPER_2(evfsmul, i64, i64, i64)
102 DEF_HELPER_2(evfsdiv, i64, i64, i64)
103 DEF_HELPER_2(efststlt, i32, i32, i32)
104 DEF_HELPER_2(efststgt, i32, i32, i32)
105 DEF_HELPER_2(efststeq, i32, i32, i32)
106 DEF_HELPER_2(efscmplt, i32, i32, i32)
107 DEF_HELPER_2(efscmpgt, i32, i32, i32)
108 DEF_HELPER_2(efscmpeq, i32, i32, i32)
109 DEF_HELPER_2(evfststlt, i32, i64, i64)
110 DEF_HELPER_2(evfststgt, i32, i64, i64)
111 DEF_HELPER_2(evfststeq, i32, i64, i64)
112 DEF_HELPER_2(evfscmplt, i32, i64, i64)
113 DEF_HELPER_2(evfscmpgt, i32, i64, i64)
114 DEF_HELPER_2(evfscmpeq, i32, i64, i64)
115 DEF_HELPER_1(efdcfsi, i64, i32)
116 DEF_HELPER_1(efdcfsid, i64, i64)
117 DEF_HELPER_1(efdcfui, i64, i32)
118 DEF_HELPER_1(efdcfuid, i64, i64)
119 DEF_HELPER_1(efdctsi, i32, i64)
120 DEF_HELPER_1(efdctui, i32, i64)
121 DEF_HELPER_1(efdctsiz, i32, i64)
122 DEF_HELPER_1(efdctsidz, i64, i64)
123 DEF_HELPER_1(efdctuiz, i32, i64)
124 DEF_HELPER_1(efdctuidz, i64, i64)
125 DEF_HELPER_1(efdcfsf, i64, i32)
126 DEF_HELPER_1(efdcfuf, i64, i32)
127 DEF_HELPER_1(efdctsf, i32, i64)
128 DEF_HELPER_1(efdctuf, i32, i64)
129 DEF_HELPER_1(efscfd, i32, i64)
130 DEF_HELPER_1(efdcfs, i64, i32)
131 DEF_HELPER_2(efdadd, i64, i64, i64)
132 DEF_HELPER_2(efdsub, i64, i64, i64)
133 DEF_HELPER_2(efdmul, i64, i64, i64)
134 DEF_HELPER_2(efddiv, i64, i64, i64)
135 DEF_HELPER_2(efdtstlt, i32, i64, i64)
136 DEF_HELPER_2(efdtstgt, i32, i64, i64)
137 DEF_HELPER_2(efdtsteq, i32, i64, i64)
138 DEF_HELPER_2(efdcmplt, i32, i64, i64)
139 DEF_HELPER_2(efdcmpgt, i32, i64, i64)
140 DEF_HELPER_2(efdcmpeq, i32, i64, i64)
141
142 #if !defined(CONFIG_USER_ONLY)
143 DEF_HELPER_1(load_6xx_tlbd, void, tl)
144 DEF_HELPER_1(load_6xx_tlbi, void, tl)
145 DEF_HELPER_1(load_74xx_tlbd, void, tl)
146 DEF_HELPER_1(load_74xx_tlbi, void, tl)
147
148 DEF_HELPER_1(602_mfrom, tl, tl)
149 #endif
150
151 #include "def-helper.h"