nvc0/ir: fix emiting NOTs with predicates
authorKarol Herbst <karolherbst@gmail.com>
Tue, 27 Mar 2018 01:25:28 +0000 (03:25 +0200)
committerKarol Herbst <kherbst@redhat.com>
Thu, 29 Mar 2018 01:06:36 +0000 (03:06 +0200)
Signed-off-by: Karol Herbst <karolherbst@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp

index 58594f02c7ff9b633085466fd0f9b3cf9f4c061b..be7ac1822227c9d438eed5198ab1a8edcf998220 100644 (file)
@@ -853,6 +853,8 @@ void
 CodeEmitterNVC0::emitNOT(Instruction *i)
 {
    assert(i->encSize == 8);
+   if (i->getPredicate())
+      i->moveSources(1, 1);
    i->setSrc(1, i->src(0));
    emitForm_A(i, HEX64(68000000, 000001c3));
 }