mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-02-19 14:52:57 +00:00
TranslateArm: Implement MRS, MSR (imm), MSR (reg)
This commit is contained in:
@@ -102,6 +102,14 @@ void IREmitter::PushRSB(const LocationDescriptor& return_location) {
|
||||
Inst(IR::Opcode::PushRSB, {IR::Value(return_location.UniqueHash())});
|
||||
}
|
||||
|
||||
IR::Value IREmitter::GetCpsr() {
|
||||
return Inst(IR::Opcode::GetCpsr, {});
|
||||
}
|
||||
|
||||
void IREmitter::SetCpsr(const IR::Value& value) {
|
||||
Inst(IR::Opcode::SetCpsr, {value});
|
||||
}
|
||||
|
||||
IR::Value IREmitter::GetCFlag() {
|
||||
return Inst(IR::Opcode::GetCFlag, {});
|
||||
}
|
||||
|
||||
@@ -56,6 +56,8 @@ public:
|
||||
void CallSupervisor(const IR::Value& value);
|
||||
void PushRSB(const LocationDescriptor& return_location);
|
||||
|
||||
IR::Value GetCpsr();
|
||||
void SetCpsr(const IR::Value& value);
|
||||
IR::Value GetCFlag();
|
||||
void SetNFlag(const IR::Value& value);
|
||||
void SetZFlag(const IR::Value& value);
|
||||
|
||||
@@ -10,6 +10,8 @@ OPCODE(GetExtendedRegister64, T::F64, T::ExtRegRef
|
||||
OPCODE(SetRegister, T::Void, T::RegRef, T::U32 )
|
||||
OPCODE(SetExtendedRegister32, T::Void, T::ExtRegRef, T::F32 )
|
||||
OPCODE(SetExtendedRegister64, T::Void, T::ExtRegRef, T::F64 )
|
||||
OPCODE(GetCpsr, T::U32, )
|
||||
OPCODE(SetCpsr, T::Void, T::U32 )
|
||||
OPCODE(GetNFlag, T::U1, )
|
||||
OPCODE(SetNFlag, T::Void, T::U1 )
|
||||
OPCODE(GetZFlag, T::U1, )
|
||||
|
||||
Reference in New Issue
Block a user