mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-12 17:24:09 +00:00
ARM: Fix calls to hard-float floor/ceil/trunc.
This commit is contained in:
parent
d61e9e5d89
commit
f58a84d0bc
@ -1560,8 +1560,9 @@ static void asm_callid(ASMState *as, IRIns *ir, IRCallID id)
|
|||||||
static void asm_callround(ASMState *as, IRIns *ir, int id)
|
static void asm_callround(ASMState *as, IRIns *ir, int id)
|
||||||
{
|
{
|
||||||
/* The modified regs must match with the *.dasc implementation. */
|
/* The modified regs must match with the *.dasc implementation. */
|
||||||
RegSet drop = RID2RSET(RID_D1)|RID2RSET(RID_D2)|
|
RegSet drop = RID2RSET(RID_D0)|RID2RSET(RID_D1)|RID2RSET(RID_D2)|
|
||||||
RID2RSET(RID_R0)|RID2RSET(RID_R1);
|
RID2RSET(RID_R0)|RID2RSET(RID_R1);
|
||||||
|
if (ra_hasreg(ir->r)) rset_clear(drop, ir->r);
|
||||||
ra_evictset(as, drop);
|
ra_evictset(as, drop);
|
||||||
ra_destreg(as, ir, RID_FPRET);
|
ra_destreg(as, ir, RID_FPRET);
|
||||||
emit_call(as, id == IRFPM_FLOOR ? (void *)lj_vm_floor_hf :
|
emit_call(as, id == IRFPM_FLOOR ? (void *)lj_vm_floor_hf :
|
||||||
|
Loading…
Reference in New Issue
Block a user