From 6b1dfa7eac2bd1e0dfb15febd0435b899101edb7 Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Mon, 31 Jan 2022 18:28:59 +0000 Subject: [PATCH] aco: fix neg(mul)/abs(mul) optimization with different bit-size 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_optimizer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/amd/compiler/aco_optimizer.cpp b/src/amd/compiler/aco_optimizer.cpp index 7dfdb05e3ff..448c3a744f5 100644 --- a/src/amd/compiler/aco_optimizer.cpp +++ b/src/amd/compiler/aco_optimizer.cpp @@ -3509,6 +3509,8 @@ combine_instruction(opt_ctx& ctx, aco_ptr& instr) if (mul_instr->opcode == aco_opcode::v_mul_legacy_f32 && ctx.fp_mode.preserve_signed_zero_inf_nan32) return; + if (mul_instr->definitions[0].bytes() != instr->definitions[0].bytes()) + return; /* convert to mul(neg(a), b), mul(abs(a), abs(b)) or mul(neg(abs(a)), abs(b)) */ ctx.uses[mul_instr->definitions[0].tempId()]--;