From c162b9d836651e285c5c3b788fff0cfeb40b2230 Mon Sep 17 00:00:00 2001 From: pcpa Date: Mon, 2 Dec 2013 19:17:03 -0200 Subject: [PATCH] x86: Correct wrong x87 float indexed store code generation. * lib/jit_x86-x87.c: Correct wrong code generation due to comparing the base and not the value register with %st(0) in stxi_f. --- ChangeLog | 6 ++++++ lib/jit_x86-x87.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 462b7f0cf..eef561725 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2013-12-02 Paulo Andrade + + * lib/jit_x86-x87.c: Correct wrong code generation due + to comparing the base and not the value register with + %st(0) in stxi_f. + 2013-12-02 Paulo Andrade * lib/jit_x86-x87.c, lib/jit_x86.c: Use 8 bytes aligned diff --git a/lib/jit_x86-x87.c b/lib/jit_x86-x87.c index 903fa50c3..9117bd65e 100644 --- a/lib/jit_x86-x87.c +++ b/lib/jit_x86-x87.c @@ -932,7 +932,7 @@ _x87_stxi_f(jit_state_t *_jit, jit_word_t i0, jit_int32_t r0, jit_int32_t r1) x87_stxr_f(rn(reg), r0, r1); jit_unget_reg(reg); } - else if (r0 == _ST0_REGNO) + else if (r1 == _ST0_REGNO) fstsm(i0, r0, _NOREG, _SCL1); else { fxchr(r1);