aboutsummaryrefslogtreecommitdiff
path: root/src/lj_asm_mips.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lj_asm_mips.h38
1 files changed, 2 insertions, 36 deletions
diff --git a/src/lj_asm_mips.h b/src/lj_asm_mips.h
index 8b5efc35..6d898c5f 100644
--- a/src/lj_asm_mips.h
+++ b/src/lj_asm_mips.h
@@ -1607,8 +1607,6 @@ static void asm_cnew(ASMState *as, IRIns *ir)
1607 ra_allockreg(as, (int32_t)(sz+sizeof(GCcdata)), 1607 ra_allockreg(as, (int32_t)(sz+sizeof(GCcdata)),
1608 ra_releasetmp(as, ASMREF_TMP1)); 1608 ra_releasetmp(as, ASMREF_TMP1));
1609} 1609}
1610#else
1611#define asm_cnew(as, ir) ((void)0)
1612#endif 1610#endif
1613 1611
1614/* -- Write barriers ------------------------------------------------------ */ 1612/* -- Write barriers ------------------------------------------------------ */
@@ -1677,8 +1675,6 @@ static void asm_fpunary(ASMState *as, IRIns *ir, MIPSIns mi)
1677#if !LJ_SOFTFP32 1675#if !LJ_SOFTFP32
1678static void asm_fpmath(ASMState *as, IRIns *ir) 1676static void asm_fpmath(ASMState *as, IRIns *ir)
1679{ 1677{
1680 if (ir->op2 == IRFPM_EXP2 && asm_fpjoin_pow(as, ir))
1681 return;
1682#if !LJ_SOFTFP 1678#if !LJ_SOFTFP
1683 if (ir->op2 <= IRFPM_TRUNC) 1679 if (ir->op2 <= IRFPM_TRUNC)
1684 asm_callround(as, ir, IRCALL_lj_vm_floor + ir->op2); 1680 asm_callround(as, ir, IRCALL_lj_vm_floor + ir->op2);
@@ -1766,41 +1762,13 @@ static void asm_mul(ASMState *as, IRIns *ir)
1766 } 1762 }
1767} 1763}
1768 1764
1769static void asm_mod(ASMState *as, IRIns *ir)
1770{
1771#if LJ_64 && LJ_HASFFI
1772 if (!irt_isint(ir->t))
1773 asm_callid(as, ir, irt_isi64(ir->t) ? IRCALL_lj_carith_modi64 :
1774 IRCALL_lj_carith_modu64);
1775 else
1776#endif
1777 asm_callid(as, ir, IRCALL_lj_vm_modi);
1778}
1779
1780#if !LJ_SOFTFP32 1765#if !LJ_SOFTFP32
1781static void asm_pow(ASMState *as, IRIns *ir) 1766static void asm_fpdiv(ASMState *as, IRIns *ir)
1782{
1783#if LJ_64 && LJ_HASFFI
1784 if (!irt_isnum(ir->t))
1785 asm_callid(as, ir, irt_isi64(ir->t) ? IRCALL_lj_carith_powi64 :
1786 IRCALL_lj_carith_powu64);
1787 else
1788#endif
1789 asm_callid(as, ir, IRCALL_lj_vm_powi);
1790}
1791
1792static void asm_div(ASMState *as, IRIns *ir)
1793{ 1767{
1794#if LJ_64 && LJ_HASFFI
1795 if (!irt_isnum(ir->t))
1796 asm_callid(as, ir, irt_isi64(ir->t) ? IRCALL_lj_carith_divi64 :
1797 IRCALL_lj_carith_divu64);
1798 else
1799#endif
1800#if !LJ_SOFTFP 1768#if !LJ_SOFTFP
1801 asm_fparith(as, ir, MIPSI_DIV_D); 1769 asm_fparith(as, ir, MIPSI_DIV_D);
1802#else 1770#else
1803 asm_callid(as, ir, IRCALL_softfp_div); 1771 asm_callid(as, ir, IRCALL_softfp_div);
1804#endif 1772#endif
1805} 1773}
1806#endif 1774#endif
@@ -1838,8 +1806,6 @@ static void asm_abs(ASMState *as, IRIns *ir)
1838} 1806}
1839#endif 1807#endif
1840 1808
1841#define asm_ldexp(as, ir) asm_callid(as, ir, IRCALL_ldexp)
1842
1843static void asm_arithov(ASMState *as, IRIns *ir) 1809static void asm_arithov(ASMState *as, IRIns *ir)
1844{ 1810{
1845 /* TODO MIPSR6: bovc/bnvc. Caveat: no delay slot to load RID_TMP. */ 1811 /* TODO MIPSR6: bovc/bnvc. Caveat: no delay slot to load RID_TMP. */