diff options
author | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2013-06-12 21:00:41 +0200 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2014-05-29 15:16:24 -0700 |
commit | 9ea859931ea67eeb8431303c71faa83ac394f2d5 (patch) | |
tree | 1ad561bafcf0d728d8652c17cd0732020c526f9c /src/gallium/drivers/nouveau/codegen | |
parent | 4e5296208d6e6da53280b9485a2539d44a592516 (diff) |
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@alum.mit.edu>
Cc: "10.2" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 452a4151aa1eebbc12b621a465fc452fdb95a08b)
Diffstat (limited to 'src/gallium/drivers/nouveau/codegen')
-rw-r--r-- | src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
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 0fb76663ffe..ed06def24ff 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); |