diff options
Diffstat (limited to 'src/lj_asm.c')
-rw-r--r-- | src/lj_asm.c | 3 |
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); |