From e6c90e4af94c898875d873206e00fc1befb44612 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Thu, 23 Jan 2020 19:30:29 +0000 Subject: [PATCH] aco: fix WaR check for >64-bit FLAT/GLOBAL instructions MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Rhys Perry Fixes: 5986e0019 ('aco: improve WAR hazard workaround with >64bit stores') Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_insert_NOPs.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/amd/compiler/aco_insert_NOPs.cpp b/src/amd/compiler/aco_insert_NOPs.cpp index 8c032bb699c..605ed8a2081 100644 --- a/src/amd/compiler/aco_insert_NOPs.cpp +++ b/src/amd/compiler/aco_insert_NOPs.cpp @@ -333,8 +333,8 @@ int handle_instruction_gfx8_9(NOP_ctx_gfx8_9& ctx, aco_ptr& instr, pred->operands.size() == 3 && pred->operands[2].size() > 2; if (consider_buf || consider_mimg || consider_flat) { - PhysReg wrdata = pred->operands[3].physReg(); - unsigned size = pred->operands[3].size(); + PhysReg wrdata = pred->operands[consider_flat ? 2 : 3].physReg(); + unsigned size = pred->operands[consider_flat ? 2 : 3].size(); assert(wrdata >= 256); for (const Definition& def : instr->definitions) { if (regs_intersect(def.physReg(), def.size(), wrdata, size)) -- 2.30.2