mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -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,
|
||||
};
|
||||
|
||||
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,
|
||||
unsigned vecl, unsigned vece,
|
||||
const TCGArg args[TCG_MAX_OP_ARGS],
|
||||
|
|
|
@ -2640,13 +2640,6 @@ static const TCGOutOpStore outop_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
|
||||
tcg_target_op_def(TCGOpcode op, TCGType type, unsigned flags)
|
||||
{
|
||||
|
|
|
@ -3602,13 +3602,6 @@ static const TCGOutOpStore outop_st = {
|
|||
.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] = {
|
||||
OPC_PMINUB, OPC_PMINUW, OPC_PMINUD, OPC_VPMINUQ
|
||||
};
|
||||
|
|
|
@ -2042,13 +2042,6 @@ static const TCGOutOpStore outop_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,
|
||||
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
|
||||
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)
|
||||
{
|
||||
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,
|
||||
unsigned vecl, unsigned vece,
|
||||
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,
|
||||
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
|
||||
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_set_carry(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
|
||||
static bool tcg_out_dup_vec(TCGContext *s, TCGType type, unsigned vece,
|
||||
TCGReg dst, TCGReg src);
|
||||
|
@ -5920,12 +5917,9 @@ static void tcg_reg_alloc_op(TCGContext *s, const TCGOp *op)
|
|||
break;
|
||||
|
||||
default:
|
||||
if (def->flags & TCG_OPF_VECTOR) {
|
||||
tcg_out_vec_op(s, op->opc, type - TCG_TYPE_V64,
|
||||
TCGOP_VECE(op), new_args, const_args);
|
||||
} else {
|
||||
tcg_out_op(s, op->opc, type, new_args, const_args);
|
||||
}
|
||||
tcg_debug_assert(def->flags & TCG_OPF_VECTOR);
|
||||
tcg_out_vec_op(s, op->opc, type - TCG_TYPE_V64,
|
||||
TCGOP_VECE(op), new_args, const_args);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -1235,13 +1235,6 @@ static const TCGOutOpQemuLdSt2 outop_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,
|
||||
intptr_t offset)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue