mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-01 18:00:23 +02:00
Correct off by one bug on s390x subi.
* lib/jit_s390x-cpu.c: Correct code checking if immediate fits instruction, but using the negated value.
This commit is contained in:
parent
c078a972b4
commit
19e227e035
2 changed files with 7 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2013-08-11 Paulo Andrade <pcpa@gnu.org>
|
||||||
|
|
||||||
|
* lib/jit_s390x-cpu.c: Correct code checking if immediate
|
||||||
|
fits instruction, but using the negated value.
|
||||||
|
|
||||||
2013-07-28 Paulo Andrade <pcpa@gnu.org>
|
2013-07-28 Paulo Andrade <pcpa@gnu.org>
|
||||||
|
|
||||||
* include/lightning/jit_s390x.h, lib/jit_s390x-cpu.c,
|
* include/lightning/jit_s390x.h, 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)
|
_subi(jit_state_t *_jit, jit_int32_t r0, jit_int32_t r1, jit_word_t i0)
|
||||||
{
|
{
|
||||||
jit_int32_t reg;
|
jit_int32_t reg;
|
||||||
if (r0 == r1 && s16_p(i0))
|
if (r0 == r1 && s16_p(-i0))
|
||||||
AGHI(r0, x16(-i0));
|
AGHI(r0, x16(-i0));
|
||||||
else if (s20_p(i0))
|
else if (s20_p(-i0))
|
||||||
LAY(r0, x20(-i0), 0, r1);
|
LAY(r0, x20(-i0), 0, r1);
|
||||||
else {
|
else {
|
||||||
reg = jit_get_reg(jit_class_gpr);
|
reg = jit_get_reg(jit_class_gpr);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue