1
2
3
4#ifndef HELPER_PROTO_H
5#define HELPER_PROTO_H
6
7#include "exec/helper-head.h"
8
9
10
11
12
13
14
15
16
17
18
19
20#define DEF_HELPER_ATTR __attribute__((noinline))
21
22#define DEF_HELPER_FLAGS_0(name, flags, ret) \
23dh_ctype(ret) HELPER(name) (void) DEF_HELPER_ATTR;
24
25#define DEF_HELPER_FLAGS_1(name, flags, ret, t1) \
26dh_ctype(ret) HELPER(name) (dh_ctype(t1)) DEF_HELPER_ATTR;
27
28#define DEF_HELPER_FLAGS_2(name, flags, ret, t1, t2) \
29dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2)) DEF_HELPER_ATTR;
30
31#define DEF_HELPER_FLAGS_3(name, flags, ret, t1, t2, t3) \
32dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), \
33 dh_ctype(t3)) DEF_HELPER_ATTR;
34
35#define DEF_HELPER_FLAGS_4(name, flags, ret, t1, t2, t3, t4) \
36dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3), \
37 dh_ctype(t4)) DEF_HELPER_ATTR;
38
39#define DEF_HELPER_FLAGS_5(name, flags, ret, t1, t2, t3, t4, t5) \
40dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3), \
41 dh_ctype(t4), dh_ctype(t5)) DEF_HELPER_ATTR;
42
43#define DEF_HELPER_FLAGS_6(name, flags, ret, t1, t2, t3, t4, t5, t6) \
44dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3), \
45 dh_ctype(t4), dh_ctype(t5), \
46 dh_ctype(t6)) DEF_HELPER_ATTR;
47
48#define DEF_HELPER_FLAGS_7(name, flags, ret, t1, t2, t3, t4, t5, t6, t7) \
49dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3), \
50 dh_ctype(t4), dh_ctype(t5), dh_ctype(t6), \
51 dh_ctype(t7)) DEF_HELPER_ATTR;
52
53#define IN_HELPER_PROTO
54
55#include "helper.h"
56#include "accel/tcg/tcg-runtime.h"
57#include "accel/tcg/plugin-helpers.h"
58
59#undef IN_HELPER_PROTO
60
61#undef DEF_HELPER_FLAGS_0
62#undef DEF_HELPER_FLAGS_1
63#undef DEF_HELPER_FLAGS_2
64#undef DEF_HELPER_FLAGS_3
65#undef DEF_HELPER_FLAGS_4
66#undef DEF_HELPER_FLAGS_5
67#undef DEF_HELPER_FLAGS_6
68#undef DEF_HELPER_FLAGS_7
69#undef DEF_HELPER_ATTR
70
71#endif
72