Mesa (main): aco: Fix swapping sources in SOPC -> SOPK optimization.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Jul 8 10:08:21 UTC 2022
Module: Mesa
Branch: main
Commit: 68db0a079b8d4ee3496fe910ad1deec44853f970
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=68db0a079b8d4ee3496fe910ad1deec44853f970
Author: Georg Lehmann <dadschoorse at gmail.com>
Date: Thu Jul 7 23:54:39 2022 +0200
aco: Fix swapping sources in SOPC -> SOPK optimization.
Fixes: 2d6b0a4177b ("aco/optimizer: Optimize SOPC with literal to SOPK.")
Signed-off-by: Georg Lehmann <dadschoorse at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17407>
---
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<Instruction>& 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())
More information about the mesa-commit
mailing list