mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-30 13:31:52 -06:00
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:
parent
86fe5c2597
commit
eafecf0805
11 changed files with 3 additions and 79 deletions
|
@ -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],
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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
|
||||||
};
|
};
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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],
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
12
tcg/tcg.c
12
tcg/tcg.c
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue