1 /* Helper file for declaring TCG helper functions.
2 This one expands generation functions for tcg opcodes. */
7 #include <exec/helper-head.h>
9 #define DEF_HELPER_FLAGS_0(name, flags, ret) \
10 static inline void glue(gen_helper_, name)(dh_retvar_decl0(ret)) \
13 sizemask = dh_is_64bit(ret); \
14 tcg_gen_helperN(HELPER(name), flags, sizemask, dh_retvar(ret), 0, NULL); \
17 #define DEF_HELPER_FLAGS_1(name, flags, ret, t1) \
18 static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) dh_arg_decl(t1, 1)) \
22 dh_sizemask(ret, 0); \
24 tcg_gen_helperN(HELPER(name), flags, sizemask, dh_retvar(ret), 1, args); \
27 #define DEF_HELPER_FLAGS_2(name, flags, ret, t1, t2) \
28 static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) dh_arg_decl(t1, 1), \
33 dh_sizemask(ret, 0); \
36 tcg_gen_helperN(HELPER(name), flags, sizemask, dh_retvar(ret), 2, args); \
39 #define DEF_HELPER_FLAGS_3(name, flags, ret, t1, t2, t3) \
40 static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) dh_arg_decl(t1, 1), \
41 dh_arg_decl(t2, 2), dh_arg_decl(t3, 3)) \
45 dh_sizemask(ret, 0); \
49 tcg_gen_helperN(HELPER(name), flags, sizemask, dh_retvar(ret), 3, args); \
52 #define DEF_HELPER_FLAGS_4(name, flags, ret, t1, t2, t3, t4) \
53 static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) dh_arg_decl(t1, 1), \
54 dh_arg_decl(t2, 2), dh_arg_decl(t3, 3), dh_arg_decl(t4, 4)) \
58 dh_sizemask(ret, 0); \
63 tcg_gen_helperN(HELPER(name), flags, sizemask, dh_retvar(ret), 4, args); \
66 #define DEF_HELPER_FLAGS_5(name, flags, ret, t1, t2, t3, t4, t5) \
67 static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) \
68 dh_arg_decl(t1, 1), dh_arg_decl(t2, 2), dh_arg_decl(t3, 3), \
69 dh_arg_decl(t4, 4), dh_arg_decl(t5, 5)) \
73 dh_sizemask(ret, 0); \
79 tcg_gen_helperN(HELPER(name), flags, sizemask, dh_retvar(ret), 5, args); \
83 #include "tcg-runtime.h"
85 #undef DEF_HELPER_FLAGS_0
86 #undef DEF_HELPER_FLAGS_1
87 #undef DEF_HELPER_FLAGS_2
88 #undef DEF_HELPER_FLAGS_3
89 #undef DEF_HELPER_FLAGS_4
90 #undef DEF_HELPER_FLAGS_5
93 #endif /* HELPER_GEN_H */