From feee375db997ca662f425fbdad466624c29ddfa6 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Mon, 14 Dec 2020 13:18:25 +0000 Subject: [PATCH] aco: fix mbcnt_amd with wave32 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rhys Perry Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_instruction_selection.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index bfb268a045f..f7a33054a41 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -8349,6 +8349,8 @@ void visit_intrinsic(isel_context *ctx, nir_intrinsic_instr *instr) case nir_intrinsic_mbcnt_amd: { Temp src = get_ssa_temp(ctx, instr->src[0].ssa); Temp dst = get_ssa_temp(ctx, &instr->dest.ssa); + /* Fit 64-bit mask for wave32 */ + src = emit_extract_vector(ctx, src, 0, RegClass(src.type(), bld.lm.size())); Temp wqm_tmp = emit_mbcnt(ctx, bld.tmp(v1), Operand(src)); emit_wqm(ctx, wqm_tmp, dst); break;