9f75e528 | 02-Nov-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg/optimize: Split out cmp_better_copy
Compare two temps for "better", split out from finding the best from a whole list. Use TCGKind, which already gives the proper priority.
Signed-off-by: Rich
tcg/optimize: Split out cmp_better_copy
Compare two temps for "better", split out from finding the best from a whole list. Use TCGKind, which already gives the proper priority.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
986cac1d | 09-Jan-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg/optimize: Pipe OptContext into reset_ts
Will be needed in the next patch.
Reviewed-by: Song Gao <gaosong@loongson.cn> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Rich
tcg/optimize: Pipe OptContext into reset_ts
Will be needed in the next patch.
Reviewed-by: Song Gao <gaosong@loongson.cn> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
9628d008 | 23-Aug-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Don't free vector results
Avoid reusing vector temporaries so that we may re-use them when propagating stores to loads.
Reviewed-by: Song Gao <gaosong@loongson.cn> Signed-off-by: Richard Hende
tcg: Don't free vector results
Avoid reusing vector temporaries so that we may re-use them when propagating stores to loads.
Reviewed-by: Song Gao <gaosong@loongson.cn> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
b701f195 | 25-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Remove TCG_TARGET_HAS_neg_{i32,i64}
The movcond opcode is now mandatory for backends to implement.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231026041404.1
tcg: Remove TCG_TARGET_HAS_neg_{i32,i64}
The movcond opcode is now mandatory for backends to implement.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231026041404.1229328-7-richard.henderson@linaro.org>
show more ...
|
0fbee2b7 | 25-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg/loongarch64: Implement neg opcodes
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231026041404.1229328-6-richard.henderson@linaro.org> |
e0448a8b | 25-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg/mips: Implement neg opcodes
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231026041404.1229328-5-richard.henderson@linaro.org> |
3871be75 | 25-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Remove TCG_TARGET_HAS_movcond_{i32,i64}
The movcond opcode is now mandatory for backends to implement.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <202310260414
tcg: Remove TCG_TARGET_HAS_movcond_{i32,i64}
The movcond opcode is now mandatory for backends to implement.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231026041404.1229328-4-richard.henderson@linaro.org>
show more ...
|
2cff741d | 25-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg/mips: Always implement movcond
Expand as branch over move if not supported in the ISA.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231026041404.1229328-3-rich
tcg/mips: Always implement movcond
Expand as branch over move if not supported in the ISA.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231026041404.1229328-3-richard.henderson@linaro.org>
show more ...
|
42221a64 | 25-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg/mips: Split out tcg_out_setcond_int
Return the temp and a set of flags, to be used as a primitive for setcond, brcond, movcond.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> M
tcg/mips: Split out tcg_out_setcond_int
Return the temp and a set of flags, to be used as a primitive for setcond, brcond, movcond.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231026041404.1229328-2-richard.henderson@linaro.org>
show more ...
|
58b79713 | 29-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Move tcg_temp_free_* out of line
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231029210848.78234-12-richard.henderson@linaro.org> |
4643f3e0 | 29-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
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> |
16edaee7 | 29-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
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> |
17b9fadb | 29-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
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.hend
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>
show more ...
|
1d67bf54 | 29-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
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
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>
show more ...
|
27c758fd | 29-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
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.hender
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>
show more ...
|
e0de2f55 | 29-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
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
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>
show more ...
|
09607d35 | 29-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
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> |
01bbb6e3 | 29-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
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> |
6fc75d50 | 29-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
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: <20231
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>
show more ...
|
ecfa1877 | 29-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Mark tcg_gen_op* as noinline
Encourage the compiler to tail-call rather than inline across the dozens of opcode expanders.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Messa
tcg: Mark tcg_gen_op* as noinline
Encourage the compiler to tail-call rather than inline across the dozens of opcode expanders.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20231029210848.78234-2-richard.henderson@linaro.org>
show more ...
|
f2a55348 | 16-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg/loongarch64: Use cpuinfo.h
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Jiajie Chen <c@jia.je> Message-Id: <20230916220151.526140-5-richard.henderson@linaro.org> |
2b2ae0a4 | 16-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg/loongarch64: Use C_N2_I1 for INDEX_op_qemu_ld_a*_i128
Use new registers for the output, so that we never overlap the input address, which could happen for user-only. This avoids a "tmp = addr +
tcg/loongarch64: Use C_N2_I1 for INDEX_op_qemu_ld_a*_i128
Use new registers for the output, so that we never overlap the input address, which could happen for user-only. This avoids a "tmp = addr + 0" in that case.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Jiajie Chen <c@jia.je> Message-Id: <20230916220151.526140-3-richard.henderson@linaro.org>
show more ...
|
fa645b48 | 16-Sep-2023 |
Richard Henderson <richard.henderson@linaro.org> |
tcg: Add C_N2_I1
Constraint with two outputs, both in new registers.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Jiajie Chen <c@jia.je> Message-Id: <20230916220151.
tcg: Add C_N2_I1
Constraint with two outputs, both in new registers.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Jiajie Chen <c@jia.je> Message-Id: <20230916220151.526140-2-richard.henderson@linaro.org>
show more ...
|
24a4d59a | 03-Jul-2023 |
Richard Henderson <richard.henderson@linaro.org> |
accel/tcg: Move HMP info jit and info opcount code
Move all of it into accel/tcg/monitor.c. This puts everything about tcg that is only used by the monitor in the same place.
Tested-by: Philippe M
accel/tcg: Move HMP info jit and info opcount code
Move all of it into accel/tcg/monitor.c. This puts everything about tcg that is only used by the monitor in the same place.
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
show more ...
|
f1c29532 | 19-Oct-2023 |
Richard Henderson <richard.henderson@linaro.org> |
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> Si
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>
show more ...
|