diff options
author | Ilia Mirkin <[email protected]> | 2016-03-12 20:53:34 -0500 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2016-03-13 13:17:24 -0400 |
commit | b3e7fb52349848b24f005c07859bc43691bd64bd (patch) | |
tree | 0f4bcc822c05f8a060c7bcdd2e3e1f1136189d40 /src | |
parent | a651bc027d5ed4150bb5240fc9f46a6ca569f665 (diff) |
nv50/ir: avoid folding mul + add if the mul has a dnz
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
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)) |