nv50/ir: replace zeros in movs as well
authorIlia Mirkin <imirkin@alum.mit.edu>
Fri, 4 Dec 2015 04:43:44 +0000 (23:43 -0500)
committerIlia Mirkin <imirkin@alum.mit.edu>
Fri, 4 Dec 2015 04:46:02 +0000 (23:46 -0500)
The original change to put zeroes directly into instructions created
conditional mov's with the zero immediate. However that can't be
emitted, so make sure to replace the zero with r63.

Fixes: 52a800a68 (nv50/ir: allow immediate 0 to be loaded anywhere)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp

index 397c5a952e1da5cfd1e39c19b672004b38262bf4..df44a7be7b768597d79fb4b0ade6554c03706622 100644 (file)
@@ -293,8 +293,7 @@ NV50LegalizePostRA::visit(BasicBlock *bb)
                next = hi;
          }
 
-         if (i->op != OP_MOV && i->op != OP_PFETCH &&
-             i->op != OP_BAR &&
+         if (i->op != OP_PFETCH && i->op != OP_BAR &&
              (!i->defExists(0) || i->def(0).getFile() != FILE_ADDRESS))
             replaceZero(i);
       }