wingo pushed a commit to branch lightning
in repository guile.
commit fe3aee270672e11eb2ea484fc3fe45d8548cd162
Author: pcpa <[email protected]>
Date: Tue Oct 8 16:39:14 2013 -0300
PPC: Correct wrong ldxi_l simplification in 64 bit mode
* lib/jit_ppc-cpu.c: Correct wrong shortcut for ldxi_l with
a zero offset, that was calling ldr_i instead of ldr_l.
---
ChangeLog | 5 +++++
lib/jit_ppc-cpu.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/ChangeLog b/ChangeLog
index 13aa358..4fe45c7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2013-10-08 Paulo Andrade <[email protected]>
+ * lib/jit_ppc-cpu.c: Correct wrong shortcut for ldxi_l with
+ a zero offset, that was calling ldr_i instead of ldr_l.
+
+2013-10-08 Paulo Andrade <[email protected]>
+
* include/lightning/jit_arm.h, lib/jit_arm-cpu.c: Do not use
by default load/store instructions that map to ldrt/strt.
There is already the long displacement version for positive
diff --git a/lib/jit_ppc-cpu.c b/lib/jit_ppc-cpu.c
index 7cb8b27..eb18395 100644
--- a/lib/jit_ppc-cpu.c
+++ b/lib/jit_ppc-cpu.c
@@ -2669,7 +2669,7 @@ _ldxi_l(jit_state_t *_jit, jit_int32_t r0, jit_int32_t
r1, jit_word_t i0)
{
jit_int32_t reg;
if (i0 == 0)
- ldr_i(r0, r1);
+ ldr_l(r0, r1);
else if (can_sign_extend_short_p(i0)) {
if (r1 == _R0_REGNO) {
reg = jit_get_reg(jit_class_gpr);