diff options
author | Mike Pall <mike> | 2010-12-31 22:17:44 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-12-31 22:18:14 +0100 |
commit | 007067bdd86c45809b831d386bbb90a02600c49d (patch) | |
tree | 4b883be7ffbe00e8974366820872176dfd77cdde /src | |
parent | 783dbd335f8b4f08fdcfb62ebc625570ee8a2362 (diff) | |
download | luajit-007067bdd86c45809b831d386bbb90a02600c49d.tar.gz luajit-007067bdd86c45809b831d386bbb90a02600c49d.tar.bz2 luajit-007067bdd86c45809b831d386bbb90a02600c49d.zip |
Fix register allocation for FP <- int conversion.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_asm.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c index b9ada175..b01edfbf 100644 --- a/src/lj_asm.c +++ b/src/lj_asm.c | |||
@@ -1641,7 +1641,7 @@ static void asm_conv(ASMState *as, IRIns *ir) | |||
1641 | return; | 1641 | return; |
1642 | #endif | 1642 | #endif |
1643 | } else { /* Integer to FP conversion. */ | 1643 | } else { /* Integer to FP conversion. */ |
1644 | Reg left = (LJ_64 && st == IRT_U32) ? ra_allocref(as, lref, RSET_GPR) : | 1644 | Reg left = (LJ_64 && st == IRT_U32) ? ra_alloc1(as, lref, RSET_GPR) : |
1645 | asm_fuseload(as, lref, RSET_GPR); | 1645 | asm_fuseload(as, lref, RSET_GPR); |
1646 | emit_mrm(as, irt_isnum(ir->t) ? XO_CVTSI2SD : XO_CVTSI2SS, | 1646 | emit_mrm(as, irt_isnum(ir->t) ? XO_CVTSI2SD : XO_CVTSI2SS, |
1647 | dest|((LJ_64 && (st64 || st == IRT_U32)) ? REX_64 : 0), left); | 1647 | dest|((LJ_64 && (st64 || st == IRT_U32)) ? REX_64 : 0), left); |