From e03c09dfb26dc10b29a02860e1794fea31e82932 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 11 Aug 2023 23:59:00 +0200 Subject: [PATCH] aco: allow SGPRs operands with p_jump_to_epilog For TCS epilogs, we will have to pass SGPRs. Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/compiler/aco_validate.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/amd/compiler/aco_validate.cpp b/src/amd/compiler/aco_validate.cpp index 781a25538af..0aa6767654f 100644 --- a/src/amd/compiler/aco_validate.cpp +++ b/src/amd/compiler/aco_validate.cpp @@ -551,9 +551,11 @@ validate_ir(Program* program) instr->operands[0].size() == 2, "First operand of p_jump_to_epilog must be a SGPR", instr.get()); for (unsigned i = 1; i < instr->operands.size(); i++) { - check( - instr->operands[i].isOfType(RegType::vgpr) || instr->operands[i].isUndefined(), - "Other operands of p_jump_to_epilog must be VGPRs or undef", instr.get()); + check(instr->operands[i].isOfType(RegType::vgpr) || + instr->operands[i].isOfType(RegType::sgpr) || + instr->operands[i].isUndefined(), + "Other operands of p_jump_to_epilog must be VGPRs, SGPRs or undef", + instr.get()); } } else if (instr->opcode == aco_opcode::p_dual_src_export_gfx11) { check(instr->definitions.size() == 6,