Handle operand fields execlo and exechi for S_MOV

This commit is contained in:
TheTurtle 2026-02-11 13:23:34 +01:00
parent 8c59571961
commit 45f0d9caff

View File

@ -583,6 +583,14 @@ void Translator::S_MULK_I32(const GcnInst& inst) {
// SOP1
void Translator::S_MOV(const GcnInst& inst) {
if (inst.dst[0].field == OperandField::ScalarGPR) {
if (inst.src[0].field == OperandField::ExecLo) {
ir.SetThreadBitScalarReg(IR::ScalarReg(inst.dst[0].code), ir.GetExec());
return;
} else if (inst.src[0].field == OperandField::ExecHi) {
return;
}
}
SetDst(inst.dst[0], GetSrc(inst.src[0]));
}