summaryrefslogtreecommitdiff
path: root/src/lj_asm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_asm.c')
-rw-r--r--src/lj_asm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c
index 2e6b1745..8d2cafb3 100644
--- a/src/lj_asm.c
+++ b/src/lj_asm.c
@@ -1610,6 +1610,7 @@ static void asm_setup_regsp(ASMState *as)
1610 break; 1610 break;
1611 /* fallthrough */ 1611 /* fallthrough */
1612 case IR_ALOAD: case IR_HLOAD: case IR_ULOAD: case IR_VLOAD: 1612 case IR_ALOAD: case IR_HLOAD: case IR_ULOAD: case IR_VLOAD:
1613 if (!LJ_SOFTFP && irt_isnum(ir->t)) break;
1613 ir->prev = (uint16_t)REGSP_HINT((rload & 15)); 1614 ir->prev = (uint16_t)REGSP_HINT((rload & 15));
1614 rload = lj_ror(rload, 4); 1615 rload = lj_ror(rload, 4);
1615 continue; 1616 continue;
@@ -1641,7 +1642,7 @@ static void asm_setup_regsp(ASMState *as)
1641 } 1642 }
1642 break; 1643 break;
1643#endif 1644#endif
1644#if LJ_NEED_FP64 1645#if !LJ_SOFTFP && LJ_NEED_FP64
1645 case IR_CONV: 1646 case IR_CONV:
1646 if (irt_isfp((ir-1)->t)) { 1647 if (irt_isfp((ir-1)->t)) {
1647 ir->prev = REGSP_HINT(RID_FPRET); 1648 ir->prev = REGSP_HINT(RID_FPRET);