a64_jit_state: Add FPSR.QC flag
This commit is contained in:
parent
7797bc2fb2
commit
295deb4035
4 changed files with 6 additions and 0 deletions
|
@ -67,6 +67,7 @@ struct A32JitState {
|
||||||
void ResetRSB();
|
void ResetRSB();
|
||||||
|
|
||||||
u32 fpsr_exc = 0;
|
u32 fpsr_exc = 0;
|
||||||
|
u32 fpsr_qc = 0; // Dummy value
|
||||||
u32 FPSCR_IDC = 0;
|
u32 FPSCR_IDC = 0;
|
||||||
u32 FPSCR_UFC = 0;
|
u32 FPSCR_UFC = 0;
|
||||||
u32 FPSCR_mode = 0;
|
u32 FPSCR_mode = 0;
|
||||||
|
|
|
@ -106,6 +106,7 @@ u32 A64JitState::GetFpsr() const {
|
||||||
fpsr |= FPSCR_IDC;
|
fpsr |= FPSCR_IDC;
|
||||||
fpsr |= FPSCR_UFC;
|
fpsr |= FPSCR_UFC;
|
||||||
fpsr |= fpsr_exc;
|
fpsr |= fpsr_exc;
|
||||||
|
fpsr |= (fpsr_qc & 1) << 27;
|
||||||
return fpsr;
|
return fpsr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,6 +114,7 @@ void A64JitState::SetFpsr(u32 value) {
|
||||||
guest_MXCSR &= ~0x0000003D;
|
guest_MXCSR &= ~0x0000003D;
|
||||||
FPSCR_IDC = 0;
|
FPSCR_IDC = 0;
|
||||||
FPSCR_UFC = 0;
|
FPSCR_UFC = 0;
|
||||||
|
fpsr_qc = (value >> 27) & 1;
|
||||||
fpsr_exc = value & 0x9F;
|
fpsr_exc = value & 0x9F;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,6 +72,7 @@ struct A64JitState {
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 fpsr_exc = 0;
|
u32 fpsr_exc = 0;
|
||||||
|
u32 fpsr_qc = 0;
|
||||||
u32 FPSCR_IDC = 0;
|
u32 FPSCR_IDC = 0;
|
||||||
u32 FPSCR_UFC = 0;
|
u32 FPSCR_UFC = 0;
|
||||||
u32 fpcr = 0;
|
u32 fpcr = 0;
|
||||||
|
|
|
@ -27,6 +27,7 @@ struct JitStateInfo {
|
||||||
, offsetof_FPSCR_IDC(offsetof(JitStateType, FPSCR_IDC))
|
, offsetof_FPSCR_IDC(offsetof(JitStateType, FPSCR_IDC))
|
||||||
, offsetof_FPSCR_UFC(offsetof(JitStateType, FPSCR_UFC))
|
, offsetof_FPSCR_UFC(offsetof(JitStateType, FPSCR_UFC))
|
||||||
, offsetof_fpsr_exc(offsetof(JitStateType, fpsr_exc))
|
, offsetof_fpsr_exc(offsetof(JitStateType, fpsr_exc))
|
||||||
|
, offsetof_fpsr_qc(offsetof(JitStateType, fpsr_qc))
|
||||||
{}
|
{}
|
||||||
|
|
||||||
const size_t offsetof_cycles_remaining;
|
const size_t offsetof_cycles_remaining;
|
||||||
|
@ -41,6 +42,7 @@ struct JitStateInfo {
|
||||||
const size_t offsetof_FPSCR_IDC;
|
const size_t offsetof_FPSCR_IDC;
|
||||||
const size_t offsetof_FPSCR_UFC;
|
const size_t offsetof_FPSCR_UFC;
|
||||||
const size_t offsetof_fpsr_exc;
|
const size_t offsetof_fpsr_exc;
|
||||||
|
const size_t offsetof_fpsr_qc;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Dynarmic::BackendX64
|
} // namespace Dynarmic::BackendX64
|
||||||
|
|
Loading…
Reference in a new issue