From b9b393f0ce4e8df85f2e7eafeb409b032819e33d Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Fri, 17 Jan 2020 08:22:48 +0100 Subject: [PATCH] aco: fix emitting slc for MUBUF instructions on GFX6-GFX7 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Same as GFX10, only GFX8/GFX9 moved that bit near the opcode. Signed-off-by: Samuel Pitoiset Reviewed-by: Daniel Schürmann Tested-by: Marge Bot Part-of: --- src/amd/compiler/aco_assembler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/amd/compiler/aco_assembler.cpp b/src/amd/compiler/aco_assembler.cpp index a9dd6b441e2..dc341e59de0 100644 --- a/src/amd/compiler/aco_assembler.cpp +++ b/src/amd/compiler/aco_assembler.cpp @@ -321,7 +321,7 @@ void emit_instruction(asm_context& ctx, std::vector& out, Instruction* encoding |= 0x0FFF & mubuf->offset; out.push_back(encoding); encoding = 0; - if (ctx.chip_class >= GFX10) { + if (ctx.chip_class <= GFX7 || ctx.chip_class >= GFX10) { encoding |= (mubuf->slc ? 1 : 0) << 22; } encoding |= instr->operands[2].physReg() << 24; -- 2.11.0