Mesa (master): aco: don't allow SGPRs on logical phis

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 16 14:59:50 UTC 2020


Module: Mesa
Branch: master
Commit: 8006feda09869a0feedd33714358821e81d1f762
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8006feda09869a0feedd33714358821e81d1f762

Author: Daniel Schürmann <daniel at schuermann.dev>
Date:   Tue Jun 16 10:03:52 2020 +0100

aco: don't allow SGPRs on logical phis

aco_validate() is called after phi lowering, now.

Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5496>

---

 src/amd/compiler/aco_validate.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/compiler/aco_validate.cpp b/src/amd/compiler/aco_validate.cpp
index 53c16bc5ac7..26e1c9b35bc 100644
--- a/src/amd/compiler/aco_validate.cpp
+++ b/src/amd/compiler/aco_validate.cpp
@@ -317,7 +317,7 @@ void validate(Program* program, FILE * output)
                }
             } else if (instr->opcode == aco_opcode::p_phi) {
                check(instr->operands.size() == block.logical_preds.size(), "Number of Operands does not match number of predecessors", instr.get());
-               check(instr->definitions[0].getTemp().type() == RegType::vgpr || instr->definitions[0].getTemp().regClass() == program->lane_mask, "Logical Phi Definition must be vgpr or divergent boolean", instr.get());
+               check(instr->definitions[0].getTemp().type() == RegType::vgpr, "Logical Phi Definition must be vgpr", instr.get());
             } else if (instr->opcode == aco_opcode::p_linear_phi) {
                for (const Operand& op : instr->operands)
                   check(!op.isTemp() || op.getTemp().is_linear(), "Wrong Operand type", instr.get());



More information about the mesa-commit mailing list