Mesa (10.2): nv50/ir: fix lowering of predicated instructions ( without defs)

Ian Romanick idr at kemper.freedesktop.org
Thu May 29 22:39:55 UTC 2014


Module: Mesa
Branch: 10.2
Commit: 9ea859931ea67eeb8431303c71faa83ac394f2d5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ea859931ea67eeb8431303c71faa83ac394f2d5

Author: Christoph Bumiller <e0425955 at student.tuwien.ac.at>
Date:   Wed Jun 12 21:00:41 2013 +0200

nv50/ir: fix lowering of predicated instructions (without defs)

Note that predicated instructions with defs are still not supported
because transformation to SSA doesn't handle them yet.

Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: "10.2" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit 452a4151aa1eebbc12b621a465fc452fdb95a08b)

---

 src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
index 0fb7666..ed06def 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp
@@ -1279,8 +1279,11 @@ NV50LoweringPreSSA::checkPredicate(Instruction *insn)
    Value *pred = insn->getPredicate();
    Value *cdst;
 
-   if (!pred || pred->reg.file == FILE_FLAGS)
+   // FILE_PREDICATE will simply be changed to FLAGS on conversion to SSA
+   if (!pred ||
+       pred->reg.file == FILE_FLAGS || pred->reg.file == FILE_PREDICATE)
       return;
+
    cdst = bld.getSSA(1, FILE_FLAGS);
 
    bld.mkCmp(OP_SET, CC_NEU, insn->dType, cdst, insn->dType, bld.loadImm(NULL, 0), pred);




More information about the mesa-commit mailing list