aco: fix WaR check for >64-bit FLAT/GLOBAL instructions

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Fixes: 5986e0019 ('aco: improve WAR hazard workaround with >64bit stores')
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3541>
This commit is contained in:
Rhys Perry 2020-01-23 19:30:29 +00:00
parent 8784062abb
commit e6c90e4af9

View file

@ -333,8 +333,8 @@ int handle_instruction_gfx8_9(NOP_ctx_gfx8_9& ctx, aco_ptr<Instruction>& 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))