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 void TCG_HELPER_PROTO
helper_std_i386(target_ulong addr
, int mem_idx
);
49 void TCG_HELPER_PROTO
helper_stdf(target_ulong addr
, int mem_idx
);
50 void TCG_HELPER_PROTO
helper_lddf(target_ulong addr
, int mem_idx
);
51 #if defined(CONFIG_USER_ONLY)
52 void TCG_HELPER_PROTO
helper_ldqf(target_ulong addr
);
53 void TCG_HELPER_PROTO
helper_stqf(target_ulong addr
);
55 uint64_t TCG_HELPER_PROTO
helper_ld_asi(target_ulong addr
, int asi
,
57 void TCG_HELPER_PROTO
helper_st_asi(target_ulong addr
, uint64_t val
, int asi
,
59 void TCG_HELPER_PROTO
helper_ldfsr(void);
60 void TCG_HELPER_PROTO
helper_stfsr(void);
61 void TCG_HELPER_PROTO
helper_check_ieee_exceptions(void);
62 void TCG_HELPER_PROTO
helper_clear_float_exceptions(void);
63 void TCG_HELPER_PROTO
helper_fabss(void);
64 void TCG_HELPER_PROTO
helper_fsqrts(void);
65 void TCG_HELPER_PROTO
helper_fsqrtd(void);
66 void TCG_HELPER_PROTO
helper_fcmps(void);
67 void TCG_HELPER_PROTO
helper_fcmpd(void);
68 void TCG_HELPER_PROTO
helper_fcmpes(void);
69 void TCG_HELPER_PROTO
helper_fcmped(void);
70 #if defined(CONFIG_USER_ONLY)
71 void TCG_HELPER_PROTO
helper_fsqrtq(void);
72 void TCG_HELPER_PROTO
helper_fcmpq(void);
73 void TCG_HELPER_PROTO
helper_fcmpeq(void);
76 void TCG_HELPER_PROTO
helper_fabsd(void);
77 void TCG_HELPER_PROTO
helper_fcmps_fcc1(void);
78 void TCG_HELPER_PROTO
helper_fcmpd_fcc1(void);
79 void TCG_HELPER_PROTO
helper_fcmps_fcc2(void);
80 void TCG_HELPER_PROTO
helper_fcmpd_fcc2(void);
81 void TCG_HELPER_PROTO
helper_fcmps_fcc3(void);
82 void TCG_HELPER_PROTO
helper_fcmpd_fcc3(void);
83 void TCG_HELPER_PROTO
helper_fcmpes_fcc1(void);
84 void TCG_HELPER_PROTO
helper_fcmped_fcc1(void);
85 void TCG_HELPER_PROTO
helper_fcmpes_fcc2(void);
86 void TCG_HELPER_PROTO
helper_fcmped_fcc2(void);
87 void TCG_HELPER_PROTO
helper_fcmpes_fcc3(void);
88 void TCG_HELPER_PROTO
helper_fcmped_fcc3(void);
89 #if defined(CONFIG_USER_ONLY)
90 void TCG_HELPER_PROTO
helper_fabsq(void);
91 void TCG_HELPER_PROTO
helper_fcmpq_fcc1(void);
92 void TCG_HELPER_PROTO
helper_fcmpq_fcc2(void);
93 void TCG_HELPER_PROTO
helper_fcmpq_fcc3(void);
94 void TCG_HELPER_PROTO
helper_fcmpeq_fcc1(void);
95 void TCG_HELPER_PROTO
helper_fcmpeq_fcc2(void);
96 void TCG_HELPER_PROTO
helper_fcmpeq_fcc3(void);
99 void TCG_HELPER_PROTO
raise_exception(int tt
);
100 #define F_HELPER_0_0(name) void TCG_HELPER_PROTO helper_f ## name(void)
101 #if defined(CONFIG_USER_ONLY)
102 #define F_HELPER_SDQ_0_0(name) \
103 F_HELPER_0_0(name ## s); \
104 F_HELPER_0_0(name ## d); \
105 F_HELPER_0_0(name ## q)
107 #define F_HELPER_SDQ_0_0(name) \
108 F_HELPER_0_0(name ## s); \
109 F_HELPER_0_0(name ## d);
112 F_HELPER_SDQ_0_0(add
);
113 F_HELPER_SDQ_0_0(sub
);
114 F_HELPER_SDQ_0_0(mul
);
115 F_HELPER_SDQ_0_0(div
);
120 F_HELPER_SDQ_0_0(neg
);
121 F_HELPER_SDQ_0_0(ito
);
122 #ifdef TARGET_SPARC64
123 F_HELPER_SDQ_0_0(xto
);
127 #if defined(CONFIG_USER_ONLY)
135 #if defined(CONFIG_USER_ONLY)
138 #ifdef TARGET_SPARC64
141 #if defined(CONFIG_USER_ONLY)
144 F_HELPER_0_0(aligndata
);
145 void TCG_HELPER_PROTO
helper_movl_FT0_0(void);
146 void TCG_HELPER_PROTO
helper_movl_DT0_0(void);
147 void TCG_HELPER_PROTO
helper_movl_FT0_1(void);
148 void TCG_HELPER_PROTO
helper_movl_DT0_1(void);
160 F_HELPER_0_0(ornots
);
161 F_HELPER_0_0(andnot
);
162 F_HELPER_0_0(andnots
);
167 F_HELPER_0_0(pmerge
);
168 F_HELPER_0_0(mul8x16
);
169 F_HELPER_0_0(mul8x16al
);
170 F_HELPER_0_0(mul8x16au
);
171 F_HELPER_0_0(mul8sux16
);
172 F_HELPER_0_0(mul8ulx16
);
173 F_HELPER_0_0(muld8sux16
);
174 F_HELPER_0_0(muld8ulx16
);
175 F_HELPER_0_0(expand
);
176 #define VIS_HELPER(name) \
177 F_HELPER_0_0(name##16); \
178 F_HELPER_0_0(name##16s); \
179 F_HELPER_0_0(name##32); \
180 F_HELPER_0_0(name##32s)
184 #define VIS_CMPHELPER(name) \
185 F_HELPER_0_0(name##16); \
186 F_HELPER_0_0(name##32)
187 VIS_CMPHELPER(cmpgt
);
188 VIS_CMPHELPER(cmpeq
);
189 VIS_CMPHELPER(cmple
);
190 VIS_CMPHELPER(cmpne
);
193 #undef F_HELPER_SDQ_0_0