From 128ad6a4e7c24bf2c160871038eabd40afd3ca1c Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 28 Jul 2010 23:27:07 +0200 Subject: [PATCH] fix i386 jit_replace and x86_64 jit_movi_f 2010-07-28 Paolo Bonzini * 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 77975c9e3..9c7f4b962 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-07-28 Paolo Bonzini + + * 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 * lightning/i386/core-32.h (jit_replace): Move here (removed diff --git a/THANKS b/THANKS index fe8ad1efe..a86f8646e 100644 --- a/THANKS +++ b/THANKS @@ -5,6 +5,7 @@ Eli Barzilay Ludovic Courtes Matthew Flatt Laurent Michel +Paulo Cesar Pereira de Andrade Mike Spivey Basile Starynkevitch Sam Steingold diff --git a/doc/porting.texi b/doc/porting.texi index 826cc98b4..66cd15118 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 e176370db..3813145a5 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 af485c840..e05ee34e7 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;