diff options
Diffstat (limited to 'src/lj_asm_ppc.h')
-rw-r--r-- | src/lj_asm_ppc.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lj_asm_ppc.h b/src/lj_asm_ppc.h index e3cbe5b8..f65eed5a 100644 --- a/src/lj_asm_ppc.h +++ b/src/lj_asm_ppc.h | |||
@@ -2026,7 +2026,10 @@ static void asm_ir(ASMState *as, IRIns *ir) | |||
2026 | case IR_FPMATH: | 2026 | case IR_FPMATH: |
2027 | if (ir->op2 == IRFPM_EXP2 && asm_fpjoin_pow(as, ir)) | 2027 | if (ir->op2 == IRFPM_EXP2 && asm_fpjoin_pow(as, ir)) |
2028 | break; | 2028 | break; |
2029 | asm_callid(as, ir, IRCALL_lj_vm_floor + ir->op2); | 2029 | if (ir->op2 == IRFPM_SQRT && (as->flags & JIT_F_SQRT)) |
2030 | asm_fpunary(as, ir, PPCI_FSQRT); | ||
2031 | else | ||
2032 | asm_callid(as, ir, IRCALL_lj_vm_floor + ir->op2); | ||
2030 | break; | 2033 | break; |
2031 | 2034 | ||
2032 | /* Overflow-checking arithmetic ops. */ | 2035 | /* Overflow-checking arithmetic ops. */ |