From 6affd916b5b541733ff22bbca3b5d66077258629 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Thu, 21 Sep 2023 20:41:45 +0200 Subject: [PATCH] aco/gfx11.5: fix s_fmac acc to definition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_ir.cpp | 3 ++- src/amd/compiler/aco_optimizer.cpp | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/amd/compiler/aco_ir.cpp b/src/amd/compiler/aco_ir.cpp index 9eb62b2b097..3e9936c23e9 100644 --- a/src/amd/compiler/aco_ir.cpp +++ b/src/amd/compiler/aco_ir.cpp @@ -1358,7 +1358,8 @@ get_op_fixed_to_def(Instruction* instr) instr->opcode == aco_opcode::v_fmac_legacy_f32 || instr->opcode == aco_opcode::v_pk_fmac_f16 || instr->opcode == aco_opcode::v_writelane_b32 || instr->opcode == aco_opcode::v_writelane_b32_e64 || - instr->opcode == aco_opcode::v_dot4c_i32_i8) { + instr->opcode == aco_opcode::v_dot4c_i32_i8 || instr->opcode == aco_opcode::s_fmac_f32 || + instr->opcode == aco_opcode::s_fmac_f16) { return 2; } else if (instr->opcode == aco_opcode::s_addk_i32 || instr->opcode == aco_opcode::s_mulk_i32 || instr->opcode == aco_opcode::s_cmovk_i32) { diff --git a/src/amd/compiler/aco_optimizer.cpp b/src/amd/compiler/aco_optimizer.cpp index 6df08f33943..947e0b5aaa2 100644 --- a/src/amd/compiler/aco_optimizer.cpp +++ b/src/amd/compiler/aco_optimizer.cpp @@ -617,6 +617,8 @@ alu_can_accept_constant(const aco_ptr& instr, unsigned operand) return false; switch (instr->opcode) { + case aco_opcode::s_fmac_f16: + case aco_opcode::s_fmac_f32: case aco_opcode::v_mac_f32: case aco_opcode::v_writelane_b32: case aco_opcode::v_writelane_b32_e64: