diff options
Diffstat (limited to 'src/lj_asm.c')
-rw-r--r-- | src/lj_asm.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/lj_asm.c b/src/lj_asm.c index 9db950a2..67e8d466 100644 --- a/src/lj_asm.c +++ b/src/lj_asm.c | |||
@@ -1609,16 +1609,24 @@ static void asm_ir(ASMState *as, IRIns *ir) | |||
1609 | case IR_ADD: asm_add(as, ir); break; | 1609 | case IR_ADD: asm_add(as, ir); break; |
1610 | case IR_SUB: asm_sub(as, ir); break; | 1610 | case IR_SUB: asm_sub(as, ir); break; |
1611 | case IR_MUL: asm_mul(as, ir); break; | 1611 | case IR_MUL: asm_mul(as, ir); break; |
1612 | case IR_DIV: asm_div(as, ir); break; | ||
1613 | case IR_MOD: asm_mod(as, ir); break; | 1612 | case IR_MOD: asm_mod(as, ir); break; |
1614 | case IR_POW: asm_pow(as, ir); break; | ||
1615 | case IR_NEG: asm_neg(as, ir); break; | 1613 | case IR_NEG: asm_neg(as, ir); break; |
1614 | #if LJ_SOFTFP | ||
1615 | case IR_DIV: case IR_POW: case IR_ABS: | ||
1616 | case IR_ATAN2: case IR_LDEXP: case IR_FPMATH: case IR_TOBIT: | ||
1617 | lua_assert(0); /* Unused for LJ_SOFTFP. */ | ||
1618 | break; | ||
1619 | #else | ||
1620 | case IR_DIV: asm_div(as, ir); break; | ||
1621 | case IR_POW: asm_pow(as, ir); break; | ||
1616 | case IR_ABS: asm_abs(as, ir); break; | 1622 | case IR_ABS: asm_abs(as, ir); break; |
1617 | case IR_ATAN2: asm_atan2(as, ir); break; | 1623 | case IR_ATAN2: asm_atan2(as, ir); break; |
1618 | case IR_LDEXP: asm_ldexp(as, ir); break; | 1624 | case IR_LDEXP: asm_ldexp(as, ir); break; |
1625 | case IR_FPMATH: asm_fpmath(as, ir); break; | ||
1626 | case IR_TOBIT: asm_tobit(as, ir); break; | ||
1627 | #endif | ||
1619 | case IR_MIN: asm_min(as, ir); break; | 1628 | case IR_MIN: asm_min(as, ir); break; |
1620 | case IR_MAX: asm_max(as, ir); break; | 1629 | case IR_MAX: asm_max(as, ir); break; |
1621 | case IR_FPMATH: asm_fpmath(as, ir); break; | ||
1622 | 1630 | ||
1623 | /* Overflow-checking arithmetic ops. */ | 1631 | /* Overflow-checking arithmetic ops. */ |
1624 | case IR_ADDOV: asm_addov(as, ir); break; | 1632 | case IR_ADDOV: asm_addov(as, ir); break; |
@@ -1663,7 +1671,6 @@ static void asm_ir(ASMState *as, IRIns *ir) | |||
1663 | case IR_OBAR: asm_obar(as, ir); break; | 1671 | case IR_OBAR: asm_obar(as, ir); break; |
1664 | 1672 | ||
1665 | /* Type conversions. */ | 1673 | /* Type conversions. */ |
1666 | case IR_TOBIT: asm_tobit(as, ir); break; | ||
1667 | case IR_CONV: asm_conv(as, ir); break; | 1674 | case IR_CONV: asm_conv(as, ir); break; |
1668 | case IR_TOSTR: asm_tostr(as, ir); break; | 1675 | case IR_TOSTR: asm_tostr(as, ir); break; |
1669 | case IR_STRTO: asm_strto(as, ir); break; | 1676 | case IR_STRTO: asm_strto(as, ir); break; |