mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-02-19 06:49:38 +00:00
A32/ir_emitter: Implement UpdateUpperLocationDescriptor
This commit is contained in:
@@ -121,6 +121,10 @@ void IREmitter::LoadWritePC(const IR::U32& value) {
|
||||
}
|
||||
}
|
||||
|
||||
void IREmitter::UpdateUpperLocationDescriptor() {
|
||||
Inst(Opcode::A32UpdateUpperLocationDescriptor);
|
||||
}
|
||||
|
||||
void IREmitter::CallSupervisor(const IR::U32& value) {
|
||||
Inst(Opcode::A32CallSupervisor, value);
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ public:
|
||||
void BranchWritePC(const IR::U32& value);
|
||||
void BXWritePC(const IR::U32& value);
|
||||
void LoadWritePC(const IR::U32& value);
|
||||
void UpdateUpperLocationDescriptor();
|
||||
|
||||
void CallSupervisor(const IR::U32& value);
|
||||
void ExceptionRaised(Exception exception);
|
||||
|
||||
@@ -155,6 +155,7 @@ bool Inst::ReadsFromCPSR() const {
|
||||
case Opcode::A32GetCFlag:
|
||||
case Opcode::A32GetVFlag:
|
||||
case Opcode::A32GetGEFlags:
|
||||
case Opcode::A32UpdateUpperLocationDescriptor:
|
||||
case Opcode::A64GetCFlag:
|
||||
case Opcode::A64GetNZCVRaw:
|
||||
case Opcode::ConditionalSelect32:
|
||||
@@ -179,6 +180,7 @@ bool Inst::WritesToCPSR() const {
|
||||
case Opcode::A32OrQFlag:
|
||||
case Opcode::A32SetGEFlags:
|
||||
case Opcode::A32SetGEFlagsCompressed:
|
||||
case Opcode::A32UpdateUpperLocationDescriptor:
|
||||
case Opcode::A64SetNZCVRaw:
|
||||
case Opcode::A64SetNZCV:
|
||||
return true;
|
||||
|
||||
@@ -31,6 +31,7 @@ A32OPC(GetGEFlags, U32,
|
||||
A32OPC(SetGEFlags, Void, U32 )
|
||||
A32OPC(SetGEFlagsCompressed, Void, U32 )
|
||||
A32OPC(BXWritePC, Void, U32 )
|
||||
A32OPC(UpdateUpperLocationDescriptor, Void, )
|
||||
A32OPC(CallSupervisor, Void, U32 )
|
||||
A32OPC(ExceptionRaised, Void, U32, U64 )
|
||||
A32OPC(DataSynchronizationBarrier, Void, )
|
||||
|
||||
Reference in New Issue
Block a user