summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2013-06-12 21:00:41 +0200
committerIlia Mirkin <[email protected]>2014-05-23 12:34:38 -0400
commit452a4151aa1eebbc12b621a465fc452fdb95a08b (patch)
treeb4922868aa4d42eec84bcdabf15c85fa29e8569e /src
parent3b0867f35b5b294eb0d40524a6bc4c8de888a96f (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 <[email protected]> Cc: "10.2" <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nv50.cpp5
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);