nv50/ir: it appears that OP_DISCARD can't take a join modifier
authorIlia Mirkin <imirkin@alum.mit.edu>
Thu, 20 Oct 2016 03:59:15 +0000 (23:59 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sat, 22 Oct 2016 16:02:35 +0000 (12:02 -0400)
nvdisasm does not print a .S even though the bit is set.

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

index 0fb1a7803bd08a4f933819eac943e95b95b94e7e..8494c885f9ec5c7159edf1705bce131c9e488427 100644 (file)
@@ -2968,6 +2968,7 @@ FlatteningPass::visit(BasicBlock *bb)
          insn = insn->prev;
          if (insn && !insn->getPredicate() &&
              !insn->asFlow() &&
+             insn->op != OP_DISCARD &&
              insn->op != OP_TEXBAR &&
              !isTextureOp(insn->op) && // probably just nve4
              !isSurfaceOp(insn->op) && // not confirmed