mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
tcg: Drop support for two address registers in gen_ldst
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
f441b4d19b
commit
a0ecb8e494
2 changed files with 4 additions and 21 deletions
|
@ -91,25 +91,10 @@ static MemOp tcg_canonicalize_memop(MemOp op, bool is64, bool st)
|
|||
static void gen_ldst(TCGOpcode opc, TCGType type, TCGTemp *vl, TCGTemp *vh,
|
||||
TCGTemp *addr, MemOpIdx oi)
|
||||
{
|
||||
if (TCG_TARGET_REG_BITS == 64 || tcg_ctx->addr_type == TCG_TYPE_I32) {
|
||||
if (vh) {
|
||||
tcg_gen_op4(opc, type, temp_arg(vl), temp_arg(vh),
|
||||
temp_arg(addr), oi);
|
||||
} else {
|
||||
tcg_gen_op3(opc, type, temp_arg(vl), temp_arg(addr), oi);
|
||||
}
|
||||
if (vh) {
|
||||
tcg_gen_op4(opc, type, temp_arg(vl), temp_arg(vh), temp_arg(addr), oi);
|
||||
} else {
|
||||
/* See TCGV_LOW/HIGH. */
|
||||
TCGTemp *al = addr + HOST_BIG_ENDIAN;
|
||||
TCGTemp *ah = addr + !HOST_BIG_ENDIAN;
|
||||
|
||||
if (vh) {
|
||||
tcg_gen_op5(opc, type, temp_arg(vl), temp_arg(vh),
|
||||
temp_arg(al), temp_arg(ah), oi);
|
||||
} else {
|
||||
tcg_gen_op4(opc, type, temp_arg(vl),
|
||||
temp_arg(al), temp_arg(ah), oi);
|
||||
}
|
||||
tcg_gen_op3(opc, type, temp_arg(vl), temp_arg(addr), oi);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1690,9 +1690,7 @@ void tcg_func_start(TCGContext *s)
|
|||
s->emit_before_op = NULL;
|
||||
QSIMPLEQ_INIT(&s->labels);
|
||||
|
||||
tcg_debug_assert(s->addr_type == TCG_TYPE_I32 ||
|
||||
s->addr_type == TCG_TYPE_I64);
|
||||
|
||||
tcg_debug_assert(s->addr_type <= TCG_TYPE_REG);
|
||||
tcg_debug_assert(s->insn_start_words > 0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue