From: Philippe Mathieu-Daudé Date: Mon, 22 Apr 2024 14:41:04 +0000 (+0200) Subject: accel/tcg: Rename helper-head.h -> helper-head.h.inc X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=2379866c3bf7c5fd654cef64246af9d8a03f7d49;p=qemu.git accel/tcg: Rename helper-head.h -> helper-head.h.inc Since commit 139c1837db ("meson: rename included C source files to .c.inc"), QEMU standard procedure for included C files is to use *.c.inc. Besides, since commit 6a0057aa22 ("docs/devel: make a statement about includes") this is documented in the Coding Style: If you do use template header files they should be named with the ``.c.inc`` or ``.h.inc`` suffix to make it clear they are being included for expansion. Therefore rename "exec/helper-head.h" as "exec/helper-head.h.inc". Signed-off-by: Philippe Mathieu-Daudé Acked-by: Richard Henderson Message-Id: <20240424173333.96148-4-philmd@linaro.org> --- diff --git a/include/exec/helper-gen.h.inc b/include/exec/helper-gen.h.inc index c009641517..d9fd3ed72a 100644 --- a/include/exec/helper-gen.h.inc +++ b/include/exec/helper-gen.h.inc @@ -8,7 +8,7 @@ #include "tcg/tcg.h" #include "tcg/helper-info.h" -#include "exec/helper-head.h" +#include "exec/helper-head.h.inc" #define DEF_HELPER_FLAGS_0(name, flags, ret) \ extern TCGHelperInfo glue(helper_info_, name); \ diff --git a/include/exec/helper-head.h b/include/exec/helper-head.h deleted file mode 100644 index 5ef467a79d..0000000000 --- a/include/exec/helper-head.h +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Helper file for declaring TCG helper functions. - * Used by other helper files. - */ - -#ifndef EXEC_HELPER_HEAD_H -#define EXEC_HELPER_HEAD_H - -#include "fpu/softfloat-types.h" - -#define HELPER(name) glue(helper_, name) - -/* Some types that make sense in C, but not for TCG. */ -#define dh_alias_i32 i32 -#define dh_alias_s32 i32 -#define dh_alias_int i32 -#define dh_alias_i64 i64 -#define dh_alias_s64 i64 -#define dh_alias_i128 i128 -#define dh_alias_f16 i32 -#define dh_alias_f32 i32 -#define dh_alias_f64 i64 -#define dh_alias_ptr ptr -#define dh_alias_cptr ptr -#define dh_alias_env ptr -#define dh_alias_void void -#define dh_alias_noreturn noreturn -#define dh_alias(t) glue(dh_alias_, t) - -#define dh_ctype_i32 uint32_t -#define dh_ctype_s32 int32_t -#define dh_ctype_int int -#define dh_ctype_i64 uint64_t -#define dh_ctype_s64 int64_t -#define dh_ctype_i128 Int128 -#define dh_ctype_f16 uint32_t -#define dh_ctype_f32 float32 -#define dh_ctype_f64 float64 -#define dh_ctype_ptr void * -#define dh_ctype_cptr const void * -#define dh_ctype_env CPUArchState * -#define dh_ctype_void void -#define dh_ctype_noreturn G_NORETURN void -#define dh_ctype(t) dh_ctype_##t - -#ifdef COMPILING_PER_TARGET -# ifdef TARGET_LONG_BITS -# if TARGET_LONG_BITS == 32 -# define dh_alias_tl i32 -# define dh_typecode_tl dh_typecode_i32 -# else -# define dh_alias_tl i64 -# define dh_typecode_tl dh_typecode_i64 -# endif -# endif -# define dh_ctype_tl target_ulong -#endif /* COMPILING_PER_TARGET */ - -/* We can't use glue() here because it falls foul of C preprocessor - recursive expansion rules. */ -#define dh_retvar_decl0_void void -#define dh_retvar_decl0_noreturn void -#define dh_retvar_decl0_i32 TCGv_i32 retval -#define dh_retvar_decl0_i64 TCGv_i64 retval -#define dh_retval_decl0_i128 TCGv_i128 retval -#define dh_retvar_decl0_ptr TCGv_ptr retval -#define dh_retvar_decl0(t) glue(dh_retvar_decl0_, dh_alias(t)) - -#define dh_retvar_decl_void -#define dh_retvar_decl_noreturn -#define dh_retvar_decl_i32 TCGv_i32 retval, -#define dh_retvar_decl_i64 TCGv_i64 retval, -#define dh_retvar_decl_i128 TCGv_i128 retval, -#define dh_retvar_decl_ptr TCGv_ptr retval, -#define dh_retvar_decl(t) glue(dh_retvar_decl_, dh_alias(t)) - -#define dh_retvar_void NULL -#define dh_retvar_noreturn NULL -#define dh_retvar_i32 tcgv_i32_temp(retval) -#define dh_retvar_i64 tcgv_i64_temp(retval) -#define dh_retvar_i128 tcgv_i128_temp(retval) -#define dh_retvar_ptr tcgv_ptr_temp(retval) -#define dh_retvar(t) glue(dh_retvar_, dh_alias(t)) - -#define dh_typecode_void 0 -#define dh_typecode_noreturn 0 -#define dh_typecode_i32 2 -#define dh_typecode_s32 3 -#define dh_typecode_i64 4 -#define dh_typecode_s64 5 -#define dh_typecode_ptr 6 -#define dh_typecode_i128 7 -#define dh_typecode_int dh_typecode_s32 -#define dh_typecode_f16 dh_typecode_i32 -#define dh_typecode_f32 dh_typecode_i32 -#define dh_typecode_f64 dh_typecode_i64 -#define dh_typecode_cptr dh_typecode_ptr -#define dh_typecode_env dh_typecode_ptr -#define dh_typecode(t) dh_typecode_##t - -#define dh_callflag_i32 0 -#define dh_callflag_i64 0 -#define dh_callflag_i128 0 -#define dh_callflag_ptr 0 -#define dh_callflag_void 0 -#define dh_callflag_noreturn TCG_CALL_NO_RETURN -#define dh_callflag(t) glue(dh_callflag_, dh_alias(t)) - -#define dh_typemask(t, n) (dh_typecode(t) << (n * 3)) - -#define dh_arg(t, n) \ - glue(glue(tcgv_, dh_alias(t)), _temp)(glue(arg, n)) - -#define dh_arg_decl(t, n) glue(TCGv_, dh_alias(t)) glue(arg, n) - -#define DEF_HELPER_0(name, ret) \ - DEF_HELPER_FLAGS_0(name, 0, ret) -#define DEF_HELPER_1(name, ret, t1) \ - DEF_HELPER_FLAGS_1(name, 0, ret, t1) -#define DEF_HELPER_2(name, ret, t1, t2) \ - DEF_HELPER_FLAGS_2(name, 0, ret, t1, t2) -#define DEF_HELPER_3(name, ret, t1, t2, t3) \ - DEF_HELPER_FLAGS_3(name, 0, ret, t1, t2, t3) -#define DEF_HELPER_4(name, ret, t1, t2, t3, t4) \ - DEF_HELPER_FLAGS_4(name, 0, ret, t1, t2, t3, t4) -#define DEF_HELPER_5(name, ret, t1, t2, t3, t4, t5) \ - DEF_HELPER_FLAGS_5(name, 0, ret, t1, t2, t3, t4, t5) -#define DEF_HELPER_6(name, ret, t1, t2, t3, t4, t5, t6) \ - DEF_HELPER_FLAGS_6(name, 0, ret, t1, t2, t3, t4, t5, t6) -#define DEF_HELPER_7(name, ret, t1, t2, t3, t4, t5, t6, t7) \ - DEF_HELPER_FLAGS_7(name, 0, ret, t1, t2, t3, t4, t5, t6, t7) - -/* MAX_CALL_IARGS must be set to n if last entry is DEF_HELPER_FLAGS_n. */ - -#endif /* EXEC_HELPER_HEAD_H */ diff --git a/include/exec/helper-head.h.inc b/include/exec/helper-head.h.inc new file mode 100644 index 0000000000..5ef467a79d --- /dev/null +++ b/include/exec/helper-head.h.inc @@ -0,0 +1,135 @@ +/* + * Helper file for declaring TCG helper functions. + * Used by other helper files. + */ + +#ifndef EXEC_HELPER_HEAD_H +#define EXEC_HELPER_HEAD_H + +#include "fpu/softfloat-types.h" + +#define HELPER(name) glue(helper_, name) + +/* Some types that make sense in C, but not for TCG. */ +#define dh_alias_i32 i32 +#define dh_alias_s32 i32 +#define dh_alias_int i32 +#define dh_alias_i64 i64 +#define dh_alias_s64 i64 +#define dh_alias_i128 i128 +#define dh_alias_f16 i32 +#define dh_alias_f32 i32 +#define dh_alias_f64 i64 +#define dh_alias_ptr ptr +#define dh_alias_cptr ptr +#define dh_alias_env ptr +#define dh_alias_void void +#define dh_alias_noreturn noreturn +#define dh_alias(t) glue(dh_alias_, t) + +#define dh_ctype_i32 uint32_t +#define dh_ctype_s32 int32_t +#define dh_ctype_int int +#define dh_ctype_i64 uint64_t +#define dh_ctype_s64 int64_t +#define dh_ctype_i128 Int128 +#define dh_ctype_f16 uint32_t +#define dh_ctype_f32 float32 +#define dh_ctype_f64 float64 +#define dh_ctype_ptr void * +#define dh_ctype_cptr const void * +#define dh_ctype_env CPUArchState * +#define dh_ctype_void void +#define dh_ctype_noreturn G_NORETURN void +#define dh_ctype(t) dh_ctype_##t + +#ifdef COMPILING_PER_TARGET +# ifdef TARGET_LONG_BITS +# if TARGET_LONG_BITS == 32 +# define dh_alias_tl i32 +# define dh_typecode_tl dh_typecode_i32 +# else +# define dh_alias_tl i64 +# define dh_typecode_tl dh_typecode_i64 +# endif +# endif +# define dh_ctype_tl target_ulong +#endif /* COMPILING_PER_TARGET */ + +/* We can't use glue() here because it falls foul of C preprocessor + recursive expansion rules. */ +#define dh_retvar_decl0_void void +#define dh_retvar_decl0_noreturn void +#define dh_retvar_decl0_i32 TCGv_i32 retval +#define dh_retvar_decl0_i64 TCGv_i64 retval +#define dh_retval_decl0_i128 TCGv_i128 retval +#define dh_retvar_decl0_ptr TCGv_ptr retval +#define dh_retvar_decl0(t) glue(dh_retvar_decl0_, dh_alias(t)) + +#define dh_retvar_decl_void +#define dh_retvar_decl_noreturn +#define dh_retvar_decl_i32 TCGv_i32 retval, +#define dh_retvar_decl_i64 TCGv_i64 retval, +#define dh_retvar_decl_i128 TCGv_i128 retval, +#define dh_retvar_decl_ptr TCGv_ptr retval, +#define dh_retvar_decl(t) glue(dh_retvar_decl_, dh_alias(t)) + +#define dh_retvar_void NULL +#define dh_retvar_noreturn NULL +#define dh_retvar_i32 tcgv_i32_temp(retval) +#define dh_retvar_i64 tcgv_i64_temp(retval) +#define dh_retvar_i128 tcgv_i128_temp(retval) +#define dh_retvar_ptr tcgv_ptr_temp(retval) +#define dh_retvar(t) glue(dh_retvar_, dh_alias(t)) + +#define dh_typecode_void 0 +#define dh_typecode_noreturn 0 +#define dh_typecode_i32 2 +#define dh_typecode_s32 3 +#define dh_typecode_i64 4 +#define dh_typecode_s64 5 +#define dh_typecode_ptr 6 +#define dh_typecode_i128 7 +#define dh_typecode_int dh_typecode_s32 +#define dh_typecode_f16 dh_typecode_i32 +#define dh_typecode_f32 dh_typecode_i32 +#define dh_typecode_f64 dh_typecode_i64 +#define dh_typecode_cptr dh_typecode_ptr +#define dh_typecode_env dh_typecode_ptr +#define dh_typecode(t) dh_typecode_##t + +#define dh_callflag_i32 0 +#define dh_callflag_i64 0 +#define dh_callflag_i128 0 +#define dh_callflag_ptr 0 +#define dh_callflag_void 0 +#define dh_callflag_noreturn TCG_CALL_NO_RETURN +#define dh_callflag(t) glue(dh_callflag_, dh_alias(t)) + +#define dh_typemask(t, n) (dh_typecode(t) << (n * 3)) + +#define dh_arg(t, n) \ + glue(glue(tcgv_, dh_alias(t)), _temp)(glue(arg, n)) + +#define dh_arg_decl(t, n) glue(TCGv_, dh_alias(t)) glue(arg, n) + +#define DEF_HELPER_0(name, ret) \ + DEF_HELPER_FLAGS_0(name, 0, ret) +#define DEF_HELPER_1(name, ret, t1) \ + DEF_HELPER_FLAGS_1(name, 0, ret, t1) +#define DEF_HELPER_2(name, ret, t1, t2) \ + DEF_HELPER_FLAGS_2(name, 0, ret, t1, t2) +#define DEF_HELPER_3(name, ret, t1, t2, t3) \ + DEF_HELPER_FLAGS_3(name, 0, ret, t1, t2, t3) +#define DEF_HELPER_4(name, ret, t1, t2, t3, t4) \ + DEF_HELPER_FLAGS_4(name, 0, ret, t1, t2, t3, t4) +#define DEF_HELPER_5(name, ret, t1, t2, t3, t4, t5) \ + DEF_HELPER_FLAGS_5(name, 0, ret, t1, t2, t3, t4, t5) +#define DEF_HELPER_6(name, ret, t1, t2, t3, t4, t5, t6) \ + DEF_HELPER_FLAGS_6(name, 0, ret, t1, t2, t3, t4, t5, t6) +#define DEF_HELPER_7(name, ret, t1, t2, t3, t4, t5, t6, t7) \ + DEF_HELPER_FLAGS_7(name, 0, ret, t1, t2, t3, t4, t5, t6, t7) + +/* MAX_CALL_IARGS must be set to n if last entry is DEF_HELPER_FLAGS_n. */ + +#endif /* EXEC_HELPER_HEAD_H */ diff --git a/include/exec/helper-info.c.inc b/include/exec/helper-info.c.inc index 530d2e6d35..c551736d49 100644 --- a/include/exec/helper-info.c.inc +++ b/include/exec/helper-info.c.inc @@ -7,7 +7,7 @@ #include "tcg/tcg.h" #include "tcg/helper-info.h" -#include "exec/helper-head.h" +#include "exec/helper-head.h.inc" /* * Need one more level of indirection before stringification diff --git a/include/exec/helper-proto.h.inc b/include/exec/helper-proto.h.inc index c3aa666929..f8e57e43ce 100644 --- a/include/exec/helper-proto.h.inc +++ b/include/exec/helper-proto.h.inc @@ -5,7 +5,7 @@ * Define HELPER_H for the header file to be expanded. */ -#include "exec/helper-head.h" +#include "exec/helper-head.h.inc" /* * Work around an issue with --enable-lto, in which GCC's ipa-split pass