From: Richard Henderson Date: Thu, 27 Apr 2023 12:55:11 +0000 (+0100) Subject: tcg/i386: Remove TARGET_LONG_BITS, TCG_TYPE_TL X-Git-Tag: v8.1.0-rc0~122^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=63f4da91f955f6ca1d1d3264a2e0d9fdd22bc33e;p=thirdparty%2Fqemu.git tcg/i386: Remove TARGET_LONG_BITS, TCG_TYPE_TL All uses can be infered from the INDEX_op_qemu_*_a{32,64}_* opcode being used. Add a field into TCGLabelQemuLdst to record the usage. Reviewed-by: Alex Bennée Signed-off-by: Richard Henderson --- diff --git a/tcg/i386/tcg-target.c.inc b/tcg/i386/tcg-target.c.inc index d85f980883b..14bddc8c335 100644 --- a/tcg/i386/tcg-target.c.inc +++ b/tcg/i386/tcg-target.c.inc @@ -1929,10 +1929,8 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, ldst->addrhi_reg = addrhi; if (TCG_TARGET_REG_BITS == 64) { - if (TARGET_LONG_BITS == 64) { - ttype = TCG_TYPE_I64; - trexw = P_REXW; - } + ttype = s->addr_type; + trexw = (ttype == TCG_TYPE_I32 ? 0 : P_REXW); if (TCG_TYPE_PTR == TCG_TYPE_I64) { hrexw = P_REXW; if (TARGET_PAGE_BITS + CPU_TLB_DYN_MAX_BITS > 32) { @@ -1977,7 +1975,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, ldst->label_ptr[0] = s->code_ptr; s->code_ptr += 4; - if (TARGET_LONG_BITS > TCG_TARGET_REG_BITS) { + if (TCG_TARGET_REG_BITS == 32 && s->addr_type == TCG_TYPE_I64) { /* cmp 4(TCG_REG_L0), addrhi */ tcg_out_modrm_offset(s, OPC_CMP_GvEv, addrhi, TCG_REG_L0, cmp_ofs + 4);