From 2c4f5617086289886ce3e0546cd98493cff49876 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Fri, 12 Apr 2024 11:39:37 +0100 Subject: [PATCH] aco: don't change prefetch mode on GFX11.5+ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This instruction was effectively removed: https://github.com/llvm/llvm-project/commit/ba131b7017ce Signed-off-by: Rhys Perry Reviewed-by: Georg Lehmann Acked-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_assembler.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/amd/compiler/aco_assembler.cpp b/src/amd/compiler/aco_assembler.cpp index 4a85a8dab15..88ff204999a 100644 --- a/src/amd/compiler/aco_assembler.cpp +++ b/src/amd/compiler/aco_assembler.cpp @@ -1639,8 +1639,9 @@ align_block(asm_context& ctx, std::vector& code, Block& block) /* On GFX10.3+, change the prefetch mode if the loop fits into 2 or 3 cache lines. * Don't use the s_inst_prefetch instruction on GFX10 as it might cause hangs. */ - const bool change_prefetch = - ctx.program->gfx_level >= GFX10_3 && loop_num_cl > 1 && loop_num_cl <= 3; + const bool change_prefetch = ctx.program->gfx_level >= GFX10_3 && + ctx.program->gfx_level <= GFX11 && loop_num_cl > 1 && + loop_num_cl <= 3; if (change_prefetch) { Builder bld(ctx.program);