mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-01-01 12:14:50 +01:00
Implement coprocessor-related microinstructions
* CoprocInternalOperation * CoprocSendOneWord * CoprocSendTwoWords * CoprocGetOneWord * CoprocGetTwoWords * CoprocLoadWords * CoprocStoreWords
This commit is contained in:
parent
b3ae57619d
commit
48693eb6ff
6 changed files with 312 additions and 1 deletions
|
|
@ -213,6 +213,22 @@ bool Inst::AltersExclusiveState() const {
|
|||
IsExclusiveMemoryWrite();
|
||||
}
|
||||
|
||||
bool Inst::IsCoprocessorInstruction() const {
|
||||
switch (op) {
|
||||
case Opcode::CoprocInternalOperation:
|
||||
case Opcode::CoprocSendOneWord:
|
||||
case Opcode::CoprocSendTwoWords:
|
||||
case Opcode::CoprocGetOneWord:
|
||||
case Opcode::CoprocGetTwoWords:
|
||||
case Opcode::CoprocLoadWords:
|
||||
case Opcode::CoprocStoreWords:
|
||||
return true;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool Inst::MayHaveSideEffects() const {
|
||||
return op == Opcode::PushRSB ||
|
||||
CausesCPUException() ||
|
||||
|
|
@ -220,7 +236,8 @@ bool Inst::MayHaveSideEffects() const {
|
|||
WritesToCPSR() ||
|
||||
WritesToFPSCR() ||
|
||||
AltersExclusiveState() ||
|
||||
IsMemoryWrite();
|
||||
IsMemoryWrite() ||
|
||||
IsCoprocessorInstruction();
|
||||
}
|
||||
|
||||
void Inst::DecrementRemainingUses() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue