nv50/ir: make sure to reverse cond codes on all the OP_SET variants
authorIlia Mirkin <imirkin@alum.mit.edu>
Sat, 10 May 2014 19:02:36 +0000 (15:02 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Sun, 11 May 2014 23:26:31 +0000 (19:26 -0400)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Cc: "10.2 10.1" <mesa-stable@lists.freedesktop.org>
src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp

index c89e1c34e2bc20a7eb205ed0fdaa0951c127a14d..cdae3c8c2badde644891c95855d19327304be9dc 100644 (file)
@@ -187,7 +187,8 @@ LoadPropagation::checkSwapSrc01(Instruction *insn)
       return;
    }
 
-   if (insn->op == OP_SET)
+   if (insn->op == OP_SET || insn->op == OP_SET_AND ||
+       insn->op == OP_SET_OR || insn->op == OP_SET_XOR)
       insn->asCmp()->setCond = reverseCondCode(insn->asCmp()->setCond);
    else
    if (insn->op == OP_SLCT)