diff options
author | Mike Pall <mike> | 2012-08-19 18:39:47 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-08-19 18:39:47 +0200 |
commit | f58a84d0bc9852c82e10db268dd549c9a5b33014 (patch) | |
tree | f873758935c6bb7c85e2355249b4fc26c3df68d6 | |
parent | d61e9e5d895fcf9443bd02a7a8dedcd41dd700a6 (diff) | |
download | luajit-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.h | 3 |
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) | |||
1560 | static void asm_callround(ASMState *as, IRIns *ir, int id) | 1560 | static 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 : |