From f4cfd0344ee5115cba82885ae413a0b97965d55b Mon Sep 17 00:00:00 2001 From: DanielSvoboda Date: Tue, 13 Aug 2024 16:05:25 -0300 Subject: [PATCH] S_CMPK_EQ_U32 S_CMPK_EQ_U32 SCC = (D.u == SIMM16) --- src/shader_recompiler/frontend/translate/scalar_alu.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/shader_recompiler/frontend/translate/scalar_alu.cpp b/src/shader_recompiler/frontend/translate/scalar_alu.cpp index 795b148d6..f70d39999 100644 --- a/src/shader_recompiler/frontend/translate/scalar_alu.cpp +++ b/src/shader_recompiler/frontend/translate/scalar_alu.cpp @@ -94,6 +94,8 @@ void Translator::EmitScalarAlu(const GcnInst& inst) { return S_MAX_U32(inst); case Opcode::S_WQM_B64: break; + case Opcode::S_CMPK_EQ_U32: + return S_CMPK_EQ_U32(inst); default: LogMissingOpcode(inst); } @@ -463,4 +465,10 @@ void Translator::S_MIN_U32(const GcnInst& inst) { ir.SetScc(ir.IEqual(result, src0)); } +void Translator::S_CMPK_EQ_U32(const GcnInst& inst) { + const IR::U32 src0{GetSrc(inst.src[0])}; + const IR::U32 src1{GetSrc(inst.src[1])}; + ir.SetScc(ir.IEqual(src0, src1)); +} + } // namespace Shader::Gcn