Minor improvements of optimizations.

This commit is contained in:
Mike Pall
2021-07-19 16:50:05 +02:00
parent 09547f9f6e
commit 2182630903
2 changed files with 17 additions and 1 deletions

View File

@@ -2319,13 +2319,23 @@ static void asm_setup_regsp(ASMState *as)
}
/* fallthrough */ /* for integer POW */
case IR_DIV: case IR_MOD:
if (!irt_isnum(ir->t)) {
if ((LJ_64 && LJ_SOFTFP) || !irt_isnum(ir->t)) {
ir->prev = REGSP_HINT(RID_RET);
if (inloop)
as->modset |= (RSET_SCRATCH & RSET_GPR);
continue;
}
break;
#if LJ_64 && LJ_SOFTFP
case IR_ADD: case IR_SUB: case IR_MUL:
if (irt_isnum(ir->t)) {
ir->prev = REGSP_HINT(RID_RET);
if (inloop)
as->modset |= (RSET_SCRATCH & RSET_GPR);
continue;
}
break;
#endif
case IR_FPMATH:
#if LJ_TARGET_X86ORX64
if (ir->op2 <= IRFPM_TRUNC) {