tcg: Remove tcg_out_op

All integer opcodes are now converted to TCGOutOp.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2025-02-16 14:22:48 -08:00
parent 86fe5c2597
commit eafecf0805
11 changed files with 3 additions and 79 deletions

View file

@ -2897,13 +2897,6 @@ static const TCGOutOpStore outop_st = {
.out_r = tcg_out_st, .out_r = tcg_out_st,
}; };
static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType ext,
const TCGArg args[TCG_MAX_OP_ARGS],
const int const_args[TCG_MAX_OP_ARGS])
{
g_assert_not_reached();
}
static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
unsigned vecl, unsigned vece, unsigned vecl, unsigned vece,
const TCGArg args[TCG_MAX_OP_ARGS], const TCGArg args[TCG_MAX_OP_ARGS],

View file

@ -2640,13 +2640,6 @@ static const TCGOutOpStore outop_st = {
.out_r = tcg_out_st, .out_r = tcg_out_st,
}; };
static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType type,
const TCGArg args[TCG_MAX_OP_ARGS],
const int const_args[TCG_MAX_OP_ARGS])
{
g_assert_not_reached();
}
static TCGConstraintSetIndex static TCGConstraintSetIndex
tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags)
{ {

View file

@ -3602,13 +3602,6 @@ static const TCGOutOpStore outop_st = {
.out_i = tgen_st_i, .out_i = tgen_st_i,
}; };
static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType type,
const TCGArg args[TCG_MAX_OP_ARGS],
const int const_args[TCG_MAX_OP_ARGS])
{
g_assert_not_reached();
}
static int const umin_insn[4] = { static int const umin_insn[4] = {
OPC_PMINUB, OPC_PMINUW, OPC_PMINUD, OPC_VPMINUQ OPC_PMINUB, OPC_PMINUW, OPC_PMINUD, OPC_VPMINUQ
}; };

View file

@ -2042,13 +2042,6 @@ static const TCGOutOpStore outop_st = {
.out_r = tcg_out_st, .out_r = tcg_out_st,
}; };
static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType type,
const TCGArg args[TCG_MAX_OP_ARGS],
const int const_args[TCG_MAX_OP_ARGS])
{
g_assert_not_reached();
}
static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece, static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
TCGReg rd, TCGReg rs) TCGReg rd, TCGReg rs)
{ {

View file

@ -2444,13 +2444,6 @@ static const TCGOutOpStore outop_st = {
}; };
static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType type,
const TCGArg args[TCG_MAX_OP_ARGS],
const int const_args[TCG_MAX_OP_ARGS])
{
g_assert_not_reached();
}
static TCGConstraintSetIndex static TCGConstraintSetIndex
tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags)
{ {

View file

@ -3828,13 +3828,6 @@ static const TCGOutOpStore outop_st = {
}; };
static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType type,
const TCGArg args[TCG_MAX_OP_ARGS],
const int const_args[TCG_MAX_OP_ARGS])
{
g_assert_not_reached();
}
int tcg_can_emit_vec_op(TCGOpcode opc, TCGType type, unsigned vece) int tcg_can_emit_vec_op(TCGOpcode opc, TCGType type, unsigned vece)
{ {
switch (opc) { switch (opc) {

View file

@ -2642,13 +2642,6 @@ static const TCGOutOpStore outop_st = {
}; };
static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType type,
const TCGArg args[TCG_MAX_OP_ARGS],
const int const_args[TCG_MAX_OP_ARGS])
{
g_assert_not_reached();
}
static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc, static void tcg_out_vec_op(TCGContext *s, TCGOpcode opc,
unsigned vecl, unsigned vece, unsigned vecl, unsigned vece,
const TCGArg args[TCG_MAX_OP_ARGS], const TCGArg args[TCG_MAX_OP_ARGS],

View file

@ -3160,13 +3160,6 @@ static const TCGOutOpStore outop_st = {
}; };
static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType type,
const TCGArg args[TCG_MAX_OP_ARGS],
const int const_args[TCG_MAX_OP_ARGS])
{
g_assert_not_reached();
}
static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece, static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
TCGReg dst, TCGReg src) TCGReg dst, TCGReg src)
{ {

View file

@ -2074,13 +2074,6 @@ static const TCGOutOpStore outop_st = {
}; };
static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType type,
const TCGArg args[TCG_MAX_OP_ARGS],
const int const_args[TCG_MAX_OP_ARGS])
{
g_assert_not_reached();
}
static TCGConstraintSetIndex static TCGConstraintSetIndex
tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags) tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags)
{ {

View file

@ -138,9 +138,6 @@ static void tcg_out_mb(TCGContext *s, unsigned bar);
static void tcg_out_br(TCGContext *s, TCGLabel *l); static void tcg_out_br(TCGContext *s, TCGLabel *l);
static void tcg_out_set_carry(TCGContext *s); static void tcg_out_set_carry(TCGContext *s);
static void tcg_out_set_borrow(TCGContext *s); static void tcg_out_set_borrow(TCGContext *s);
static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType type,
const TCGArg args[TCG_MAX_OP_ARGS],
const int const_args[TCG_MAX_OP_ARGS]);
#if TCG_TARGET_MAYBE_vec #if TCG_TARGET_MAYBE_vec
static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece, static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
TCGReg dst, TCGReg src); TCGReg dst, TCGReg src);
@ -5920,12 +5917,9 @@ static void tcg_reg_alloc_op(TCGContext *s, const TCGOp *op)
break; break;
default: default:
if (def->flags & TCG_OPF_VECTOR) { tcg_debug_assert(def->flags & TCG_OPF_VECTOR);
tcg_out_vec_op(s, op->opc, type - TCG_TYPE_V64, tcg_out_vec_op(s, op->opc, type - TCG_TYPE_V64,
TCGOP_VECE(op), new_args, const_args); TCGOP_VECE(op), new_args, const_args);
} else {
tcg_out_op(s, op->opc, type, new_args, const_args);
}
break; break;
} }

View file

@ -1235,13 +1235,6 @@ static const TCGOutOpQemuLdSt2 outop_qemu_st2 = {
TCG_TARGET_REG_BITS == 64 ? NULL : tgen_qemu_st2, TCG_TARGET_REG_BITS == 64 ? NULL : tgen_qemu_st2,
}; };
static void tcg_out_op(TCGContext *s, TCGOpcode opc, TCGType type,
const TCGArg args[TCG_MAX_OP_ARGS],
const int const_args[TCG_MAX_OP_ARGS])
{
g_assert_not_reached();
}
static void tcg_out_st(TCGContext *s, TCGType type, TCGReg val, TCGReg base, static void tcg_out_st(TCGContext *s, TCGType type, TCGReg val, TCGReg base,
intptr_t offset) intptr_t offset)
{ {