From ceaf1b05cfe78b57b3fd6c941bd7c8bdbe113a4c Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 10 Aug 2010 23:33:18 -0400 Subject: [PATCH] fix jit_extr_f_d and jit_extr_d_f for x86-64 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2010-08-10 Paulo César Pereira de Andrade Paolo Bonzini * lightning/i386/core-32.h (jit_replace): Use MOVLrr, not MOVLir. (jit_movbrm): Check index register as well. * lightning/i386/fp-64.h: Add jit_extr_f_d and jit_extr_d_f. * lightning/fp-common.h: Add jit_extr_f_d and jit_extr_d_f. --- ChangeLog | 8 ++++++++ lightning/fp-common.h | 10 ++++++++-- lightning/i386/fp-64.h | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 550d75d6b..1375eb7c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-08-10 Paulo César Pereira de Andrade + Paolo Bonzini + + * lightning/i386/core-32.h (jit_replace): Use MOVLrr, not MOVLir. + (jit_movbrm): Check index register as well. + * lightning/i386/fp-64.h: Add jit_extr_f_d and jit_extr_d_f. + * lightning/fp-common.h: Add jit_extr_f_d and jit_extr_d_f. + 2010-07-28 Paolo Bonzini * tests/Makefile.am: Add ldst test. diff --git a/lightning/fp-common.h b/lightning/fp-common.h index 5dfe3cb88..3812a6af6 100644 --- a/lightning/fp-common.h +++ b/lightning/fp-common.h @@ -61,8 +61,6 @@ #define jit_abs_f(rd,rs) jit_abs_d(rd,rs) #define jit_negr_f(rd,rs) jit_negr_d(rd,rs) #define jit_sqrt_f(rd,rs) jit_sqrt_d(rd,rs) -#define jit_extr_f_d(rs, rd) jit_movr_d(rd, rs) -#define jit_extr_d_f(rs, rd) jit_movr_d(rd, rs) #define jit_extr_i_f(rd, rs) jit_extr_i_d(rd, rs) #define jit_roundr_f_i(rd, rs) jit_roundr_d_i(rd, rs) #define jit_floorr_f_i(rd, rs) jit_floorr_d_i(rd, rs) @@ -85,6 +83,14 @@ #define jit_retval_f(rs) jit_retval_d(rs) #endif +#ifndef jit_extr_f_d +#define jit_extr_f_d(rd, rs) jit_movr_d(rd, rs) +#endif + +#ifndef jit_extr_d_f +#define jit_extr_d_f(rd, rs) jit_movr_d(rd, rs) +#endif + #ifndef jit_beqr_f #define jit_beqr_f(lab, a, b) jit_beqr_d(lab, a, b) #define jit_bner_f(lab, a, b) jit_bner_d(lab, a, b) diff --git a/lightning/i386/fp-64.h b/lightning/i386/fp-64.h index e05ee34e7..67fdf8cb6 100644 --- a/lightning/i386/fp-64.h +++ b/lightning/i386/fp-64.h @@ -162,6 +162,8 @@ union jit_double_imm { #define jit_extr_i_f(rd, rs) CVTSI2SSLrr((rs), (rd)) #define jit_extr_l_d(rd, rs) CVTSI2SDQrr((rs), (rd)) #define jit_extr_l_f(rd, rs) CVTSI2SSQrr((rs), (rd)) +#define jit_extr_f_d(rd, rs) CVTSS2SDrr((rs), (rd)) +#define jit_extr_d_f(rd, rs) CVTSD2SSrr((rs), (rd)) #define jit_roundr_d_i(rd, rs) CVTSD2SILrr((rs), (rd)) #define jit_roundr_f_i(rd, rs) CVTSS2SILrr((rs), (rd)) #define jit_roundr_d_l(rd, rs) CVTSD2SIQrr((rs), (rd))