From d3285fe971dc202e177bb1b1c098a1117e8debb2 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Sun, 6 Apr 2025 10:20:29 +0200 Subject: [PATCH] aco: set opsel_hi to 1 for WMMA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is ignored by the hardware but LLVM requires it to disassemble GFX12 WMMA. Cc: mesa-stable Reviewed-by: Daniel Schürmann Part-of: (cherry picked from commit b0c8f316001c3050f268d9eca9dd22a1a8a822f6) --- .pick_status.json | 2 +- src/amd/compiler/aco_instruction_selection.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index b74c93ba14e..daa69454983 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -464,7 +464,7 @@ "description": "aco: set opsel_hi to 1 for WMMA", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index 7b33c446215..27a0fda6036 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -7959,7 +7959,7 @@ visit_cmat_muladd(isel_context* ctx, nir_intrinsic_instr* instr) Operand B(as_vgpr(ctx, get_ssa_temp(ctx, instr->src[1].ssa))); Operand C(as_vgpr(ctx, get_ssa_temp(ctx, instr->src[2].ssa))); - VALU_instruction& vop3p = bld.vop3p(opcode, Definition(dst), A, B, C, 0, 0)->valu(); + VALU_instruction& vop3p = bld.vop3p(opcode, Definition(dst), A, B, C, 0, 0x7)->valu(); vop3p.neg_lo[0] = (signed_mask & 0x1) != 0; vop3p.neg_lo[1] = (signed_mask & 0x2) != 0; vop3p.clamp = clamp;