[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-4.0 v2 37/37] tcg/i386: Remove L constraint
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH for-4.0 v2 37/37] tcg/i386: Remove L constraint |
Date: |
Fri, 23 Nov 2018 15:45:58 +0100 |
We no longer need any scratch registers for user-only memory ops.
Signed-off-by: Richard Henderson <address@hidden>
---
tcg/i386/tcg-target.inc.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/tcg/i386/tcg-target.inc.c b/tcg/i386/tcg-target.inc.c
index 19a0fa8a03..2815dd25a0 100644
--- a/tcg/i386/tcg-target.inc.c
+++ b/tcg/i386/tcg-target.inc.c
@@ -240,10 +240,7 @@ static const char *constrain_memop_arg(QemuMemArgType
type, bool is_64, int hi)
#else
static const char *constrain_memop_arg(QemuMemArgType type, bool is_64, int hi)
{
- if (TCG_TARGET_REG_BITS == 64) {
- /* Temps are still needed for guest_base && !guest_base_flags. */
- return "L";
- } else if (type == ARG_STVAL && !is_64) {
+ if (TCG_TARGET_REG_BITS == 32 && type == ARG_STVAL && !is_64) {
/* Byte stores must happen from q-regs. Because of this, we must
* constrain all INDEX_op_qemu_st_i32 to use q-regs.
*/
@@ -353,14 +350,6 @@ static const char
*target_parse_constraint(TCGArgConstraint *ct,
ct->u.regs |= ALL_VECTOR_REGS;
break;
- /* qemu_ld/st address constraint */
- case 'L':
- ct->ct |= TCG_CT_REG;
- ct->u.regs = TCG_TARGET_REG_BITS == 64 ? 0xffff : 0xff;
- tcg_regset_reset_reg(ct->u.regs, TCG_REG_L0);
- tcg_regset_reset_reg(ct->u.regs, TCG_REG_L1);
- break;
-
case 'e':
ct->ct |= (type == TCG_TYPE_I32 ? TCG_CT_CONST : TCG_CT_CONST_S32);
break;
--
2.17.2
- [Qemu-devel] [PATCH for-4.0 v2 31/37] tcg/aarch64: Set TCG_TARGET_HAS_MEMORY_BSWAP to false, (continued)
- [Qemu-devel] [PATCH for-4.0 v2 31/37] tcg/aarch64: Set TCG_TARGET_HAS_MEMORY_BSWAP to false, Richard Henderson, 2018/11/23
- [Qemu-devel] [PATCH for-4.0 v2 23/37] tcg/ppc: Change TCG_TARGET_CALL_ALIGN_ARGS to bool, Richard Henderson, 2018/11/23
- [Qemu-devel] [PATCH for-4.0 v2 25/37] tcg/ppc: Use TCG_TARGET_NEED_LDST_OOL_LABELS, Richard Henderson, 2018/11/23
- [Qemu-devel] [PATCH for-4.0 v2 28/37] tcg/optimize: Optimize bswap, Richard Henderson, 2018/11/23
- [Qemu-devel] [PATCH for-4.0 v2 21/37] tcg/ppc: Split out tcg_out_call_int, Richard Henderson, 2018/11/23
- [Qemu-devel] [PATCH for-4.0 v2 26/37] tcg: Clean up generic bswap32, Richard Henderson, 2018/11/23
- [Qemu-devel] [PATCH for-4.0 v2 19/37] tcg/arm: Use TCG_TARGET_NEED_LDST_OOL_LABELS, Richard Henderson, 2018/11/23
- [Qemu-devel] [PATCH for-4.0 v2 30/37] tcg/i386: Adjust TCG_TARGET_HAS_MEMORY_BSWAP, Richard Henderson, 2018/11/23
- [Qemu-devel] [PATCH for-4.0 v2 33/37] tcg/i386: Propagate is64 to tcg_out_qemu_ld_direct, Richard Henderson, 2018/11/23
- [Qemu-devel] [PATCH for-4.0 v2 35/37] tcg/i386: Add setup_guest_base_seg for FreeBSD, Richard Henderson, 2018/11/23
- [Qemu-devel] [PATCH for-4.0 v2 37/37] tcg/i386: Remove L constraint,
Richard Henderson <=
- [Qemu-devel] [PATCH for-4.0 v2 32/37] tcg/arm: Set TCG_TARGET_HAS_MEMORY_BSWAP to false for user-only, Richard Henderson, 2018/11/23
- Re: [Qemu-devel] [PATCH for-4.0 v2 00/37] tcg: Assorted cleanups, no-reply, 2018/11/23
- Re: [Qemu-devel] [PATCH for-4.0 v2 00/37] tcg: Assorted cleanups, Emilio G. Cota, 2018/11/25