Fix for some SIMD issues
This commit is contained in:
parent
f469b968a8
commit
1c44d9f66d
13 changed files with 124 additions and 36 deletions
|
@ -26,7 +26,7 @@ namespace ChocolArm64.Translation
|
|||
{
|
||||
if (ILEmitter is AILOpCodeLoad Ld && AILEmitter.IsRegIndex(Ld.Index))
|
||||
{
|
||||
switch (Ld.IoType & AIoType.Mask)
|
||||
switch (Ld.IoType)
|
||||
{
|
||||
case AIoType.Flag: IntInputs |= ((1L << Ld.Index) << 32) & ~IntOutputs; break;
|
||||
case AIoType.Int: IntInputs |= (1L << Ld.Index) & ~IntOutputs; break;
|
||||
|
@ -37,7 +37,7 @@ namespace ChocolArm64.Translation
|
|||
{
|
||||
if (AILEmitter.IsRegIndex(St.Index))
|
||||
{
|
||||
switch (St.IoType & AIoType.Mask)
|
||||
switch (St.IoType)
|
||||
{
|
||||
case AIoType.Flag: IntOutputs |= (1L << St.Index) << 32; break;
|
||||
case AIoType.Int: IntOutputs |= 1L << St.Index; break;
|
||||
|
|
|
@ -22,7 +22,7 @@ namespace ChocolArm64.Translation
|
|||
|
||||
public void Emit(AILEmitter Context)
|
||||
{
|
||||
switch (IoType & AIoType.Mask)
|
||||
switch (IoType)
|
||||
{
|
||||
case AIoType.Arg: Context.Generator.EmitLdarg(Index); break;
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ namespace ChocolArm64.Translation
|
|||
|
||||
public void Emit(AILEmitter Context)
|
||||
{
|
||||
switch (IoType & AIoType.Mask)
|
||||
switch (IoType)
|
||||
{
|
||||
case AIoType.Arg: Context.Generator.EmitStarg(Index); break;
|
||||
|
||||
|
|
|
@ -10,9 +10,6 @@ namespace ChocolArm64.Translation
|
|||
Flag,
|
||||
Int,
|
||||
Float,
|
||||
Vector,
|
||||
Mask = 0xff,
|
||||
VectorI = Vector | 1 << 8,
|
||||
VectorF = Vector | 1 << 9
|
||||
Vector
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue