From 68db0a079b8d4ee3496fe910ad1deec44853f970 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Thu, 7 Jul 2022 23:54:39 +0200 Subject: [PATCH] aco: Fix swapping sources in SOPC -> SOPK optimization. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes: 2d6b0a4177b ("aco/optimizer: Optimize SOPC with literal to SOPK.") Signed-off-by: Georg Lehmann Reviewed-by: Daniel Schürmann Part-of: --- src/amd/compiler/aco_optimizer.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/amd/compiler/aco_optimizer.cpp b/src/amd/compiler/aco_optimizer.cpp index 36e189870b0..87d824b8f8b 100644 --- a/src/amd/compiler/aco_optimizer.cpp +++ b/src/amd/compiler/aco_optimizer.cpp @@ -4583,7 +4583,7 @@ sopc_is_signed(aco_opcode opcode) } static aco_opcode -sopc_32_inverse(aco_opcode opcode) +sopc_32_swapped(aco_opcode opcode) { #define SOPC(op1, op2) \ case aco_opcode::s_cmp_##op1##_i32: return aco_opcode::s_cmp_##op2##_i32; \ @@ -4591,10 +4591,10 @@ sopc_32_inverse(aco_opcode opcode) switch (opcode) { SOPC(eq, eq) SOPC(lg, lg) - SOPC(gt, le) - SOPC(ge, lt) - SOPC(lt, ge) - SOPC(le, gt) + SOPC(gt, lt) + SOPC(ge, le) + SOPC(lt, gt) + SOPC(le, ge) default: return aco_opcode::num_opcodes; } #undef SOPC @@ -4608,7 +4608,7 @@ try_convert_sopc_to_sopk(aco_ptr& instr) if (instr->operands[0].isLiteral()) { std::swap(instr->operands[0], instr->operands[1]); - instr->opcode = sopc_32_inverse(instr->opcode); + instr->opcode = sopc_32_swapped(instr->opcode); } if (!instr->operands[1].isLiteral())