forked from MeloNX/MeloNX
Auto-format
This commit is contained in:
parent
597710a522
commit
3671dec898
@ -1,4 +1,4 @@
|
|||||||
using ARMeilleure.Memory;
|
using ARMeilleure.Memory;
|
||||||
using ARMeilleure.Translation;
|
using ARMeilleure.Translation;
|
||||||
|
|
||||||
namespace Ryujinx.Cpu.Jit
|
namespace Ryujinx.Cpu.Jit
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
using ARMeilleure.Common;
|
using ARMeilleure.Common;
|
||||||
using Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64;
|
|
||||||
using ARMeilleure.Memory;
|
using ARMeilleure.Memory;
|
||||||
|
using Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64;
|
||||||
using System;
|
using System;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ namespace Ryujinx.Cpu.LightningJit.Arm32
|
|||||||
private InstInfo _nextInstruction;
|
private InstInfo _nextInstruction;
|
||||||
private bool _skipNextInstruction;
|
private bool _skipNextInstruction;
|
||||||
|
|
||||||
private ArmCondition[] _itConditions;
|
private readonly ArmCondition[] _itConditions;
|
||||||
private int _itCount;
|
private int _itCount;
|
||||||
|
|
||||||
private readonly List<PendingBranch> _pendingBranches;
|
private readonly List<PendingBranch> _pendingBranches;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
using ARMeilleure.Memory;
|
||||||
using Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64;
|
using Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64;
|
||||||
using Ryujinx.Cpu.LightningJit.CodeGen.Arm64;
|
using Ryujinx.Cpu.LightningJit.CodeGen.Arm64;
|
||||||
using ARMeilleure.Memory;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@ using System;
|
|||||||
|
|
||||||
namespace Ryujinx.Cpu.LightningJit.Arm32
|
namespace Ryujinx.Cpu.LightningJit.Arm32
|
||||||
{
|
{
|
||||||
struct ScopedRegister : IDisposable
|
readonly struct ScopedRegister : IDisposable
|
||||||
{
|
{
|
||||||
private readonly RegisterAllocator _registerAllocator;
|
private readonly RegisterAllocator _registerAllocator;
|
||||||
private readonly Operand _operand;
|
private readonly Operand _operand;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
using ARMeilleure.Common;
|
using ARMeilleure.Common;
|
||||||
|
using ARMeilleure.Memory;
|
||||||
using Ryujinx.Cpu.LightningJit.CodeGen;
|
using Ryujinx.Cpu.LightningJit.CodeGen;
|
||||||
using Ryujinx.Cpu.LightningJit.CodeGen.Arm64;
|
using Ryujinx.Cpu.LightningJit.CodeGen.Arm64;
|
||||||
using ARMeilleure.Memory;
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
@ -515,7 +515,7 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void ClrbhbA1(CodeGenContext context, uint encoding)
|
public static void ClrbhbA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstCondb28w4 inst = new(encoding);
|
_ = new InstCondb28w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -2546,14 +2546,14 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void SetpanA1(CodeGenContext context, uint encoding)
|
public static void SetpanA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstImm1b9w1 inst = new(encoding);
|
_ = new InstImm1b9w1(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SetpanT1(CodeGenContext context, uint encoding)
|
public static void SetpanT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstImm1b19w1 inst = new(encoding);
|
_ = new InstImm1b19w1(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -4726,14 +4726,14 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VcaddA1(CodeGenContext context, uint encoding)
|
public static void VcaddA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstRotb24w1Db22w1Sb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstRotb24w1Db22w1Sb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VcaddT1(CodeGenContext context, uint encoding)
|
public static void VcaddT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstRotb24w1Db22w1Sb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstRotb24w1Db22w1Sb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -4922,28 +4922,28 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VcmlaA1(CodeGenContext context, uint encoding)
|
public static void VcmlaA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstRotb23w2Db22w1Sb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstRotb23w2Db22w1Sb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VcmlaT1(CodeGenContext context, uint encoding)
|
public static void VcmlaT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstRotb23w2Db22w1Sb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstRotb23w2Db22w1Sb20w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VcmlaSA1(CodeGenContext context, uint encoding)
|
public static void VcmlaSA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstSb23w1Db22w1Rotb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstSb23w1Db22w1Rotb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VcmlaST1(CodeGenContext context, uint encoding)
|
public static void VcmlaST1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstSb23w1Db22w1Rotb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstSb23w1Db22w1Rotb20w2Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -5068,14 +5068,14 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VcvtbBfsA1(CodeGenContext context, uint encoding)
|
public static void VcvtbBfsA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstCondb28w4Db22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstCondb28w4Db22w1Vdb12w4Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VcvtbBfsT1(CodeGenContext context, uint encoding)
|
public static void VcvtbBfsT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -5200,28 +5200,28 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VcvttBfsA1(CodeGenContext context, uint encoding)
|
public static void VcvttBfsA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstCondb28w4Db22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstCondb28w4Db22w1Vdb12w4Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VcvttBfsT1(CodeGenContext context, uint encoding)
|
public static void VcvttBfsT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VcvtBfsA1(CodeGenContext context, uint encoding)
|
public static void VcvtBfsA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VcvtBfsT1(CodeGenContext context, uint encoding)
|
public static void VcvtBfsT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -5344,28 +5344,28 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VdotA1(CodeGenContext context, uint encoding)
|
public static void VdotA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VdotT1(CodeGenContext context, uint encoding)
|
public static void VdotT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VdotSA1(CodeGenContext context, uint encoding)
|
public static void VdotSA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VdotST1(CodeGenContext context, uint encoding)
|
public static void VdotST1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -5456,56 +5456,56 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VfmalA1(CodeGenContext context, uint encoding)
|
public static void VfmalA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VfmalT1(CodeGenContext context, uint encoding)
|
public static void VfmalT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VfmalSA1(CodeGenContext context, uint encoding)
|
public static void VfmalSA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VfmalST1(CodeGenContext context, uint encoding)
|
public static void VfmalST1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VfmaBfA1(CodeGenContext context, uint encoding)
|
public static void VfmaBfA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VfmaBfT1(CodeGenContext context, uint encoding)
|
public static void VfmaBfT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VfmaBfsA1(CodeGenContext context, uint encoding)
|
public static void VfmaBfsA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VfmaBfsT1(CodeGenContext context, uint encoding)
|
public static void VfmaBfsT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -5540,28 +5540,28 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VfmslA1(CodeGenContext context, uint encoding)
|
public static void VfmslA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VfmslT1(CodeGenContext context, uint encoding)
|
public static void VfmslT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VfmslSA1(CodeGenContext context, uint encoding)
|
public static void VfmslSA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VfmslST1(CodeGenContext context, uint encoding)
|
public static void VfmslST1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -5624,28 +5624,28 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VinsA1(CodeGenContext context, uint encoding)
|
public static void VinsA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VinsT1(CodeGenContext context, uint encoding)
|
public static void VinsT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VjcvtA1(CodeGenContext context, uint encoding)
|
public static void VjcvtA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstCondb28w4Db22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstCondb28w4Db22w1Vdb12w4Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VjcvtT1(CodeGenContext context, uint encoding)
|
public static void VjcvtT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vdb12w4Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vdb12w4Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -6324,14 +6324,14 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VmmlaA1(CodeGenContext context, uint encoding)
|
public static void VmmlaA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VmmlaT1(CodeGenContext context, uint encoding)
|
public static void VmmlaT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -7672,28 +7672,28 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VsdotA1(CodeGenContext context, uint encoding)
|
public static void VsdotA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VsdotT1(CodeGenContext context, uint encoding)
|
public static void VsdotT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VsdotSA1(CodeGenContext context, uint encoding)
|
public static void VsdotSA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VsdotST1(CodeGenContext context, uint encoding)
|
public static void VsdotST1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -7812,14 +7812,14 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VsmmlaA1(CodeGenContext context, uint encoding)
|
public static void VsmmlaA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VsmmlaT1(CodeGenContext context, uint encoding)
|
public static void VsmmlaT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -8274,14 +8274,14 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VsudotSA1(CodeGenContext context, uint encoding)
|
public static void VsudotSA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VsudotST1(CodeGenContext context, uint encoding)
|
public static void VsudotST1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@ -8344,84 +8344,84 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static void VudotA1(CodeGenContext context, uint encoding)
|
public static void VudotA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VudotT1(CodeGenContext context, uint encoding)
|
public static void VudotT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VudotSA1(CodeGenContext context, uint encoding)
|
public static void VudotSA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VudotST1(CodeGenContext context, uint encoding)
|
public static void VudotST1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VummlaA1(CodeGenContext context, uint encoding)
|
public static void VummlaA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VummlaT1(CodeGenContext context, uint encoding)
|
public static void VummlaT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VusdotA1(CodeGenContext context, uint encoding)
|
public static void VusdotA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VusdotT1(CodeGenContext context, uint encoding)
|
public static void VusdotT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VusdotSA1(CodeGenContext context, uint encoding)
|
public static void VusdotSA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VusdotST1(CodeGenContext context, uint encoding)
|
public static void VusdotST1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Qb6w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VusmmlaA1(CodeGenContext context, uint encoding)
|
public static void VusmmlaA1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void VusmmlaT1(CodeGenContext context, uint encoding)
|
public static void VusmmlaT1(CodeGenContext context, uint encoding)
|
||||||
{
|
{
|
||||||
InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4 inst = new(encoding);
|
_ = new InstDb22w1Vnb16w4Vdb12w4Nb7w1Mb5w1Vmb0w4(encoding);
|
||||||
|
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
@ -363,7 +363,7 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void EmitVectorUnary(CodeGenContext context, uint rd, uint rm, uint size, uint q, Action<Operand, Operand, uint, uint> action)
|
public static void EmitVectorUnary(CodeGenContext context, uint rd, uint rm, uint size, uint q, Action<Operand, Operand, uint, uint> action)
|
||||||
{
|
{
|
||||||
Debug.Assert(size < 3);
|
Debug.Assert(size < 3);
|
||||||
|
|
||||||
|
@ -116,7 +116,8 @@ namespace Ryujinx.Cpu.LightningJit.Arm32.Target.Arm64
|
|||||||
|
|
||||||
public static uint GetShiftRight(uint imm6, uint size)
|
public static uint GetShiftRight(uint imm6, uint size)
|
||||||
{
|
{
|
||||||
return (size == 3 ? 64u : (16u << (int)size)) - imm6;;
|
return (size == 3 ? 64u : (16u << (int)size)) - imm6;
|
||||||
|
;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,6 +1,6 @@
|
|||||||
using ARMeilleure.Common;
|
using ARMeilleure.Common;
|
||||||
using Ryujinx.Cpu.LightningJit.Arm64.Target.Arm64;
|
|
||||||
using ARMeilleure.Memory;
|
using ARMeilleure.Memory;
|
||||||
|
using Ryujinx.Cpu.LightningJit.Arm64.Target.Arm64;
|
||||||
using System;
|
using System;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
using ARMeilleure.Common;
|
using ARMeilleure.Common;
|
||||||
|
using ARMeilleure.Memory;
|
||||||
using Ryujinx.Cpu.LightningJit.CodeGen;
|
using Ryujinx.Cpu.LightningJit.CodeGen;
|
||||||
using Ryujinx.Cpu.LightningJit.CodeGen.Arm64;
|
using Ryujinx.Cpu.LightningJit.CodeGen.Arm64;
|
||||||
using Ryujinx.Cpu.LightningJit.Graph;
|
using Ryujinx.Cpu.LightningJit.Graph;
|
||||||
using ARMeilleure.Memory;
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
using Ryujinx.Cpu.LightningJit.Graph;
|
|
||||||
using ARMeilleure.Memory;
|
using ARMeilleure.Memory;
|
||||||
|
using Ryujinx.Cpu.LightningJit.Graph;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Numerics;
|
using System.Numerics;
|
||||||
|
@ -21,7 +21,7 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
public bool HasTarget;
|
public bool HasTarget;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<LabelState> _labels;
|
private readonly List<LabelState> _labels;
|
||||||
|
|
||||||
public Assembler(CodeWriter writer)
|
public Assembler(CodeWriter writer)
|
||||||
{
|
{
|
||||||
@ -29,7 +29,7 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
_labels = new List<LabelState>();
|
_labels = new List<LabelState>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Operand CreateLabel()
|
public readonly Operand CreateLabel()
|
||||||
{
|
{
|
||||||
int labelIndex = _labels.Count;
|
int labelIndex = _labels.Count;
|
||||||
_labels.Add(new LabelState());
|
_labels.Add(new LabelState());
|
||||||
@ -37,7 +37,7 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
return new Operand(OperandKind.Label, OperandType.None, (ulong)labelIndex);
|
return new Operand(OperandKind.Label, OperandType.None, (ulong)labelIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void MarkLabel(Operand label)
|
public readonly void MarkLabel(Operand label)
|
||||||
{
|
{
|
||||||
int targetIndex = _code.Count;
|
int targetIndex = _code.Count;
|
||||||
|
|
||||||
@ -213,12 +213,12 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
WriteInstructionBitwiseAuto(0x1ac02800u, rd, rn, rm);
|
WriteInstructionBitwiseAuto(0x1ac02800u, rd, rn, rm);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void B(int imm)
|
public readonly void B(int imm)
|
||||||
{
|
{
|
||||||
WriteUInt32(0x14000000u | EncodeSImm26_2(imm));
|
WriteUInt32(0x14000000u | EncodeSImm26_2(imm));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void B(ArmCondition condition, int imm)
|
public readonly void B(ArmCondition condition, int imm)
|
||||||
{
|
{
|
||||||
WriteUInt32(0x54000000u | (uint)condition | (EncodeSImm19_2(imm) << 5));
|
WriteUInt32(0x54000000u | (uint)condition | (EncodeSImm19_2(imm) << 5));
|
||||||
}
|
}
|
||||||
@ -263,17 +263,17 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
WriteInstructionAuto(0x6a200000u, rd, rn, rm, shiftType, shiftAmount);
|
WriteInstructionAuto(0x6a200000u, rd, rn, rm, shiftType, shiftAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Blr(Operand rn)
|
public readonly void Blr(Operand rn)
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd63f0000u | (EncodeReg(rn) << 5));
|
WriteUInt32(0xd63f0000u | (EncodeReg(rn) << 5));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Br(Operand rn)
|
public readonly void Br(Operand rn)
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd61f0000u | (EncodeReg(rn) << 5));
|
WriteUInt32(0xd61f0000u | (EncodeReg(rn) << 5));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Brk()
|
public readonly void Brk()
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd4200000u);
|
WriteUInt32(0xd4200000u);
|
||||||
}
|
}
|
||||||
@ -300,7 +300,7 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
WriteInstructionRm16(0x1ac05000u | (sz << 10), rd, rn, rm);
|
WriteInstructionRm16(0x1ac05000u | (sz << 10), rd, rn, rm);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Clrex(int crm = 15)
|
public readonly void Clrex(int crm = 15)
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd503305fu | (EncodeUImm4(crm) << 8));
|
WriteUInt32(0xd503305fu | (EncodeUImm4(crm) << 8));
|
||||||
}
|
}
|
||||||
@ -330,7 +330,7 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
Subs(new Operand(ZrRegister, RegisterType.Integer, rn.Type), rn, rm, shiftType, shiftAmount);
|
Subs(new Operand(ZrRegister, RegisterType.Integer, rn.Type), rn, rm, shiftType, shiftAmount);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Csdb()
|
public readonly void Csdb()
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd503229fu);
|
WriteUInt32(0xd503229fu);
|
||||||
}
|
}
|
||||||
@ -351,12 +351,12 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
WriteInstructionBitwiseAuto(0x1a800400u | ((uint)condition << 12), rd, rn, rm);
|
WriteInstructionBitwiseAuto(0x1a800400u | ((uint)condition << 12), rd, rn, rm);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dmb(uint option)
|
public readonly void Dmb(uint option)
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd50330bfu | (option << 8));
|
WriteUInt32(0xd50330bfu | (option << 8));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Dsb(uint option)
|
public readonly void Dsb(uint option)
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd503309fu | (option << 8));
|
WriteUInt32(0xd503309fu | (option << 8));
|
||||||
}
|
}
|
||||||
@ -382,7 +382,7 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
Tst(rd, rd);
|
Tst(rd, rd);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Esb()
|
public readonly void Esb()
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd503221fu);
|
WriteUInt32(0xd503221fu);
|
||||||
}
|
}
|
||||||
@ -393,7 +393,7 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
WriteInstructionBitwiseAuto(0x13800000u | n | (EncodeUImm6(imms) << 10), rd, rn, rm);
|
WriteInstructionBitwiseAuto(0x13800000u | n | (EncodeUImm6(imms) << 10), rd, rn, rm);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Isb(uint option)
|
public readonly void Isb(uint option)
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd50330dfu | (option << 8));
|
WriteUInt32(0xd50330dfu | (option << 8));
|
||||||
}
|
}
|
||||||
@ -882,7 +882,7 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
Ret(new Operand(30, RegisterType.Integer, OperandType.I64));
|
Ret(new Operand(30, RegisterType.Integer, OperandType.I64));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Ret(Operand rn)
|
public readonly void Ret(Operand rn)
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd65f0000u | (EncodeReg(rn) << 5));
|
WriteUInt32(0xd65f0000u | (EncodeReg(rn) << 5));
|
||||||
}
|
}
|
||||||
@ -949,12 +949,12 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
WriteInstructionRm16Auto(0x1ac00c00u, rd, rn, rm);
|
WriteInstructionRm16Auto(0x1ac00c00u, rd, rn, rm);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Sev()
|
public readonly void Sev()
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd503209fu);
|
WriteUInt32(0xd503209fu);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Sevl()
|
public readonly void Sevl()
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd50320bfu);
|
WriteUInt32(0xd50320bfu);
|
||||||
}
|
}
|
||||||
@ -1162,7 +1162,7 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
Sbfm(rd, rn, 0, 31);
|
Sbfm(rd, rn, 0, 31);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Tsb()
|
public readonly void Tsb()
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd503225fu);
|
WriteUInt32(0xd503225fu);
|
||||||
}
|
}
|
||||||
@ -4292,12 +4292,12 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
WriteInstructionRm16(0x0e005800u | (size << 22) | (q << 30), rd, rn, rm);
|
WriteInstructionRm16(0x0e005800u | (size << 22) | (q << 30), rd, rn, rm);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Wfe()
|
public readonly void Wfe()
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd503205fu);
|
WriteUInt32(0xd503205fu);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Wfi()
|
public readonly void Wfi()
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd503207fu);
|
WriteUInt32(0xd503207fu);
|
||||||
}
|
}
|
||||||
@ -4312,7 +4312,7 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
WriteInstruction(0x0e212800u | (size << 22) | (q << 30), rd, rn);
|
WriteInstruction(0x0e212800u | (size << 22) | (q << 30), rd, rn);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Yield()
|
public readonly void Yield()
|
||||||
{
|
{
|
||||||
WriteUInt32(0xd503203fu);
|
WriteUInt32(0xd503203fu);
|
||||||
}
|
}
|
||||||
@ -4498,22 +4498,22 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
WriteInstruction(instruction, rd, rn, rm, ra);
|
WriteInstruction(instruction, rd, rn, rm, ra);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WriteInstruction(uint instruction, Operand rd)
|
public readonly void WriteInstruction(uint instruction, Operand rd)
|
||||||
{
|
{
|
||||||
WriteUInt32(instruction | EncodeReg(rd));
|
WriteUInt32(instruction | EncodeReg(rd));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WriteInstruction(uint instruction, Operand rd, Operand rn)
|
public readonly void WriteInstruction(uint instruction, Operand rd, Operand rn)
|
||||||
{
|
{
|
||||||
WriteUInt32(instruction | EncodeReg(rd) | (EncodeReg(rn) << 5));
|
WriteUInt32(instruction | EncodeReg(rd) | (EncodeReg(rn) << 5));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WriteInstruction(uint instruction, Operand rd, Operand rn, Operand rm)
|
public readonly void WriteInstruction(uint instruction, Operand rd, Operand rn, Operand rm)
|
||||||
{
|
{
|
||||||
WriteUInt32(instruction | EncodeReg(rd) | (EncodeReg(rn) << 5) | (EncodeReg(rm) << 10));
|
WriteUInt32(instruction | EncodeReg(rd) | (EncodeReg(rn) << 5) | (EncodeReg(rm) << 10));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WriteInstruction(uint instruction, Operand rd, Operand rn, Operand rm, Operand ra)
|
public readonly void WriteInstruction(uint instruction, Operand rd, Operand rn, Operand rm, Operand ra)
|
||||||
{
|
{
|
||||||
WriteUInt32(instruction | EncodeReg(rd) | (EncodeReg(rn) << 5) | (EncodeReg(ra) << 10) | (EncodeReg(rm) << 16));
|
WriteUInt32(instruction | EncodeReg(rd) | (EncodeReg(rn) << 5) | (EncodeReg(ra) << 10) | (EncodeReg(rm) << 16));
|
||||||
}
|
}
|
||||||
@ -4528,12 +4528,12 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
WriteInstructionRm16(instruction, rd, rn, rm);
|
WriteInstructionRm16(instruction, rd, rn, rm);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WriteInstructionRm16(uint instruction, Operand rn, Operand rm)
|
public readonly void WriteInstructionRm16(uint instruction, Operand rn, Operand rm)
|
||||||
{
|
{
|
||||||
WriteUInt32(instruction | (EncodeReg(rn) << 5) | (EncodeReg(rm) << 16));
|
WriteUInt32(instruction | (EncodeReg(rn) << 5) | (EncodeReg(rm) << 16));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void WriteInstructionRm16(uint instruction, Operand rd, Operand rn, Operand rm)
|
public readonly void WriteInstructionRm16(uint instruction, Operand rd, Operand rn, Operand rm)
|
||||||
{
|
{
|
||||||
WriteUInt32(instruction | EncodeReg(rd) | (EncodeReg(rn) << 5) | (EncodeReg(rm) << 16));
|
WriteUInt32(instruction | EncodeReg(rd) | (EncodeReg(rn) << 5) | (EncodeReg(rm) << 16));
|
||||||
}
|
}
|
||||||
|
@ -221,7 +221,7 @@ namespace Ryujinx.Cpu.LightningJit.CodeGen.Arm64
|
|||||||
{
|
{
|
||||||
asm.LdrRiUn(Register(reg, type), Register(Assembler.SpRegister), offset);
|
asm.LdrRiUn(Register(reg, type), Register(Assembler.SpRegister), offset);
|
||||||
}
|
}
|
||||||
else if (calleeSaveRegionSize < Encodable9BitsOffsetLimit)
|
else if (calleeSaveRegionSize < Encodable9BitsOffsetLimit)
|
||||||
{
|
{
|
||||||
asm.LdrRiPost(Register(reg, type), Register(Assembler.SpRegister), calleeSaveRegionSize);
|
asm.LdrRiPost(Register(reg, type), Register(Assembler.SpRegister), calleeSaveRegionSize);
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ using System.Diagnostics;
|
|||||||
|
|
||||||
namespace Ryujinx.Cpu.LightningJit.CodeGen
|
namespace Ryujinx.Cpu.LightningJit.CodeGen
|
||||||
{
|
{
|
||||||
struct Operand
|
readonly struct Operand
|
||||||
{
|
{
|
||||||
public readonly OperandKind Kind { get; }
|
public readonly OperandKind Kind { get; }
|
||||||
public readonly OperandType Type { get; }
|
public readonly OperandType Type { get; }
|
||||||
|
@ -2,7 +2,7 @@ using System;
|
|||||||
|
|
||||||
namespace Ryujinx.Cpu.LightningJit
|
namespace Ryujinx.Cpu.LightningJit
|
||||||
{
|
{
|
||||||
ref struct CompiledFunction
|
readonly ref struct CompiledFunction
|
||||||
{
|
{
|
||||||
public readonly ReadOnlySpan<byte> Code;
|
public readonly ReadOnlySpan<byte> Code;
|
||||||
public readonly int GuestCodeLength;
|
public readonly int GuestCodeLength;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using ARMeilleure.Memory;
|
using ARMeilleure.Memory;
|
||||||
using Ryujinx.Cpu.Jit;
|
using Ryujinx.Cpu.Jit;
|
||||||
using Ryujinx.Cpu.LightningJit.State;
|
using Ryujinx.Cpu.LightningJit.State;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using ARMeilleure.Memory;
|
using ARMeilleure.Memory;
|
||||||
using Ryujinx.Cpu;
|
using Ryujinx.Cpu;
|
||||||
using Ryujinx.Graphics.Gpu;
|
using Ryujinx.Graphics.Gpu;
|
||||||
using Ryujinx.HLE.HOS.Kernel.Process;
|
using Ryujinx.HLE.HOS.Kernel.Process;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using Ryujinx.Common.Configuration;
|
using Ryujinx.Common.Configuration;
|
||||||
using Ryujinx.Common.Logging;
|
using Ryujinx.Common.Logging;
|
||||||
using Ryujinx.Cpu;
|
using Ryujinx.Cpu;
|
||||||
using Ryujinx.Cpu.AppleHv;
|
using Ryujinx.Cpu.AppleHv;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user