From: Rhys Perry Date: Thu, 23 Jan 2020 19:30:29 +0000 (+0000) Subject: aco: fix WaR check for >64-bit FLAT/GLOBAL instructions X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e6c90e4af94c898875d873206e00fc1befb44612;p=mesa.git aco: fix WaR check for >64-bit FLAT/GLOBAL instructions Signed-off-by: Rhys Perry Fixes: 5986e0019 ('aco: improve WAR hazard workaround with >64bit stores') Reviewed-by: Daniel Schürmann Part-of: --- 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))