From 1bce498bbfca032fa7a38f1022f60c04467fe6d2 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Mon, 15 Apr 2024 12:42:02 +0100 Subject: [PATCH] aco: include LDSDIR in latency/etc stats MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_statistics.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/amd/compiler/aco_statistics.cpp b/src/amd/compiler/aco_statistics.cpp index 61d25af2c2f..b8ba475adf7 100644 --- a/src/amd/compiler/aco_statistics.cpp +++ b/src/amd/compiler/aco_statistics.cpp @@ -317,6 +317,9 @@ get_wait_counter_info(aco_ptr& instr) if (instr->format == Format::DS) return wait_counter_info(0, 0, 20, 0); + if (instr->isLDSDIR()) + return wait_counter_info(0, 13, 0, 0); + if (instr->isVMEM() && !instr->definitions.empty()) return wait_counter_info(320, 0, 0, 0); @@ -335,6 +338,12 @@ get_wait_imm(Program* program, aco_ptr& instr) return wait_imm(GFX10_3, instr->salu().imm); } else if (instr->opcode == aco_opcode::s_waitcnt_vscnt) { return wait_imm(0, 0, 0, instr->salu().imm); + } else if (instr->isVINTERP_INREG()) { + wait_imm imm; + imm.exp = instr->vinterp_inreg().wait_exp; + if (imm.exp == 0x7) + imm.exp = wait_imm::unset_counter; + return imm; } else { unsigned max_lgkm_cnt = program->gfx_level >= GFX10 ? 62 : 14; unsigned max_exp_cnt = 6;