diff --git a/ChangeLog b/ChangeLog index f33dc7990..28fc900f9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-08-11 Paulo Andrade + + * lib/jit_s390x-cpu.c: Correct code checking if immediate + fits instruction, but using the negated value. + 2013-07-28 Paulo Andrade * include/lightning/jit_s390x.h, lib/jit_s390x-cpu.c, diff --git a/lib/jit_s390x-cpu.c b/lib/jit_s390x-cpu.c index 527b1c1f3..b6c24795e 100644 --- a/lib/jit_s390x-cpu.c +++ b/lib/jit_s390x-cpu.c @@ -2377,9 +2377,9 @@ static void _subi(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_word_t i0) { jit_int32_t reg; - if (r0 == r1 && s16_p(i0)) + if (r0 == r1 && s16_p(-i0)) AGHI(r0, x16(-i0)); - else if (s20_p(i0)) + else if (s20_p(-i0)) LAY(r0, x20(-i0), 0, r1); else { reg = jit_get_reg(jit_class_gpr);