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);