Revision 8f8e3aa4 target-arm/helpers.h
b/target-arm/helpers.h | ||
---|---|---|
51 | 51 |
{ \ |
52 | 52 |
tcg_gen_helper_1_3(helper_##name, ret, arg1, arg2, arg3); \ |
53 | 53 |
} |
54 |
#define DEF_HELPER_1_4(name, ret, args) \ |
|
55 |
DEF_HELPER(name, ret, args) \ |
|
56 |
static inline void gen_helper_##name(TCGv ret, \ |
|
57 |
TCGv arg1, TCGv arg2, TCGv arg3, TCGv arg4) \ |
|
58 |
{ \ |
|
59 |
tcg_gen_helper_1_4(helper_##name, ret, arg1, arg2, arg3, arg4); \ |
|
60 |
} |
|
54 | 61 |
#else /* !GEN_HELPER */ |
55 | 62 |
#define DEF_HELPER_0_0 DEF_HELPER |
56 | 63 |
#define DEF_HELPER_0_1 DEF_HELPER |
... | ... | |
60 | 67 |
#define DEF_HELPER_1_1 DEF_HELPER |
61 | 68 |
#define DEF_HELPER_1_2 DEF_HELPER |
62 | 69 |
#define DEF_HELPER_1_3 DEF_HELPER |
70 |
#define DEF_HELPER_1_4 DEF_HELPER |
|
63 | 71 |
#define HELPER(x) glue(helper_,x) |
64 | 72 |
#endif |
65 | 73 |
|
... | ... | |
130 | 138 |
DEF_HELPER_1_2(get_r13_banked, uint32_t, (CPUState *, uint32_t)) |
131 | 139 |
DEF_HELPER_0_3(set_r13_banked, void, (CPUState *, uint32_t, uint32_t)) |
132 | 140 |
|
141 |
DEF_HELPER_0_2(mark_exclusive, void, (CPUState *, uint32_t)) |
|
142 |
DEF_HELPER_1_2(test_exclusive, uint32_t, (CPUState *, uint32_t)) |
|
143 |
DEF_HELPER_0_1(clrex, void, (CPUState *)) |
|
144 |
|
|
133 | 145 |
DEF_HELPER_1_1(get_user_reg, uint32_t, (uint32_t)) |
134 | 146 |
DEF_HELPER_0_2(set_user_reg, void, (uint32_t, uint32_t)) |
135 | 147 |
|
... | ... | |
195 | 207 |
DEF_HELPER_1_2(rsqrte_f32, float32, (float32, CPUState *)) |
196 | 208 |
DEF_HELPER_1_2(recpe_u32, uint32_t, (uint32_t, CPUState *)) |
197 | 209 |
DEF_HELPER_1_2(rsqrte_u32, uint32_t, (uint32_t, CPUState *)) |
210 |
DEF_HELPER_1_4(neon_tbl, uint32_t, (uint32_t, uint32_t, uint32_t, uint32_t)) |
|
198 | 211 |
|
199 | 212 |
DEF_HELPER_1_2(add_cc, uint32_t, (uint32_t, uint32_t)) |
200 | 213 |
DEF_HELPER_1_2(adc_cc, uint32_t, (uint32_t, uint32_t)) |
Also available in: Unified diff