CPU: This PR fixes Fpscr, among other things. (#1433)
* CPU: This PR fixes Fpscr, among other things.
* Add Fpscr.Qc = 1 if sat. for Vqrshrn & Vqrshrun.
* Fix Vcmp & Vcmpe opcode table.
* Revert "Fix Vcmp & Vcmpe opcode table."
This reverts commit c117d9410d
.
* Address PR feedbacks.
This commit is contained in:
parent
8d59ad88b4
commit
e36e97c64d
19 changed files with 342 additions and 178 deletions
|
@ -5,12 +5,12 @@ namespace ARMeilleure.State
|
|||
[Flags]
|
||||
public enum FPCR : uint
|
||||
{
|
||||
Ufe = 1 << 11,
|
||||
Fz = 1 << 24,
|
||||
Dn = 1 << 25,
|
||||
Ahp = 1 << 26,
|
||||
Ufe = 1u << 11,
|
||||
Fz = 1u << 24,
|
||||
Dn = 1u << 25,
|
||||
Ahp = 1u << 26,
|
||||
|
||||
A32Mask = 0x07ffff00
|
||||
A32Mask = 0x07FF9F00u
|
||||
}
|
||||
|
||||
public static class FPCRExtensions
|
||||
|
|
|
@ -5,9 +5,11 @@ namespace ARMeilleure.State
|
|||
[Flags]
|
||||
public enum FPSR : uint
|
||||
{
|
||||
Ufc = 1 << 3,
|
||||
Qc = 1 << 27,
|
||||
Ufc = 1u << 3,
|
||||
Qc = 1u << 27,
|
||||
|
||||
A32Mask = 0xf800000f
|
||||
Nzcv = (1u << 31) | (1u << 30) | (1u << 29) | (1u << 28),
|
||||
|
||||
A32Mask = 0xF800009Fu
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace ARMeilleure.State
|
||||
namespace ARMeilleure.State
|
||||
{
|
||||
[Flags]
|
||||
public enum FPState
|
||||
{
|
||||
VFlag = 28,
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
using System;
|
||||
|
||||
namespace ARMeilleure.State
|
||||
{
|
||||
[Flags]
|
||||
public enum PState
|
||||
{
|
||||
TFlag = 5,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue