mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-07-30 22:14:56 +00:00
Update scalar_alu.cpp
This commit is contained in:
parent
68ff521bac
commit
f9cc4ebd65
@ -287,6 +287,8 @@ void Translator::S_NOT_B64(const GcnInst& inst) {
|
|||||||
return ir.GetExec();
|
return ir.GetExec();
|
||||||
case OperandField::ScalarGPR:
|
case OperandField::ScalarGPR:
|
||||||
return ir.GetThreadBitScalarReg(IR::ScalarReg(operand.code));
|
return ir.GetThreadBitScalarReg(IR::ScalarReg(operand.code));
|
||||||
|
case OperandField::ConstZero:
|
||||||
|
return ir.Imm1(false);
|
||||||
default:
|
default:
|
||||||
UNREACHABLE();
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
@ -301,6 +303,9 @@ void Translator::S_NOT_B64(const GcnInst& inst) {
|
|||||||
case OperandField::ScalarGPR:
|
case OperandField::ScalarGPR:
|
||||||
ir.SetThreadBitScalarReg(IR::ScalarReg(inst.dst[0].code), result);
|
ir.SetThreadBitScalarReg(IR::ScalarReg(inst.dst[0].code), result);
|
||||||
break;
|
break;
|
||||||
|
case OperandField::ExecLo:
|
||||||
|
ir.SetExec(result);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
UNREACHABLE();
|
UNREACHABLE();
|
||||||
}
|
}
|
||||||
@ -338,4 +343,20 @@ void Translator::S_ADDC_U32(const GcnInst& inst) {
|
|||||||
SetDst(inst.dst[0], ir.IAdd(ir.IAdd(src0, src1), ir.GetSccLo()));
|
SetDst(inst.dst[0], ir.IAdd(ir.IAdd(src0, src1), ir.GetSccLo()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Translator::S_MAX_U32(const GcnInst& inst) {
|
||||||
|
const IR::U32 src0{GetSrc(inst.src[0])};
|
||||||
|
const IR::U32 src1{GetSrc(inst.src[1])};
|
||||||
|
const IR::U32 result = ir.UMax(src0, src1);
|
||||||
|
SetDst(inst.dst[0], result);
|
||||||
|
ir.SetScc(ir.IEqual(result, src0));
|
||||||
|
}
|
||||||
|
|
||||||
|
void Translator::S_MIN_U32(const GcnInst& inst) {
|
||||||
|
const IR::U32 src0{GetSrc(inst.src[0])};
|
||||||
|
const IR::U32 src1{GetSrc(inst.src[1])};
|
||||||
|
const IR::U32 result = ir.UMin(src0, src1);
|
||||||
|
SetDst(inst.dst[0], result);
|
||||||
|
ir.SetScc(ir.IEqual(result, src0));
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Shader::Gcn
|
} // namespace Shader::Gcn
|
||||||
|
Loading…
Reference in New Issue
Block a user