1 #define TCG_HELPER_PROTO
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);
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,
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,
25 void TCG_HELPER_PROTO helper_stf_asi(target_ulong addr, int asi, int size,
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);
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,
50 void TCG_HELPER_PROTO helper_st_asi(target_ulong addr, uint64_t val, int asi,
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);
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);
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)
100 #define F_HELPER_SDQ_0_0(name) \
101 F_HELPER_0_0(name ## s); \
102 F_HELPER_0_0(name ## d);
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);
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);
120 #if defined(CONFIG_USER_ONLY)
128 #if defined(CONFIG_USER_ONLY)
131 #ifdef TARGET_SPARC64
134 #if defined(CONFIG_USER_ONLY)
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);
153 F_HELPER_0_0(ornots);
154 F_HELPER_0_0(andnot);
155 F_HELPER_0_0(andnots);
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)
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);
186 #undef F_HELPER_SDQ_0_0