From: Ilia Mirkin Date: Sun, 13 Mar 2016 01:53:34 +0000 (-0500) Subject: nv50/ir: avoid folding mul + add if the mul has a dnz X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b3e7fb52349848b24f005c07859bc43691bd64bd;p=mesa.git nv50/ir: avoid folding mul + add if the mul has a dnz Signed-off-by: Ilia Mirkin Reviewed-by: Samuel Pitoiset --- diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp index 6192c0665e4..66e7b2e8243 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp @@ -1635,11 +1635,10 @@ AlgebraicOpt::tryADDToMADOrSAD(Instruction *add, operation toOp) if (src->getUniqueInsn() && src->getUniqueInsn()->bb != add->bb) return false; - if (src->getInsn()->saturate) + if (src->getInsn()->saturate || src->getInsn()->postFactor || + src->getInsn()->dnz) return false; - if (src->getInsn()->postFactor) - return false; if (toOp == OP_SAD) { ImmediateValue imm; if (!src->getInsn()->src(2).getImmediate(imm))