On 7/1/25 08:59, Richard Henderson wrote:
In the replacement, drop the TCGType - TCG_TYPE_V64 adjustment,
except for the call to tcg_out_vec_op. Pass type to tcg_gen_op[1-6],
so that all integer opcodes gain the type.
Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
include/tcg/tcg.h | 2 +-
tcg/tcg-internal.h | 13 ++---
tcg/optimize.c | 10 +---
tcg/tcg-op-ldst.c | 26 ++++++----
tcg/tcg-op-vec.c | 8 +--
tcg/tcg-op.c | 113 +++++++++++++++++++++++------------------
tcg/tcg.c | 11 ++--
docs/devel/tcg-ops.rst | 15 +++---
8 files changed, 105 insertions(+), 93 deletions(-)
@@ -3320,7 +3333,7 @@ void tcg_gen_exit_tb(const TranslationBlock *tb, unsigned
idx)
tcg_debug_assert(idx == TB_EXIT_REQUESTED);
}
- tcg_gen_op1i(INDEX_op_exit_tb, val);
+ tcg_gen_op1i(INDEX_op_exit_tb, 0, val);
Having TCG_TYPE_I32 = 0 is confusing.
Should we define TCG_TYPE_VOID = 0 first, shifting all other types
(and updating tcg_type_size())?
Otherwise,
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
}
void tcg_gen_goto_tb(unsigned idx)
@@ -3335,7 +3348,7 @@ void tcg_gen_goto_tb(unsigned idx)
tcg_ctx->goto_tb_issue_mask |= 1 << idx;
#endif
plugin_gen_disable_mem_helpers();
- tcg_gen_op1i(INDEX_op_goto_tb, idx);
+ tcg_gen_op1i(INDEX_op_goto_tb, 0, idx);
}