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 : |
