[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 04/04: Fix errors in 32-bit JIT support
From: |
Andy Wingo |
Subject: |
[Guile-commits] 04/04: Fix errors in 32-bit JIT support |
Date: |
Sun, 28 Apr 2019 07:57:00 -0400 (EDT) |
wingo pushed a commit to branch lightening
in repository guile.
commit fb1f3ba0515dd5c1639fbd881ec31b01e6acb8e2
Author: Andy Wingo <address@hidden>
Date: Sun Apr 28 13:47:42 2019 +0200
Fix errors in 32-bit JIT support
* libguile/jit.c (compile_ursh_immediate):
(compile_ulsh_immediate): Fix immediate/register variant calling.
Happily a benefit of lightening, as type safety did this for us.
(DEFINE_CLOBBER_RECORDING_EMITTER_R_R_2): Pass JIT state.
---
libguile/jit.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libguile/jit.c b/libguile/jit.c
index f6d984b..b0b1e75 100644
--- a/libguile/jit.c
+++ b/libguile/jit.c
@@ -492,7 +492,7 @@ emit_##stem (scm_jit_state *j,
\
jit_##typ##_t dst1, jit_##typ##_t dst2, \
jit_##typ##_t a, jit_##typ##_t b) \
{ \
- jit_##stem (dst1, dst2, a, b); \
+ jit_##stem (j->jit, dst1, dst2, a, b); \
record_##typ##_clobber (j, dst1); \
record_##typ##_clobber (j, dst2); \
}
@@ -2945,7 +2945,7 @@ compile_ursh_immediate (scm_jit_state *j, uint8_t dst,
uint8_t a, uint8_t b)
else if (b == 32)
{
/* hi = 0, lo = hi */
- emit_movi (j, T0, T1);
+ emit_movr (j, T0, T1);
emit_movi (j, T1, 0);
}
else /* b > 32 */
@@ -2985,13 +2985,13 @@ compile_ulsh_immediate (scm_jit_state *j, uint8_t dst,
uint8_t a, uint8_t b)
else if (b == 32)
{
/* hi = lo, lo = 0 */
- emit_movi (j, T1, T0);
+ emit_movr (j, T1, T0);
emit_movi (j, T0, 0);
}
else /* b > 32 */
{
/* hi = lo << (s-32), lo = 0 */
- emit_lshr (j, T1, T0, b - 32);
+ emit_lshi (j, T1, T0, b - 32);
emit_movi (j, T0, 0);
}
emit_sp_set_u64 (j, dst, T0, T1);