vc4: Don't treat conditional MOVs as raw MOV.
authorEric Anholt <eric@anholt.net>
Mon, 15 Feb 2016 22:43:38 +0000 (14:43 -0800)
committerEric Anholt <eric@anholt.net>
Tue, 16 Feb 2016 01:13:52 +0000 (17:13 -0800)
The two consumers want to know that the destination will be exactly the
source, which is not true if we might not set the destination.

Signed-off-by: Eric Anholt <eric@anholt.net>
src/gallium/drivers/vc4/vc4_qir.c

index efbb69b..f9eb0e1 100644 (file)
@@ -193,6 +193,7 @@ qir_is_raw_mov(struct qinst *inst)
         return ((inst->op == QOP_MOV ||
                  inst->op == QOP_FMOV ||
                  inst->op == QOP_MMOV) &&
+                inst->cond == QPU_COND_ALWAYS &&
                 !inst->dst.pack &&
                 !inst->src[0].pack);
 }