xref: /qemu/include/exec/helper-proto.h (revision 2ef6175aa76adea2ab8ce1540904a05d6f8e8eed)
1*2ef6175aSRichard Henderson /* Helper file for declaring TCG helper functions.
2*2ef6175aSRichard Henderson    This one expands prototypes for the helper functions.  */
3*2ef6175aSRichard Henderson 
4*2ef6175aSRichard Henderson #ifndef HELPER_PROTO_H
5*2ef6175aSRichard Henderson #define HELPER_PROTO_H 1
6*2ef6175aSRichard Henderson 
7*2ef6175aSRichard Henderson #include <exec/helper-head.h>
8*2ef6175aSRichard Henderson 
9*2ef6175aSRichard Henderson #define DEF_HELPER_FLAGS_0(name, flags, ret) \
10*2ef6175aSRichard Henderson dh_ctype(ret) HELPER(name) (void);
11*2ef6175aSRichard Henderson 
12*2ef6175aSRichard Henderson #define DEF_HELPER_FLAGS_1(name, flags, ret, t1) \
13*2ef6175aSRichard Henderson dh_ctype(ret) HELPER(name) (dh_ctype(t1));
14*2ef6175aSRichard Henderson 
15*2ef6175aSRichard Henderson #define DEF_HELPER_FLAGS_2(name, flags, ret, t1, t2) \
16*2ef6175aSRichard Henderson dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2));
17*2ef6175aSRichard Henderson 
18*2ef6175aSRichard Henderson #define DEF_HELPER_FLAGS_3(name, flags, ret, t1, t2, t3) \
19*2ef6175aSRichard Henderson dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3));
20*2ef6175aSRichard Henderson 
21*2ef6175aSRichard Henderson #define DEF_HELPER_FLAGS_4(name, flags, ret, t1, t2, t3, t4) \
22*2ef6175aSRichard Henderson dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3), \
23*2ef6175aSRichard Henderson                                    dh_ctype(t4));
24*2ef6175aSRichard Henderson 
25*2ef6175aSRichard Henderson #define DEF_HELPER_FLAGS_5(name, flags, ret, t1, t2, t3, t4, t5) \
26*2ef6175aSRichard Henderson dh_ctype(ret) HELPER(name) (dh_ctype(t1), dh_ctype(t2), dh_ctype(t3), \
27*2ef6175aSRichard Henderson                             dh_ctype(t4), dh_ctype(t5));
28*2ef6175aSRichard Henderson 
29*2ef6175aSRichard Henderson #include "helper.h"
30*2ef6175aSRichard Henderson 
31*2ef6175aSRichard Henderson #undef DEF_HELPER_FLAGS_0
32*2ef6175aSRichard Henderson #undef DEF_HELPER_FLAGS_1
33*2ef6175aSRichard Henderson #undef DEF_HELPER_FLAGS_2
34*2ef6175aSRichard Henderson #undef DEF_HELPER_FLAGS_3
35*2ef6175aSRichard Henderson #undef DEF_HELPER_FLAGS_4
36*2ef6175aSRichard Henderson #undef DEF_HELPER_FLAGS_5
37*2ef6175aSRichard Henderson 
38*2ef6175aSRichard Henderson #endif /* HELPER_PROTO_H */
39