root / target-sparc / helper.h @ 2b29924f
History | View | Annotate | Download (6.7 kB)
1 |
#define TCG_HELPER_PROTO
|
---|---|
2 |
|
3 |
#ifndef TARGET_SPARC64
|
4 |
void TCG_HELPER_PROTO helper_rett(void); |
5 |
void TCG_HELPER_PROTO helper_wrpsr(target_ulong new_psr);
|
6 |
target_ulong TCG_HELPER_PROTO helper_rdpsr(void);
|
7 |
#else
|
8 |
void TCG_HELPER_PROTO helper_wrpstate(target_ulong new_state);
|
9 |
void TCG_HELPER_PROTO helper_done(void); |
10 |
void TCG_HELPER_PROTO helper_retry(void); |
11 |
void TCG_HELPER_PROTO helper_flushw(void); |
12 |
void TCG_HELPER_PROTO helper_saved(void); |
13 |
void TCG_HELPER_PROTO helper_restored(void); |
14 |
target_ulong TCG_HELPER_PROTO helper_rdccr(void);
|
15 |
void TCG_HELPER_PROTO helper_wrccr(target_ulong new_ccr);
|
16 |
target_ulong TCG_HELPER_PROTO helper_rdcwp(void);
|
17 |
void TCG_HELPER_PROTO helper_wrcwp(target_ulong new_cwp);
|
18 |
target_ulong TCG_HELPER_PROTO helper_array8(target_ulong pixel_addr, |
19 |
target_ulong cubesize); |
20 |
target_ulong TCG_HELPER_PROTO helper_alignaddr(target_ulong addr, |
21 |
target_ulong offset); |
22 |
target_ulong TCG_HELPER_PROTO helper_popc(target_ulong val); |
23 |
void TCG_HELPER_PROTO helper_ldf_asi(target_ulong addr, int asi, int size, |
24 |
int rd);
|
25 |
void TCG_HELPER_PROTO helper_stf_asi(target_ulong addr, int asi, int size, |
26 |
int rd);
|
27 |
target_ulong TCG_HELPER_PROTO |
28 |
helper_cas_asi(target_ulong addr, target_ulong val1, |
29 |
target_ulong val2, uint32_t asi); |
30 |
target_ulong TCG_HELPER_PROTO |
31 |
helper_casx_asi(target_ulong addr, target_ulong val1, |
32 |
target_ulong val2, uint32_t asi); |
33 |
void TCG_HELPER_PROTO helper_tick_set_count(void *opaque, uint64_t count); |
34 |
uint64_t TCG_HELPER_PROTO helper_tick_get_count(void *opaque);
|
35 |
void TCG_HELPER_PROTO helper_tick_set_limit(void *opaque, uint64_t limit); |
36 |
#endif
|
37 |
void TCG_HELPER_PROTO helper_trap(target_ulong nb_trap);
|
38 |
void TCG_HELPER_PROTO helper_trapcc(target_ulong nb_trap,
|
39 |
target_ulong do_trap); |
40 |
void TCG_HELPER_PROTO helper_check_align(target_ulong addr, uint32_t align);
|
41 |
void TCG_HELPER_PROTO helper_debug(void); |
42 |
void TCG_HELPER_PROTO helper_save(void); |
43 |
void TCG_HELPER_PROTO helper_restore(void); |
44 |
void TCG_HELPER_PROTO helper_flush(target_ulong addr);
|
45 |
target_ulong TCG_HELPER_PROTO helper_udiv(target_ulong a, target_ulong b); |
46 |
target_ulong TCG_HELPER_PROTO helper_sdiv(target_ulong a, target_ulong b); |
47 |
uint64_t TCG_HELPER_PROTO helper_pack64(target_ulong high, target_ulong low); |
48 |
uint64_t TCG_HELPER_PROTO helper_ld_asi(target_ulong addr, int asi,
|
49 |
int size, int sign); |
50 |
void TCG_HELPER_PROTO helper_st_asi(target_ulong addr, uint64_t val, int asi, |
51 |
int size);
|
52 |
void TCG_HELPER_PROTO helper_ldfsr(void); |
53 |
void TCG_HELPER_PROTO helper_stfsr(void); |
54 |
void TCG_HELPER_PROTO helper_check_ieee_exceptions(void); |
55 |
void TCG_HELPER_PROTO helper_clear_float_exceptions(void); |
56 |
void TCG_HELPER_PROTO helper_fabss(void); |
57 |
void TCG_HELPER_PROTO helper_fsqrts(void); |
58 |
void TCG_HELPER_PROTO helper_fsqrtd(void); |
59 |
void TCG_HELPER_PROTO helper_fcmps(void); |
60 |
void TCG_HELPER_PROTO helper_fcmpd(void); |
61 |
void TCG_HELPER_PROTO helper_fcmpes(void); |
62 |
void TCG_HELPER_PROTO helper_fcmped(void); |
63 |
#if defined(CONFIG_USER_ONLY)
|
64 |
void TCG_HELPER_PROTO helper_fsqrtq(void); |
65 |
void TCG_HELPER_PROTO helper_fcmpq(void); |
66 |
void TCG_HELPER_PROTO helper_fcmpeq(void); |
67 |
#endif
|
68 |
#ifdef TARGET_SPARC64
|
69 |
void TCG_HELPER_PROTO helper_fabsd(void); |
70 |
void TCG_HELPER_PROTO helper_fcmps_fcc1(void); |
71 |
void TCG_HELPER_PROTO helper_fcmpd_fcc1(void); |
72 |
void TCG_HELPER_PROTO helper_fcmps_fcc2(void); |
73 |
void TCG_HELPER_PROTO helper_fcmpd_fcc2(void); |
74 |
void TCG_HELPER_PROTO helper_fcmps_fcc3(void); |
75 |
void TCG_HELPER_PROTO helper_fcmpd_fcc3(void); |
76 |
void TCG_HELPER_PROTO helper_fcmpes_fcc1(void); |
77 |
void TCG_HELPER_PROTO helper_fcmped_fcc1(void); |
78 |
void TCG_HELPER_PROTO helper_fcmpes_fcc2(void); |
79 |
void TCG_HELPER_PROTO helper_fcmped_fcc2(void); |
80 |
void TCG_HELPER_PROTO helper_fcmpes_fcc3(void); |
81 |
void TCG_HELPER_PROTO helper_fcmped_fcc3(void); |
82 |
#if defined(CONFIG_USER_ONLY)
|
83 |
void TCG_HELPER_PROTO helper_fabsq(void); |
84 |
void TCG_HELPER_PROTO helper_fcmpq_fcc1(void); |
85 |
void TCG_HELPER_PROTO helper_fcmpq_fcc2(void); |
86 |
void TCG_HELPER_PROTO helper_fcmpq_fcc3(void); |
87 |
void TCG_HELPER_PROTO helper_fcmpeq_fcc1(void); |
88 |
void TCG_HELPER_PROTO helper_fcmpeq_fcc2(void); |
89 |
void TCG_HELPER_PROTO helper_fcmpeq_fcc3(void); |
90 |
#endif
|
91 |
#endif
|
92 |
void TCG_HELPER_PROTO raise_exception(int tt); |
93 |
#define F_HELPER_0_0(name) void TCG_HELPER_PROTO helper_f ## name(void) |
94 |
#if defined(CONFIG_USER_ONLY)
|
95 |
#define F_HELPER_SDQ_0_0(name) \
|
96 |
F_HELPER_0_0(name ## s); \ |
97 |
F_HELPER_0_0(name ## d); \ |
98 |
F_HELPER_0_0(name ## q) |
99 |
#else
|
100 |
#define F_HELPER_SDQ_0_0(name) \
|
101 |
F_HELPER_0_0(name ## s); \ |
102 |
F_HELPER_0_0(name ## d); |
103 |
#endif
|
104 |
|
105 |
F_HELPER_SDQ_0_0(add); |
106 |
F_HELPER_SDQ_0_0(sub); |
107 |
F_HELPER_SDQ_0_0(mul); |
108 |
F_HELPER_SDQ_0_0(div); |
109 |
|
110 |
F_HELPER_0_0(smuld); |
111 |
F_HELPER_0_0(dmulq); |
112 |
|
113 |
F_HELPER_SDQ_0_0(neg); |
114 |
F_HELPER_SDQ_0_0(ito); |
115 |
#ifdef TARGET_SPARC64
|
116 |
F_HELPER_SDQ_0_0(xto); |
117 |
#endif
|
118 |
F_HELPER_0_0(dtos); |
119 |
F_HELPER_0_0(stod); |
120 |
#if defined(CONFIG_USER_ONLY)
|
121 |
F_HELPER_0_0(qtos); |
122 |
F_HELPER_0_0(stoq); |
123 |
F_HELPER_0_0(qtod); |
124 |
F_HELPER_0_0(dtoq); |
125 |
#endif
|
126 |
F_HELPER_0_0(stoi); |
127 |
F_HELPER_0_0(dtoi); |
128 |
#if defined(CONFIG_USER_ONLY)
|
129 |
F_HELPER_0_0(qtoi); |
130 |
#endif
|
131 |
#ifdef TARGET_SPARC64
|
132 |
F_HELPER_0_0(stox); |
133 |
F_HELPER_0_0(dtox); |
134 |
#if defined(CONFIG_USER_ONLY)
|
135 |
F_HELPER_0_0(qtox); |
136 |
#endif
|
137 |
F_HELPER_0_0(aligndata); |
138 |
void TCG_HELPER_PROTO helper_movl_FT0_0(void); |
139 |
void TCG_HELPER_PROTO helper_movl_DT0_0(void); |
140 |
void TCG_HELPER_PROTO helper_movl_FT0_1(void); |
141 |
void TCG_HELPER_PROTO helper_movl_DT0_1(void); |
142 |
F_HELPER_0_0(not); |
143 |
F_HELPER_0_0(nots); |
144 |
F_HELPER_0_0(nor); |
145 |
F_HELPER_0_0(nors); |
146 |
F_HELPER_0_0(or); |
147 |
F_HELPER_0_0(ors); |
148 |
F_HELPER_0_0(xor); |
149 |
F_HELPER_0_0(xors); |
150 |
F_HELPER_0_0(and); |
151 |
F_HELPER_0_0(ands); |
152 |
F_HELPER_0_0(ornot); |
153 |
F_HELPER_0_0(ornots); |
154 |
F_HELPER_0_0(andnot); |
155 |
F_HELPER_0_0(andnots); |
156 |
F_HELPER_0_0(nand); |
157 |
F_HELPER_0_0(nands); |
158 |
F_HELPER_0_0(xnor); |
159 |
F_HELPER_0_0(xnors); |
160 |
F_HELPER_0_0(pmerge); |
161 |
F_HELPER_0_0(mul8x16); |
162 |
F_HELPER_0_0(mul8x16al); |
163 |
F_HELPER_0_0(mul8x16au); |
164 |
F_HELPER_0_0(mul8sux16); |
165 |
F_HELPER_0_0(mul8ulx16); |
166 |
F_HELPER_0_0(muld8sux16); |
167 |
F_HELPER_0_0(muld8ulx16); |
168 |
F_HELPER_0_0(expand); |
169 |
#define VIS_HELPER(name) \
|
170 |
F_HELPER_0_0(name##16); \ |
171 |
F_HELPER_0_0(name##16s); \ |
172 |
F_HELPER_0_0(name##32); \ |
173 |
F_HELPER_0_0(name##32s) |
174 |
|
175 |
VIS_HELPER(padd); |
176 |
VIS_HELPER(psub); |
177 |
#define VIS_CMPHELPER(name) \
|
178 |
F_HELPER_0_0(name##16); \ |
179 |
F_HELPER_0_0(name##32) |
180 |
VIS_CMPHELPER(cmpgt); |
181 |
VIS_CMPHELPER(cmpeq); |
182 |
VIS_CMPHELPER(cmple); |
183 |
VIS_CMPHELPER(cmpne); |
184 |
#endif
|
185 |
#undef F_HELPER_0_0
|
186 |
#undef F_HELPER_SDQ_0_0
|
187 |
#undef VIS_HELPER
|
188 |
#undef VIS_CMPHELPER
|