mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-03-08 01:12:56 +00:00
ir: Implement GetGEFlags, SetGEFlags
This commit is contained in:
@@ -137,6 +137,14 @@ void IREmitter::OrQFlag(const Value& value) {
|
||||
Inst(Opcode::OrQFlag, {value});
|
||||
}
|
||||
|
||||
Value IREmitter::GetGEFlags() {
|
||||
return Inst(Opcode::GetGEFlags, {});
|
||||
}
|
||||
|
||||
void IREmitter::SetGEFlags(const Value& value) {
|
||||
Inst(Opcode::SetGEFlags, {value});
|
||||
}
|
||||
|
||||
Value IREmitter::GetFpscr() {
|
||||
return Inst(Opcode::GetFpscr, {});
|
||||
}
|
||||
|
||||
@@ -77,6 +77,8 @@ public:
|
||||
void SetCFlag(const Value& value);
|
||||
void SetVFlag(const Value& value);
|
||||
void OrQFlag(const Value& value);
|
||||
Value GetGEFlags();
|
||||
void SetGEFlags(const Value& value);
|
||||
|
||||
Value GetFpscr();
|
||||
void SetFpscr(const Value& new_fpscr);
|
||||
|
||||
@@ -99,6 +99,7 @@ bool Inst::ReadsFromCPSR() const {
|
||||
case Opcode::GetZFlag:
|
||||
case Opcode::GetCFlag:
|
||||
case Opcode::GetVFlag:
|
||||
case Opcode::GetGEFlags:
|
||||
return true;
|
||||
|
||||
default:
|
||||
@@ -114,6 +115,7 @@ bool Inst::WritesToCPSR() const {
|
||||
case Opcode::SetCFlag:
|
||||
case Opcode::SetVFlag:
|
||||
case Opcode::OrQFlag:
|
||||
case Opcode::SetGEFlags:
|
||||
return true;
|
||||
|
||||
default:
|
||||
|
||||
@@ -21,6 +21,8 @@ OPCODE(SetCFlag, T::Void, T::U1
|
||||
OPCODE(GetVFlag, T::U1, )
|
||||
OPCODE(SetVFlag, T::Void, T::U1 )
|
||||
OPCODE(OrQFlag, T::Void, T::U1 )
|
||||
OPCODE(GetGEFlags, T::U32, )
|
||||
OPCODE(SetGEFlags, T::Void, T::U32 )
|
||||
OPCODE(BXWritePC, T::Void, T::U32 )
|
||||
OPCODE(CallSupervisor, T::Void, T::U32 )
|
||||
OPCODE(GetFpscr, T::U32, )
|
||||
|
||||
Reference in New Issue
Block a user