aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2012-08-19 18:39:47 +0200
committerMike Pall <mike>2012-08-19 18:39:47 +0200
commitf58a84d0bc9852c82e10db268dd549c9a5b33014 (patch)
treef873758935c6bb7c85e2355249b4fc26c3df68d6
parentd61e9e5d895fcf9443bd02a7a8dedcd41dd700a6 (diff)
downloadluajit-f58a84d0bc9852c82e10db268dd549c9a5b33014.tar.gz
luajit-f58a84d0bc9852c82e10db268dd549c9a5b33014.tar.bz2
luajit-f58a84d0bc9852c82e10db268dd549c9a5b33014.zip
ARM: Fix calls to hard-float floor/ceil/trunc.
-rw-r--r--src/lj_asm_arm.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_asm_arm.h b/src/lj_asm_arm.h
index c380a6e8..8574a2b3 100644
--- a/src/lj_asm_arm.h
+++ b/src/lj_asm_arm.h
@@ -1560,8 +1560,9 @@ static void asm_callid(ASMState *as, IRIns *ir, IRCallID id)
1560static void asm_callround(ASMState *as, IRIns *ir, int id) 1560static void asm_callround(ASMState *as, IRIns *ir, int id)
1561{ 1561{
1562 /* The modified regs must match with the *.dasc implementation. */ 1562 /* The modified regs must match with the *.dasc implementation. */
1563 RegSet drop = RID2RSET(RID_D1)|RID2RSET(RID_D2)| 1563 RegSet drop = RID2RSET(RID_D0)|RID2RSET(RID_D1)|RID2RSET(RID_D2)|
1564 RID2RSET(RID_R0)|RID2RSET(RID_R1); 1564 RID2RSET(RID_R0)|RID2RSET(RID_R1);
1565 if (ra_hasreg(ir->r)) rset_clear(drop, ir->r);
1565 ra_evictset(as, drop); 1566 ra_evictset(as, drop);
1566 ra_destreg(as, ir, RID_FPRET); 1567 ra_destreg(as, ir, RID_FPRET);
1567 emit_call(as, id == IRFPM_FLOOR ? (void *)lj_vm_floor_hf : 1568 emit_call(as, id == IRFPM_FLOOR ? (void *)lj_vm_floor_hf :