Richard Henderson
4643f3e07e
tcg: Move tcg_temp_new_*, tcg_global_mem_new_* out of line
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20231029210848.78234-11-richard.henderson@linaro.org >
2023-11-06 08:27:21 -08:00
Richard Henderson
16edaee720
tcg: Move tcg_constant_* out of line
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20231029210848.78234-10-richard.henderson@linaro.org >
2023-11-06 08:27:21 -08:00
Richard Henderson
17b9fadb1d
tcg: Unexport tcg_gen_op*_{i32,i64}
...
These functions are no longer used outside tcg-op.c.
There are several that are completely unused, so remove them.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20231029210848.78234-9-richard.henderson@linaro.org >
2023-11-06 08:27:21 -08:00
Richard Henderson
1d67bf545f
tcg: Move tcg_gen_opN declarations to tcg-internal.h
...
These are used within tcg-op.c and tcg-op-ldst.c.
There are no uses outside tcg/.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20231029210848.78234-8-richard.henderson@linaro.org >
2023-11-06 08:27:21 -08:00
Richard Henderson
27c758fd22
tcg: Move vec_gen_* declarations to tcg-internal.h
...
These are used within tcg-op-vec.c and tcg/host/tcg-target.c.inc.
There are no uses outside tcg/.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20231029210848.78234-7-richard.henderson@linaro.org >
2023-11-06 08:27:21 -08:00
Richard Henderson
e0de2f5580
tcg: Move 64-bit expanders out of line
...
This one is more complicated, combining 32-bit and 64-bit
expansion with C if instead of preprocessor #if.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20231029210848.78234-6-richard.henderson@linaro.org >
2023-11-06 08:27:21 -08:00
Richard Henderson
09607d35f5
tcg: Move 32-bit expanders out of line
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20231029210848.78234-5-richard.henderson@linaro.org >
2023-11-06 08:27:21 -08:00
Richard Henderson
01bbb6e3eb
tcg: Move generic expanders out of line
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20231029210848.78234-4-richard.henderson@linaro.org >
2023-11-06 08:27:21 -08:00
Richard Henderson
6fc75d50a5
tcg: Move tcg_gen_op* out of line
...
In addition to moving out of line, with CONFIG_DEBUG_TCG
mark them all noinline.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20231029210848.78234-3-richard.henderson@linaro.org >
2023-11-06 08:27:21 -08:00
Richard Henderson
f1c29532e7
tcg: Export tcg_gen_ext_{i32,i64,tl}
...
The two concrete type functions already existed, merely needing
a bit of hardening to invalid inputs.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-10-22 16:32:28 -07:00
Paolo Bonzini
93c86ecd77
tcg: add negsetcondi
...
This can be useful to write a shift bit extraction that does not
depend on TARGET_LONG_BITS.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Message-Id: <20231019104648.389942-15-pbonzini@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-10-22 16:32:28 -07:00
Richard Henderson
a01d9792a7
tcg: Add tcg_gen_{ld,st}_i128
...
Do not require the translators to jump through concat and
extract of i64 in order to move values to and from env.
Tested-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Song Gao <gaosong@loongson.cn >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-10-22 16:32:28 -07:00
Philippe Mathieu-Daudé
7893e42d5d
tcg: Correct invalid mentions of 'softmmu' by 'system-mode'
...
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-ID: <20231004090629.37473-6-philmd@linaro.org >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2023-10-07 19:02:33 +02:00
Richard Henderson
3635502dd0
tcg: Introduce negsetcond opcodes
...
Introduce a new opcode for negative setcond.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-08-24 11:22:42 -07:00
Richard Henderson
c213ee2dfc
tcg: Split helper-proto.h
...
Create helper-proto-common.h without the target specific portion.
Use that in tcg-op-common.h. Include helper-proto.h in target/arm
and target/hexagon before helper-info.c.inc; all other targets are
already correct in this regard.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-06-05 12:04:29 -07:00
Richard Henderson
e4eff8e4ed
tcg: Split helper-gen.h
...
Create helper-gen-common.h without the target specific portion.
Use that in tcg-op-common.h. Reorg headers in target/arm to
ensure that helper-gen.h is included before helper-info.c.inc.
All other targets are already correct in this regard.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-06-05 12:04:29 -07:00
Richard Henderson
ad3d0e4d5d
tcg: Split tcg/tcg-op-common.h from tcg/tcg-op.h
...
Create tcg/tcg-op-common.h, moving everything that does not concern
TARGET_LONG_BITS or TCGv. Adjust tcg/*.c to use the new header
instead of tcg-op.h, in preparation for compiling tcg/ only once.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2023-06-05 12:04:28 -07:00