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:
LDj3SNuD 2020-08-08 17:18:51 +02:00 committed by GitHub
parent 8d59ad88b4
commit e36e97c64d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 342 additions and 178 deletions

View file

@ -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

View file

@ -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
}
}

View file

@ -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,

View file

@ -1,8 +1,5 @@
using System;
namespace ARMeilleure.State
{
[Flags]
public enum PState
{
TFlag = 5,