Mesa (master): aco/validate: ensure that Operand and Definition size matches for parallelcopies

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jan 21 11:13:24 UTC 2021


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

Author: Daniel Schürmann <daniel at schuermann.dev>
Date:   Thu Dec 31 10:43:43 2020 +0000

aco/validate: ensure that Operand and Definition size matches for parallelcopies

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

---

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

diff --git a/src/amd/compiler/aco_validate.cpp b/src/amd/compiler/aco_validate.cpp
index ffd25121726..7e67839294c 100644
--- a/src/amd/compiler/aco_validate.cpp
+++ b/src/amd/compiler/aco_validate.cpp
@@ -388,6 +388,7 @@ bool validate_ir(Program* program)
             } else if (instr->opcode == aco_opcode::p_parallelcopy) {
                check(instr->definitions.size() == instr->operands.size(), "Number of Operands does not match number of Definitions", instr.get());
                for (unsigned i = 0; i < instr->operands.size(); i++) {
+                  check(instr->definitions[i].bytes() == instr->operands[i].bytes(), "Operand and Definition size must match", instr.get());
                   if (instr->operands[i].isTemp())
                      check((instr->definitions[i].getTemp().type() == instr->operands[i].regClass().type()) ||
                            (instr->definitions[i].getTemp().type() == RegType::vgpr && instr->operands[i].regClass().type() == RegType::sgpr),



More information about the mesa-commit mailing list