target/s390x: Remove assert vs g_in2
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>
This commit is contained in:
parent
3ac6f91bca
commit
ab9984bd91
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue