diff options
Diffstat (limited to '')
-rw-r--r-- | src/lj_asm_ppc.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_asm_ppc.h b/src/lj_asm_ppc.h index 546b8e5d..aa818745 100644 --- a/src/lj_asm_ppc.h +++ b/src/lj_asm_ppc.h | |||
@@ -235,7 +235,8 @@ static int asm_fusemadd(ASMState *as, IRIns *ir, PPCIns pi, PPCIns pir) | |||
235 | { | 235 | { |
236 | IRRef lref = ir->op1, rref = ir->op2; | 236 | IRRef lref = ir->op1, rref = ir->op2; |
237 | IRIns *irm; | 237 | IRIns *irm; |
238 | if (lref != rref && | 238 | if ((as->flags & JIT_F_OPT_FMA) && |
239 | lref != rref && | ||
239 | ((mayfuse(as, lref) && (irm = IR(lref), irm->o == IR_MUL) && | 240 | ((mayfuse(as, lref) && (irm = IR(lref), irm->o == IR_MUL) && |
240 | ra_noreg(irm->r)) || | 241 | ra_noreg(irm->r)) || |
241 | (mayfuse(as, rref) && (irm = IR(rref), irm->o == IR_MUL) && | 242 | (mayfuse(as, rref) && (irm = IR(rref), irm->o == IR_MUL) && |