nv50/ir: fix wrong check when optimizing MAD to SHLADD
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 6 Oct 2016 23:08:54 +0000 (01:08 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 6 Oct 2016 23:13:06 +0000 (01:13 +0200)
Checking if MAD is supported is definitely wrong, and it's
more likely a typo I introduced few days ago which breaks
NV50 because SHLADD is not supported there.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp

index 1c71155f8115b74085812ee29c74fbaded8af593..6efb29eb4a9b21667ce243c184fd14f24bf6538c 100644 (file)
@@ -1030,7 +1030,7 @@ ConstantFolding::opnd(Instruction *i, ImmediateValue &imm0, int s)
          i->op = OP_ADD;
       } else
       if (s == 1 && !imm0.isNegative() && imm0.isPow2() &&
-          target->isOpSupported(i->op, i->dType)) {
+          target->isOpSupported(OP_SHLADD, i->dType)) {
          i->op = OP_SHLADD;
          imm0.applyLog2();
          i->setSrc(1, new_ImmediateValue(prog, imm0.reg.data.u32));