Revision d9ba4830 target-arm/helpers.h
b/target-arm/helpers.h | ||
---|---|---|
1 | 1 |
#define DEF_HELPER(name, ret, args) ret glue(helper_,name) args; |
2 | 2 |
|
3 | 3 |
#ifdef GEN_HELPER |
4 |
#define DEF_HELPER_0_0(name, ret, args) \ |
|
5 |
DEF_HELPER(name, ret, args) \ |
|
6 |
static inline void gen_helper_##name(void) \ |
|
7 |
{ \ |
|
8 |
tcg_gen_helper_0_0(helper_##name); \ |
|
9 |
} |
|
10 |
#define DEF_HELPER_0_1(name, ret, args) \ |
|
11 |
DEF_HELPER(name, ret, args) \ |
|
12 |
static inline void gen_helper_##name(TCGv arg1) \ |
|
13 |
{ \ |
|
14 |
tcg_gen_helper_0_1(helper_##name, arg1); \ |
|
15 |
} |
|
16 |
#define DEF_HELPER_0_2(name, ret, args) \ |
|
17 |
DEF_HELPER(name, ret, args) \ |
|
18 |
static inline void gen_helper_##name(TCGv arg1, TCGv arg2) \ |
|
19 |
{ \ |
|
20 |
tcg_gen_helper_0_2(helper_##name, arg1, arg2); \ |
|
21 |
} |
|
22 |
#define DEF_HELPER_1_0(name, ret, args) \ |
|
23 |
DEF_HELPER(name, ret, args) \ |
|
24 |
static inline void gen_helper_##name(TCGv ret) \ |
|
25 |
{ \ |
|
26 |
tcg_gen_helper_1_0(helper_##name, ret); \ |
|
27 |
} |
|
4 | 28 |
#define DEF_HELPER_1_1(name, ret, args) \ |
5 | 29 |
DEF_HELPER(name, ret, args) \ |
6 | 30 |
static inline void gen_helper_##name(TCGv ret, TCGv arg1) \ |
... | ... | |
21 | 45 |
tcg_gen_helper_1_3(helper_##name, ret, arg1, arg2, arg3); \ |
22 | 46 |
} |
23 | 47 |
#else /* !GEN_HELPER */ |
48 |
#define DEF_HELPER_0_0 DEF_HELPER |
|
49 |
#define DEF_HELPER_0_1 DEF_HELPER |
|
50 |
#define DEF_HELPER_0_2 DEF_HELPER |
|
51 |
#define DEF_HELPER_1_0 DEF_HELPER |
|
24 | 52 |
#define DEF_HELPER_1_1 DEF_HELPER |
25 | 53 |
#define DEF_HELPER_1_2 DEF_HELPER |
26 | 54 |
#define DEF_HELPER_1_3 DEF_HELPER |
... | ... | |
74 | 102 |
DEF_HELPER_1_2(usad8, uint32_t, (uint32_t, uint32_t)) |
75 | 103 |
|
76 | 104 |
DEF_HELPER_1_3(sel_flags, uint32_t, (uint32_t, uint32_t, uint32_t)) |
105 |
DEF_HELPER_0_1(exception, void, (uint32_t)) |
|
106 |
DEF_HELPER_0_0(wfi, void, (void)) |
|
107 |
|
|
108 |
DEF_HELPER_0_2(cpsr_write, void, (uint32_t, uint32_t)) |
|
109 |
DEF_HELPER_1_0(cpsr_read, uint32_t, (void)) |
|
77 | 110 |
|
78 | 111 |
#undef DEF_HELPER |
112 |
#undef DEF_HELPER_0_0 |
|
113 |
#undef DEF_HELPER_0_1 |
|
114 |
#undef DEF_HELPER_0_2 |
|
115 |
#undef DEF_HELPER_1_0 |
|
79 | 116 |
#undef DEF_HELPER_1_1 |
80 | 117 |
#undef DEF_HELPER_1_2 |
118 |
#undef DEF_HELPER_1_3 |
|
81 | 119 |
#undef GEN_HELPER |
Also available in: Unified diff