Correct off by one bug on s390x subi. - lightning.git - Portable just-in-time compiler library

index : lightning.git
Portable just-in-time compiler library
summary refs log tree commit diff
diff options
context:
space:
mode:
authorpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2013年08月11日 18:07:44 -0300
committerpcpa <paulo.cesar.pereira.de.andrade@gmail.com>2013年08月11日 18:07:44 -0300
commit19e227e035ab132caa3623f181fd6996bee2b259 (patch)
tree63ada96489fd2365853a242683c1adcbec0892e7
parentc078a972b4f2985183132ac51e4407b6ecfe7d03 (diff)
downloadlightning-19e227e035ab132caa3623f181fd6996bee2b259.tar.gz
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.
Diffstat
-rw-r--r--ChangeLog 5
-rw-r--r--lib/jit_s390x-cpu.c 4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f33dc79..28fc900 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
* 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 527b1c1..b6c2479 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);
generated by cgit v1.2.3 (git 2.46.0) at 2025年10月02日 03:31:11 +0000

AltStyle によって変換されたページ (->オリジナル) /