[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 13/67] target/s390x: Remove assert vs g_in2
From: |
Richard Henderson |
Subject: |
[PULL 13/67] target/s390x: Remove assert vs g_in2 |
Date: |
Tue, 7 Mar 2023 09:57:54 -0800 |
These were trying to determine if o->in2 was available for
use as a temporary. It's better to just allocate a new one.
Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/s390x/tcg/translate.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/target/s390x/tcg/translate.c b/target/s390x/tcg/translate.c
index 954a1edd10..9ad6e75434 100644
--- a/target/s390x/tcg/translate.c
+++ b/target/s390x/tcg/translate.c
@@ -1428,11 +1428,11 @@ static DisasJumpType op_andi(DisasContext *s, DisasOps
*o)
int shift = s->insn->data & 0xff;
int size = s->insn->data >> 8;
uint64_t mask = ((1ull << size) - 1) << shift;
+ TCGv_i64 t = tcg_temp_new_i64();
- assert(!o->g_in2);
- tcg_gen_shli_i64(o->in2, o->in2, shift);
- tcg_gen_ori_i64(o->in2, o->in2, ~mask);
- tcg_gen_and_i64(o->out, o->in1, o->in2);
+ tcg_gen_shli_i64(t, o->in2, shift);
+ tcg_gen_ori_i64(t, t, ~mask);
+ tcg_gen_and_i64(o->out, o->in1, t);
/* Produce the CC from only the bits manipulated. */
tcg_gen_andi_i64(cc_dst, o->out, mask);
@@ -3520,10 +3520,10 @@ static DisasJumpType op_ori(DisasContext *s, DisasOps
*o)
int shift = s->insn->data & 0xff;
int size = s->insn->data >> 8;
uint64_t mask = ((1ull << size) - 1) << shift;
+ TCGv_i64 t = tcg_temp_new_i64();
- assert(!o->g_in2);
- tcg_gen_shli_i64(o->in2, o->in2, shift);
- tcg_gen_or_i64(o->out, o->in1, o->in2);
+ tcg_gen_shli_i64(t, o->in2, shift);
+ tcg_gen_or_i64(o->out, o->in1, t);
/* Produce the CC from only the bits manipulated. */
tcg_gen_andi_i64(cc_dst, o->out, mask);
@@ -4832,10 +4832,10 @@ static DisasJumpType op_xori(DisasContext *s, DisasOps
*o)
int shift = s->insn->data & 0xff;
int size = s->insn->data >> 8;
uint64_t mask = ((1ull << size) - 1) << shift;
+ TCGv_i64 t = tcg_temp_new_i64();
- assert(!o->g_in2);
- tcg_gen_shli_i64(o->in2, o->in2, shift);
- tcg_gen_xor_i64(o->out, o->in1, o->in2);
+ tcg_gen_shli_i64(t, o->in2, shift);
+ tcg_gen_xor_i64(o->out, o->in1, t);
/* Produce the CC from only the bits manipulated. */
tcg_gen_andi_i64(cc_dst, o->out, mask);
--
2.34.1
- [PULL 01/67] target/mips: Drop tcg_temp_free from micromips_translate.c.inc, (continued)
- [PULL 01/67] target/mips: Drop tcg_temp_free from micromips_translate.c.inc, Richard Henderson, 2023/03/07
- [PULL 06/67] target/mips: Drop tcg_temp_free from translate_addr_const.c, Richard Henderson, 2023/03/07
- [PULL 02/67] target/mips: Drop tcg_temp_free from msa_translate.c, Richard Henderson, 2023/03/07
- [PULL 08/67] target/mips: Drop tcg_temp_free from vr54xx_translate.c, Richard Henderson, 2023/03/07
- [PULL 03/67] target/mips: Drop tcg_temp_free from mxu_translate.c, Richard Henderson, 2023/03/07
- [PULL 10/67] target/s390x: Drop free_compare, Richard Henderson, 2023/03/07
- [PULL 07/67] target/mips: Drop tcg_temp_free from tx79_translate.c, Richard Henderson, 2023/03/07
- [PULL 05/67] target/mips: Drop tcg_temp_free from octeon_translate.c, Richard Henderson, 2023/03/07
- [PULL 04/67] target/mips: Drop tcg_temp_free from nanomips_translate.c.inc, Richard Henderson, 2023/03/07
- [PULL 11/67] target/s390x: Drop tcg_temp_free from translate_vx.c.inc, Richard Henderson, 2023/03/07
- [PULL 13/67] target/s390x: Remove assert vs g_in2,
Richard Henderson <=
- [PULL 09/67] target/mips: Drop tcg_temp_free from translate.c, Richard Henderson, 2023/03/07
- [PULL 15/67] tcg: Create tcg/tcg-temp-internal.h, Richard Henderson, 2023/03/07
- [PULL 12/67] target/s390x: Drop tcg_temp_free from translate.c, Richard Henderson, 2023/03/07
- [PULL 14/67] target/s390x: Remove g_out, g_out2, g_in1, g_in2 from DisasContext, Richard Henderson, 2023/03/07
- [PULL 16/67] include/exec: Set default `NB_MMU_MODES` to 16, Richard Henderson, 2023/03/07
- [PULL 21/67] target/hexagon: Remove `NB_MMU_MODES` define, Richard Henderson, 2023/03/07
- [PULL 17/67] target/alpha: Remove `NB_MMU_MODES` define, Richard Henderson, 2023/03/07
- [PULL 20/67] target/cris: Remove `NB_MMU_MODES` define, Richard Henderson, 2023/03/07
- [PULL 22/67] target/hppa: Remove `NB_MMU_MODES` define, Richard Henderson, 2023/03/07
- [PULL 23/67] target/i386: Remove `NB_MMU_MODES` define, Richard Henderson, 2023/03/07