wingo pushed a commit to branch lightning
in repository guile.
commit 128ad6a4e7c24bf2c160871038eabd40afd3ca1c
Author: Paolo Bonzini <[email protected]>
Date: Wed Jul 28 23:27:07 2010 +0200
fix i386 jit_replace and x86_64 jit_movi_f
2010-07-28 Paolo Bonzini <[email protected]>
* THANKS: Add Paulo Cesar Pereira de Andrade.
* doc/porting.texi: Fix ordering of arguments in jit_stxi.
* lightning/i386/core-32.h (jit_replace): Remove cmp argument.
* lightning/i386/fp-64.h (jit_movi_f): Fix.
---
ChangeLog | 7 +++++++
THANKS | 1 +
doc/porting.texi | 6 +++---
lightning/i386/core-32.h | 6 +++---
lightning/i386/fp-64.h | 5 ++---
5 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 77975c9..9c7f4b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-07-28 Paolo Bonzini <[email protected]>
+
+ * THANKS: Add Paulo Cesar Pereira de Andrade.
+ * doc/porting.texi: Fix ordering of arguments in jit_stxi.
+ * lightning/i386/core-32.h (jit_replace): Remove cmp argument.
+ * lightning/i386/fp-64.h (jit_movi_f): Fix.
+
2010-07-26 Paolo Bonzini <[email protected]>
* lightning/i386/core-32.h (jit_replace): Move here (removed
diff --git a/THANKS b/THANKS
index fe8ad1e..a86f864 100644
--- a/THANKS
+++ b/THANKS
@@ -5,6 +5,7 @@ Eli Barzilay <[email protected]>
Ludovic Courtes <[email protected]>
Matthew Flatt <[email protected]>
Laurent Michel <[email protected]>
+Paulo Cesar Pereira de Andrade <[email protected]>
Mike Spivey <[email protected]>
Basile Starynkevitch <[email protected]>
Sam Steingold <[email protected]>
diff --git a/doc/porting.texi b/doc/porting.texi
index 826cc98..66cd151 100644
--- a/doc/porting.texi
+++ b/doc/porting.texi
@@ -1036,11 +1036,11 @@ operations:
#define jit_rshr_i(d, r1, r2)
#define jit_rshr_ui(d, r1, r2)
#define jit_sqrt_d(rd,rs)
-#define jit_stxi_c(rd, id, rs)
+#define jit_stxi_c(id, rd, rs)
#define jit_stxi_d(id, rd, rs)
#define jit_stxi_f(id, rd, rs)
-#define jit_stxi_i(rd, id, rs)
-#define jit_stxi_s(rd, id, rs)
+#define jit_stxi_i(id, rd, rs)
+#define jit_stxi_s(id, rd, rs)
#define jit_stxr_c(d1, d2, rs)
#define jit_stxr_d(d1, d2, rs)
#define jit_stxr_f(d1, d2, rs)
diff --git a/lightning/i386/core-32.h b/lightning/i386/core-32.h
index e176370..3813145 100644
--- a/lightning/i386/core-32.h
+++ b/lightning/i386/core-32.h
@@ -127,9 +127,9 @@ struct jit_local_state {
#define jit_reg8(rs) ( ((rs) == _SI || (rs) == _DI) ? _AL :
(_rN(rs) | _AL ))
#define jit_reg16(rs) ( _rN(rs) | _AX )
-#define jit_replace(s, rep, cmp, op) \
- (jit_pushr_i(rep), \
- MOVLir((s), (rep)), \
+#define jit_replace(s, rep, op) \
+ (jit_pushr_i(rep), \
+ MOVLir((s), (rep)), \
op, jit_popr_i(rep))
#define jit_movbrm(rs, dd, db, di, ds)
\
diff --git a/lightning/i386/fp-64.h b/lightning/i386/fp-64.h
index af485c8..e05ee34 100644
--- a/lightning/i386/fp-64.h
+++ b/lightning/i386/fp-64.h
@@ -140,11 +140,10 @@
#define jit_movi_f(rd,immf) \
((immf) == 0.0 ? XORSSrr ((rd), (rd)) :
\
- (_O (0x50), \
- MOVLim (0x12345678L, 0, _ESP, 0, 0), \
+ (PUSHQi (0x12345678L), \
*((float *) (_jit.x.uc_pc - 4)) = (float) immf, \
jit_ldr_f((rd), _ESP), \
- ADDLir(4, _ESP)))
+ ADDQir(8, _ESP)))
union jit_double_imm {
double d;