aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Tests/Cpu/CpuTestSimdReg.cs')
-rw-r--r--Ryujinx.Tests/Cpu/CpuTestSimdReg.cs1116
1 files changed, 557 insertions, 559 deletions
diff --git a/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs b/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs
index 0daeb1d1..1f2a6bc8 100644
--- a/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs
+++ b/Ryujinx.Tests/Cpu/CpuTestSimdReg.cs
@@ -1,9 +1,7 @@
#define SimdReg
using ARMeilleure.State;
-
using NUnit.Framework;
-
using System.Collections.Generic;
namespace Ryujinx.Tests.Cpu
@@ -16,72 +14,72 @@ namespace Ryujinx.Tests.Cpu
#region "ValueSource (Types)"
private static ulong[] _1B1H1S1D_()
{
- return new ulong[] { 0x0000000000000000ul, 0x000000000000007Ful,
- 0x0000000000000080ul, 0x00000000000000FFul,
- 0x0000000000007FFFul, 0x0000000000008000ul,
- 0x000000000000FFFFul, 0x000000007FFFFFFFul,
- 0x0000000080000000ul, 0x00000000FFFFFFFFul,
- 0x7FFFFFFFFFFFFFFFul, 0x8000000000000000ul,
- 0xFFFFFFFFFFFFFFFFul };
+ return new[] { 0x0000000000000000ul, 0x000000000000007Ful,
+ 0x0000000000000080ul, 0x00000000000000FFul,
+ 0x0000000000007FFFul, 0x0000000000008000ul,
+ 0x000000000000FFFFul, 0x000000007FFFFFFFul,
+ 0x0000000080000000ul, 0x00000000FFFFFFFFul,
+ 0x7FFFFFFFFFFFFFFFul, 0x8000000000000000ul,
+ 0xFFFFFFFFFFFFFFFFul };
}
private static ulong[] _1D_()
{
- return new ulong[] { 0x0000000000000000ul, 0x7FFFFFFFFFFFFFFFul,
- 0x8000000000000000ul, 0xFFFFFFFFFFFFFFFFul };
+ return new[] { 0x0000000000000000ul, 0x7FFFFFFFFFFFFFFFul,
+ 0x8000000000000000ul, 0xFFFFFFFFFFFFFFFFul };
}
private static ulong[] _1H1S_()
{
- return new ulong[] { 0x0000000000000000ul, 0x0000000000007FFFul,
- 0x0000000000008000ul, 0x000000000000FFFFul,
- 0x000000007FFFFFFFul, 0x0000000080000000ul,
- 0x00000000FFFFFFFFul };
+ return new[] { 0x0000000000000000ul, 0x0000000000007FFFul,
+ 0x0000000000008000ul, 0x000000000000FFFFul,
+ 0x000000007FFFFFFFul, 0x0000000080000000ul,
+ 0x00000000FFFFFFFFul };
}
private static ulong[] _4H2S_()
{
- return new ulong[] { 0x0000000000000000ul, 0x7FFF7FFF7FFF7FFFul,
- 0x8000800080008000ul, 0x7FFFFFFF7FFFFFFFul,
- 0x8000000080000000ul, 0xFFFFFFFFFFFFFFFFul };
+ return new[] { 0x0000000000000000ul, 0x7FFF7FFF7FFF7FFFul,
+ 0x8000800080008000ul, 0x7FFFFFFF7FFFFFFFul,
+ 0x8000000080000000ul, 0xFFFFFFFFFFFFFFFFul };
}
private static ulong[] _4H2S1D_()
{
- return new ulong[] { 0x0000000000000000ul, 0x7FFF7FFF7FFF7FFFul,
- 0x8000800080008000ul, 0x7FFFFFFF7FFFFFFFul,
- 0x8000000080000000ul, 0x7FFFFFFFFFFFFFFFul,
- 0x8000000000000000ul, 0xFFFFFFFFFFFFFFFFul };
+ return new[] { 0x0000000000000000ul, 0x7FFF7FFF7FFF7FFFul,
+ 0x8000800080008000ul, 0x7FFFFFFF7FFFFFFFul,
+ 0x8000000080000000ul, 0x7FFFFFFFFFFFFFFFul,
+ 0x8000000000000000ul, 0xFFFFFFFFFFFFFFFFul };
}
private static ulong[] _8B_()
{
- return new ulong[] { 0x0000000000000000ul, 0x7F7F7F7F7F7F7F7Ful,
- 0x8080808080808080ul, 0xFFFFFFFFFFFFFFFFul };
+ return new[] { 0x0000000000000000ul, 0x7F7F7F7F7F7F7F7Ful,
+ 0x8080808080808080ul, 0xFFFFFFFFFFFFFFFFul };
}
private static ulong[] _8B1D_()
{
- return new ulong[] { 0x0000000000000000ul, 0x7F7F7F7F7F7F7F7Ful,
- 0x8080808080808080ul, 0x7FFFFFFFFFFFFFFFul,
- 0x8000000000000000ul, 0xFFFFFFFFFFFFFFFFul };
+ return new[] { 0x0000000000000000ul, 0x7F7F7F7F7F7F7F7Ful,
+ 0x8080808080808080ul, 0x7FFFFFFFFFFFFFFFul,
+ 0x8000000000000000ul, 0xFFFFFFFFFFFFFFFFul };
}
private static ulong[] _8B4H2S_()
{
- return new ulong[] { 0x0000000000000000ul, 0x7F7F7F7F7F7F7F7Ful,
- 0x8080808080808080ul, 0x7FFF7FFF7FFF7FFFul,
- 0x8000800080008000ul, 0x7FFFFFFF7FFFFFFFul,
- 0x8000000080000000ul, 0xFFFFFFFFFFFFFFFFul };
+ return new[] { 0x0000000000000000ul, 0x7F7F7F7F7F7F7F7Ful,
+ 0x8080808080808080ul, 0x7FFF7FFF7FFF7FFFul,
+ 0x8000800080008000ul, 0x7FFFFFFF7FFFFFFFul,
+ 0x8000000080000000ul, 0xFFFFFFFFFFFFFFFFul };
}
private static ulong[] _8B4H2S1D_()
{
- return new ulong[] { 0x0000000000000000ul, 0x7F7F7F7F7F7F7F7Ful,
- 0x8080808080808080ul, 0x7FFF7FFF7FFF7FFFul,
- 0x8000800080008000ul, 0x7FFFFFFF7FFFFFFFul,
- 0x8000000080000000ul, 0x7FFFFFFFFFFFFFFFul,
- 0x8000000000000000ul, 0xFFFFFFFFFFFFFFFFul };
+ return new[] { 0x0000000000000000ul, 0x7F7F7F7F7F7F7F7Ful,
+ 0x8080808080808080ul, 0x7FFF7FFF7FFF7FFFul,
+ 0x8000800080008000ul, 0x7FFFFFFF7FFFFFFFul,
+ 0x8000000080000000ul, 0x7FFFFFFFFFFFFFFFul,
+ 0x8000000000000000ul, 0xFFFFFFFFFFFFFFFFul };
}
private static IEnumerable<ulong> _1S_F_()
@@ -212,7 +210,7 @@ namespace Ryujinx.Tests.Cpu
#region "ValueSource (Opcodes)"
private static uint[] _F_Abd_Add_Div_Mul_Mulx_Nmul_Sub_S_S_()
{
- return new uint[]
+ return new[]
{
0x7EA2D420u, // FABD S0, S1, S2
0x1E222820u, // FADD S0, S1, S2
@@ -226,7 +224,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Abd_Add_Div_Mul_Mulx_Nmul_Sub_S_D_()
{
- return new uint[]
+ return new[]
{
0x7EE2D420u, // FABD D0, D1, D2
0x1E622820u, // FADD D0, D1, D2
@@ -240,7 +238,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Abd_Add_Div_Mul_Mulx_Sub_P_V_2S_4S_()
{
- return new uint[]
+ return new[]
{
0x2EA0D400u, // FABD V0.2S, V0.2S, V0.2S
0x0E20D400u, // FADD V0.2S, V0.2S, V0.2S
@@ -254,7 +252,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Abd_Add_Div_Mul_Mulx_Sub_P_V_2D_()
{
- return new uint[]
+ return new[]
{
0x6EE0D400u, // FABD V0.2D, V0.2D, V0.2D
0x4E60D400u, // FADD V0.2D, V0.2D, V0.2D
@@ -268,7 +266,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_AcCm_EqGeGt_S_S_()
{
- return new uint[]
+ return new[]
{
0x7E22EC20u, // FACGE S0, S1, S2
0x7EA2EC20u, // FACGT S0, S1, S2
@@ -280,7 +278,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_AcCm_EqGeGt_S_D_()
{
- return new uint[]
+ return new[]
{
0x7E62EC20u, // FACGE D0, D1, D2
0x7EE2EC20u, // FACGT D0, D1, D2
@@ -292,7 +290,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_AcCm_EqGeGt_V_2S_4S_()
{
- return new uint[]
+ return new[]
{
0x2E20EC00u, // FACGE V0.2S, V0.2S, V0.2S
0x2EA0EC00u, // FACGT V0.2S, V0.2S, V0.2S
@@ -304,7 +302,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_AcCm_EqGeGt_V_2D_()
{
- return new uint[]
+ return new[]
{
0x6E60EC00u, // FACGE V0.2D, V0.2D, V0.2D
0x6EE0EC00u, // FACGT V0.2D, V0.2D, V0.2D
@@ -316,7 +314,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Cmp_Cmpe_S_S_()
{
- return new uint[]
+ return new[]
{
0x1E222020u, // FCMP S1, S2
0x1E222030u // FCMPE S1, S2
@@ -325,7 +323,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Cmp_Cmpe_S_D_()
{
- return new uint[]
+ return new[]
{
0x1E622020u, // FCMP D1, D2
0x1E622030u // FCMPE D1, D2
@@ -334,7 +332,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Madd_Msub_Nmadd_Nmsub_S_S_()
{
- return new uint[]
+ return new[]
{
0x1F020C20u, // FMADD S0, S1, S2, S3
0x1F028C20u, // FMSUB S0, S1, S2, S3
@@ -345,7 +343,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Madd_Msub_Nmadd_Nmsub_S_D_()
{
- return new uint[]
+ return new[]
{
0x1F420C20u, // FMADD D0, D1, D2, D3
0x1F428C20u, // FMSUB D0, D1, D2, D3
@@ -356,7 +354,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Max_Min_Nm_S_S_()
{
- return new uint[]
+ return new[]
{
0x1E224820u, // FMAX S0, S1, S2
0x1E226820u, // FMAXNM S0, S1, S2
@@ -367,7 +365,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Max_Min_Nm_S_D_()
{
- return new uint[]
+ return new[]
{
0x1E624820u, // FMAX D0, D1, D2
0x1E626820u, // FMAXNM D0, D1, D2
@@ -378,7 +376,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Max_Min_Nm_P_V_2S_4S_()
{
- return new uint[]
+ return new[]
{
0x0E20F400u, // FMAX V0.2S, V0.2S, V0.2S
0x0E20C400u, // FMAXNM V0.2S, V0.2S, V0.2S
@@ -393,7 +391,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Max_Min_Nm_P_V_2D_()
{
- return new uint[]
+ return new[]
{
0x4E60F400u, // FMAX V0.2D, V0.2D, V0.2D
0x4E60C400u, // FMAXNM V0.2D, V0.2D, V0.2D
@@ -408,7 +406,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Mla_Mls_V_2S_4S_()
{
- return new uint[]
+ return new[]
{
0x0E20CC00u, // FMLA V0.2S, V0.2S, V0.2S
0x0EA0CC00u // FMLS V0.2S, V0.2S, V0.2S
@@ -417,7 +415,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Mla_Mls_V_2D_()
{
- return new uint[]
+ return new[]
{
0x4E60CC00u, // FMLA V0.2D, V0.2D, V0.2D
0x4EE0CC00u // FMLS V0.2D, V0.2D, V0.2D
@@ -426,7 +424,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Recps_Rsqrts_S_S_()
{
- return new uint[]
+ return new[]
{
0x5E22FC20u, // FRECPS S0, S1, S2
0x5EA2FC20u // FRSQRTS S0, S1, S2
@@ -435,7 +433,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Recps_Rsqrts_S_D_()
{
- return new uint[]
+ return new[]
{
0x5E62FC20u, // FRECPS D0, D1, D2
0x5EE2FC20u // FRSQRTS D0, D1, D2
@@ -444,7 +442,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Recps_Rsqrts_V_2S_4S_()
{
- return new uint[]
+ return new[]
{
0x0E20FC00u, // FRECPS V0.2S, V0.2S, V0.2S
0x0EA0FC00u // FRSQRTS V0.2S, V0.2S, V0.2S
@@ -453,7 +451,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _F_Recps_Rsqrts_V_2D_()
{
- return new uint[]
+ return new[]
{
0x4E60FC00u, // FRECPS V0.2D, V0.2D, V0.2D
0x4EE0FC00u // FRSQRTS V0.2D, V0.2D, V0.2D
@@ -462,7 +460,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _Mla_Mls_Mul_V_8B_4H_2S_()
{
- return new uint[]
+ return new[]
{
0x0E209400u, // MLA V0.8B, V0.8B, V0.8B
0x2E209400u, // MLS V0.8B, V0.8B, V0.8B
@@ -472,7 +470,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _Mla_Mls_Mul_V_16B_8H_4S_()
{
- return new uint[]
+ return new[]
{
0x4E209400u, // MLA V0.16B, V0.16B, V0.16B
0x6E209400u, // MLS V0.16B, V0.16B, V0.16B
@@ -482,7 +480,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _Sha1c_Sha1m_Sha1p_Sha1su0_V_()
{
- return new uint[]
+ return new[]
{
0x5E000000u, // SHA1C Q0, S0, V0.4S
0x5E002000u, // SHA1M Q0, S0, V0.4S
@@ -493,7 +491,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _Sha256h_Sha256h2_Sha256su1_V_()
{
- return new uint[]
+ return new[]
{
0x5E004000u, // SHA256H Q0, Q0, V0.4S
0x5E005000u, // SHA256H2 Q0, Q0, V0.4S
@@ -503,7 +501,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _SU_Max_Min_P_V_()
{
- return new uint[]
+ return new[]
{
0x0E206400u, // SMAX V0.8B, V0.8B, V0.8B
0x0E20A400u, // SMAXP V0.8B, V0.8B, V0.8B
@@ -518,7 +516,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _SU_Mlal_Mlsl_Mull_V_8B8H_4H4S_2S2D_()
{
- return new uint[]
+ return new[]
{
0x0E208000u, // SMLAL V0.8H, V0.8B, V0.8B
0x0E20A000u, // SMLSL V0.8H, V0.8B, V0.8B
@@ -531,7 +529,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _SU_Mlal_Mlsl_Mull_V_16B8H_8H4S_4S2D_()
{
- return new uint[]
+ return new[]
{
0x4E208000u, // SMLAL2 V0.8H, V0.16B, V0.16B
0x4E20A000u, // SMLSL2 V0.8H, V0.16B, V0.16B
@@ -544,7 +542,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _ShlReg_S_D_()
{
- return new uint[]
+ return new[]
{
0x5EE04400u, // SSHL D0, D0, D0
0x7EE04400u // USHL D0, D0, D0
@@ -553,7 +551,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _ShlReg_V_8B_4H_2S_()
{
- return new uint[]
+ return new[]
{
0x0E205C00u, // SQRSHL V0.8B, V0.8B, V0.8B
0x0E204C00u, // SQSHL V0.8B, V0.8B, V0.8B
@@ -568,7 +566,7 @@ namespace Ryujinx.Tests.Cpu
private static uint[] _ShlReg_V_16B_8H_4S_2D_()
{
- return new uint[]
+ return new[]
{
0x4E205C00u, // SQRSHL V0.16B, V0.16B, V0.16B
0x4E204C00u, // SQSHL V0.16B, V0.16B, V0.16B
@@ -592,9 +590,9 @@ namespace Ryujinx.Tests.Cpu
public void Add_S_D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_1D_))] ulong z,
+ [ValueSource(nameof(_1D_))] ulong a,
+ [ValueSource(nameof(_1D_))] ulong b)
{
uint opcode = 0x5EE08400; // ADD D0, D0, D0
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -612,9 +610,9 @@ namespace Ryujinx.Tests.Cpu
public void Add_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E208400; // ADD V0.8B, V0.8B, V0.8B
@@ -634,9 +632,9 @@ namespace Ryujinx.Tests.Cpu
public void Add_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E208400; // ADD V0.16B, V0.16B, V0.16B
@@ -656,9 +654,9 @@ namespace Ryujinx.Tests.Cpu
public void Addhn_V_8H8B_4S4H_2D2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] ulong a,
+ [ValueSource(nameof(_4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8H8B, 4S4H, 2D2S>
{
uint opcode = 0x0E204000; // ADDHN V0.8B, V0.8H, V0.8H
@@ -678,9 +676,9 @@ namespace Ryujinx.Tests.Cpu
public void Addhn_V_8H16B_4S8H_2D4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] ulong a,
+ [ValueSource(nameof(_4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8H16B, 4S8H, 2D4S>
{
uint opcode = 0x4E204000; // ADDHN2 V0.16B, V0.8H, V0.8H
@@ -700,9 +698,9 @@ namespace Ryujinx.Tests.Cpu
public void Addp_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E20BC00; // ADDP V0.8B, V0.8B, V0.8B
@@ -722,9 +720,9 @@ namespace Ryujinx.Tests.Cpu
public void Addp_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E20BC00; // ADDP V0.16B, V0.16B, V0.16B
@@ -744,9 +742,9 @@ namespace Ryujinx.Tests.Cpu
public void And_V_8B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x0E201C00; // AND V0.8B, V0.8B, V0.8B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -764,9 +762,9 @@ namespace Ryujinx.Tests.Cpu
public void And_V_16B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x4E201C00; // AND V0.16B, V0.16B, V0.16B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -784,9 +782,9 @@ namespace Ryujinx.Tests.Cpu
public void Bic_V_8B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x0E601C00; // BIC V0.8B, V0.8B, V0.8B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -804,9 +802,9 @@ namespace Ryujinx.Tests.Cpu
public void Bic_V_16B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x4E601C00; // BIC V0.16B, V0.16B, V0.16B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -824,9 +822,9 @@ namespace Ryujinx.Tests.Cpu
public void Bif_V_8B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x2EE01C00; // BIF V0.8B, V0.8B, V0.8B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -844,9 +842,9 @@ namespace Ryujinx.Tests.Cpu
public void Bif_V_16B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x6EE01C00; // BIF V0.16B, V0.16B, V0.16B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -864,9 +862,9 @@ namespace Ryujinx.Tests.Cpu
public void Bit_V_8B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x2EA01C00; // BIT V0.8B, V0.8B, V0.8B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -884,9 +882,9 @@ namespace Ryujinx.Tests.Cpu
public void Bit_V_16B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x6EA01C00; // BIT V0.16B, V0.16B, V0.16B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -904,9 +902,9 @@ namespace Ryujinx.Tests.Cpu
public void Bsl_V_8B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x2E601C00; // BSL V0.8B, V0.8B, V0.8B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -924,9 +922,9 @@ namespace Ryujinx.Tests.Cpu
public void Bsl_V_16B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x6E601C00; // BSL V0.16B, V0.16B, V0.16B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -944,9 +942,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmeq_S_D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_1D_))] ulong z,
+ [ValueSource(nameof(_1D_))] ulong a,
+ [ValueSource(nameof(_1D_))] ulong b)
{
uint opcode = 0x7EE08C00; // CMEQ D0, D0, D0
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -964,9 +962,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmeq_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x2E208C00; // CMEQ V0.8B, V0.8B, V0.8B
@@ -986,9 +984,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmeq_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x6E208C00; // CMEQ V0.16B, V0.16B, V0.16B
@@ -1008,9 +1006,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmge_S_D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_1D_))] ulong z,
+ [ValueSource(nameof(_1D_))] ulong a,
+ [ValueSource(nameof(_1D_))] ulong b)
{
uint opcode = 0x5EE03C00; // CMGE D0, D0, D0
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1028,9 +1026,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmge_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E203C00; // CMGE V0.8B, V0.8B, V0.8B
@@ -1050,9 +1048,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmge_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E203C00; // CMGE V0.16B, V0.16B, V0.16B
@@ -1072,9 +1070,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmgt_S_D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_1D_))] ulong z,
+ [ValueSource(nameof(_1D_))] ulong a,
+ [ValueSource(nameof(_1D_))] ulong b)
{
uint opcode = 0x5EE03400; // CMGT D0, D0, D0
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1092,9 +1090,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmgt_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E203400; // CMGT V0.8B, V0.8B, V0.8B
@@ -1114,9 +1112,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmgt_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E203400; // CMGT V0.16B, V0.16B, V0.16B
@@ -1136,9 +1134,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmhi_S_D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_1D_))] ulong z,
+ [ValueSource(nameof(_1D_))] ulong a,
+ [ValueSource(nameof(_1D_))] ulong b)
{
uint opcode = 0x7EE03400; // CMHI D0, D0, D0
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1156,9 +1154,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmhi_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x2E203400; // CMHI V0.8B, V0.8B, V0.8B
@@ -1178,9 +1176,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmhi_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x6E203400; // CMHI V0.16B, V0.16B, V0.16B
@@ -1200,9 +1198,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmhs_S_D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_1D_))] ulong z,
+ [ValueSource(nameof(_1D_))] ulong a,
+ [ValueSource(nameof(_1D_))] ulong b)
{
uint opcode = 0x7EE03C00; // CMHS D0, D0, D0
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1220,9 +1218,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmhs_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x2E203C00; // CMHS V0.8B, V0.8B, V0.8B
@@ -1242,9 +1240,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmhs_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x6E203C00; // CMHS V0.16B, V0.16B, V0.16B
@@ -1264,9 +1262,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmtst_S_D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_1D_))] ulong z,
+ [ValueSource(nameof(_1D_))] ulong a,
+ [ValueSource(nameof(_1D_))] ulong b)
{
uint opcode = 0x5EE08C00; // CMTST D0, D0, D0
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1284,9 +1282,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmtst_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E208C00; // CMTST V0.8B, V0.8B, V0.8B
@@ -1306,9 +1304,9 @@ namespace Ryujinx.Tests.Cpu
public void Cmtst_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E208C00; // CMTST V0.16B, V0.16B, V0.16B
@@ -1328,9 +1326,9 @@ namespace Ryujinx.Tests.Cpu
public void Eor_V_8B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x2E201C00; // EOR V0.8B, V0.8B, V0.8B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1348,9 +1346,9 @@ namespace Ryujinx.Tests.Cpu
public void Eor_V_16B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x6E201C00; // EOR V0.16B, V0.16B, V0.16B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1365,9 +1363,9 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_Abd_Add_Div_Mul_Mulx_Nmul_Sub_S_S([ValueSource("_F_Abd_Add_Div_Mul_Mulx_Nmul_Sub_S_S_")] uint opcodes,
- [ValueSource("_1S_F_")] ulong a,
- [ValueSource("_1S_F_")] ulong b)
+ public void F_Abd_Add_Div_Mul_Mulx_Nmul_Sub_S_S([ValueSource(nameof(_F_Abd_Add_Div_Mul_Mulx_Nmul_Sub_S_S_))] uint opcodes,
+ [ValueSource(nameof(_1S_F_))] ulong a,
+ [ValueSource(nameof(_1S_F_))] ulong b)
{
ulong z = TestContext.CurrentContext.Random.NextULong();
V128 v0 = MakeVectorE0E1(z, z);
@@ -1385,9 +1383,9 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_Abd_Add_Div_Mul_Mulx_Nmul_Sub_S_D([ValueSource("_F_Abd_Add_Div_Mul_Mulx_Nmul_Sub_S_D_")] uint opcodes,
- [ValueSource("_1D_F_")] ulong a,
- [ValueSource("_1D_F_")] ulong b)
+ public void F_Abd_Add_Div_Mul_Mulx_Nmul_Sub_S_D([ValueSource(nameof(_F_Abd_Add_Div_Mul_Mulx_Nmul_Sub_S_D_))] uint opcodes,
+ [ValueSource(nameof(_1D_F_))] ulong a,
+ [ValueSource(nameof(_1D_F_))] ulong b)
{
ulong z = TestContext.CurrentContext.Random.NextULong();
V128 v0 = MakeVectorE1(z);
@@ -1405,13 +1403,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_Abd_Add_Div_Mul_Mulx_Sub_P_V_2S_4S([ValueSource("_F_Abd_Add_Div_Mul_Mulx_Sub_P_V_2S_4S_")] uint opcodes,
+ public void F_Abd_Add_Div_Mul_Mulx_Sub_P_V_2S_4S([ValueSource(nameof(_F_Abd_Add_Div_Mul_Mulx_Sub_P_V_2S_4S_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_2S_F_")] ulong z,
- [ValueSource("_2S_F_")] ulong a,
- [ValueSource("_2S_F_")] ulong b,
+ [ValueSource(nameof(_2S_F_))] ulong z,
+ [ValueSource(nameof(_2S_F_))] ulong a,
+ [ValueSource(nameof(_2S_F_))] ulong b,
[Values(0b0u, 0b1u)] uint q) // <2S, 4S>
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1432,13 +1430,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_Abd_Add_Div_Mul_Mulx_Sub_P_V_2D([ValueSource("_F_Abd_Add_Div_Mul_Mulx_Sub_P_V_2D_")] uint opcodes,
+ public void F_Abd_Add_Div_Mul_Mulx_Sub_P_V_2D([ValueSource(nameof(_F_Abd_Add_Div_Mul_Mulx_Sub_P_V_2D_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_F_")] ulong z,
- [ValueSource("_1D_F_")] ulong a,
- [ValueSource("_1D_F_")] ulong b)
+ [ValueSource(nameof(_1D_F_))] ulong z,
+ [ValueSource(nameof(_1D_F_))] ulong a,
+ [ValueSource(nameof(_1D_F_))] ulong b)
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1457,9 +1455,9 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_AcCm_EqGeGt_S_S([ValueSource("_F_AcCm_EqGeGt_S_S_")] uint opcodes,
- [ValueSource("_1S_F_")] ulong a,
- [ValueSource("_1S_F_")] ulong b)
+ public void F_AcCm_EqGeGt_S_S([ValueSource(nameof(_F_AcCm_EqGeGt_S_S_))] uint opcodes,
+ [ValueSource(nameof(_1S_F_))] ulong a,
+ [ValueSource(nameof(_1S_F_))] ulong b)
{
ulong z = TestContext.CurrentContext.Random.NextULong();
V128 v0 = MakeVectorE0E1(z, z);
@@ -1476,9 +1474,9 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_AcCm_EqGeGt_S_D([ValueSource("_F_AcCm_EqGeGt_S_D_")] uint opcodes,
- [ValueSource("_1D_F_")] ulong a,
- [ValueSource("_1D_F_")] ulong b)
+ public void F_AcCm_EqGeGt_S_D([ValueSource(nameof(_F_AcCm_EqGeGt_S_D_))] uint opcodes,
+ [ValueSource(nameof(_1D_F_))] ulong a,
+ [ValueSource(nameof(_1D_F_))] ulong b)
{
ulong z = TestContext.CurrentContext.Random.NextULong();
V128 v0 = MakeVectorE1(z);
@@ -1495,13 +1493,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_AcCm_EqGeGt_V_2S_4S([ValueSource("_F_AcCm_EqGeGt_V_2S_4S_")] uint opcodes,
+ public void F_AcCm_EqGeGt_V_2S_4S([ValueSource(nameof(_F_AcCm_EqGeGt_V_2S_4S_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_2S_F_")] ulong z,
- [ValueSource("_2S_F_")] ulong a,
- [ValueSource("_2S_F_")] ulong b,
+ [ValueSource(nameof(_2S_F_))] ulong z,
+ [ValueSource(nameof(_2S_F_))] ulong a,
+ [ValueSource(nameof(_2S_F_))] ulong b,
[Values(0b0u, 0b1u)] uint q) // <2S, 4S>
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1521,13 +1519,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_AcCm_EqGeGt_V_2D([ValueSource("_F_AcCm_EqGeGt_V_2D_")] uint opcodes,
+ public void F_AcCm_EqGeGt_V_2D([ValueSource(nameof(_F_AcCm_EqGeGt_V_2D_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_F_")] ulong z,
- [ValueSource("_1D_F_")] ulong a,
- [ValueSource("_1D_F_")] ulong b)
+ [ValueSource(nameof(_1D_F_))] ulong z,
+ [ValueSource(nameof(_1D_F_))] ulong a,
+ [ValueSource(nameof(_1D_F_))] ulong b)
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1545,9 +1543,9 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_Cmp_Cmpe_S_S([ValueSource("_F_Cmp_Cmpe_S_S_")] uint opcodes,
- [ValueSource("_1S_F_")] ulong a,
- [ValueSource("_1S_F_")] ulong b)
+ public void F_Cmp_Cmpe_S_S([ValueSource(nameof(_F_Cmp_Cmpe_S_S_))] uint opcodes,
+ [ValueSource(nameof(_1S_F_))] ulong a,
+ [ValueSource(nameof(_1S_F_))] ulong b)
{
V128 v1 = MakeVectorE0(a);
V128 v2 = MakeVectorE0(b);
@@ -1563,9 +1561,9 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_Cmp_Cmpe_S_D([ValueSource("_F_Cmp_Cmpe_S_D_")] uint opcodes,
- [ValueSource("_1D_F_")] ulong a,
- [ValueSource("_1D_F_")] ulong b)
+ public void F_Cmp_Cmpe_S_D([ValueSource(nameof(_F_Cmp_Cmpe_S_D_))] uint opcodes,
+ [ValueSource(nameof(_1D_F_))] ulong a,
+ [ValueSource(nameof(_1D_F_))] ulong b)
{
V128 v1 = MakeVectorE0(a);
V128 v2 = MakeVectorE0(b);
@@ -1581,10 +1579,10 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit] // Fused.
- public void F_Madd_Msub_Nmadd_Nmsub_S_S([ValueSource("_F_Madd_Msub_Nmadd_Nmsub_S_S_")] uint opcodes,
- [ValueSource("_1S_F_")] ulong a,
- [ValueSource("_1S_F_")] ulong b,
- [ValueSource("_1S_F_")] ulong c)
+ public void F_Madd_Msub_Nmadd_Nmsub_S_S([ValueSource(nameof(_F_Madd_Msub_Nmadd_Nmsub_S_S_))] uint opcodes,
+ [ValueSource(nameof(_1S_F_))] ulong a,
+ [ValueSource(nameof(_1S_F_))] ulong b,
+ [ValueSource(nameof(_1S_F_))] ulong c)
{
ulong z = TestContext.CurrentContext.Random.NextULong();
V128 v0 = MakeVectorE0E1(z, z);
@@ -1603,10 +1601,10 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit] // Fused.
- public void F_Madd_Msub_Nmadd_Nmsub_S_D([ValueSource("_F_Madd_Msub_Nmadd_Nmsub_S_D_")] uint opcodes,
- [ValueSource("_1D_F_")] ulong a,
- [ValueSource("_1D_F_")] ulong b,
- [ValueSource("_1D_F_")] ulong c)
+ public void F_Madd_Msub_Nmadd_Nmsub_S_D([ValueSource(nameof(_F_Madd_Msub_Nmadd_Nmsub_S_D_))] uint opcodes,
+ [ValueSource(nameof(_1D_F_))] ulong a,
+ [ValueSource(nameof(_1D_F_))] ulong b,
+ [ValueSource(nameof(_1D_F_))] ulong c)
{
ulong z = TestContext.CurrentContext.Random.NextULong();
V128 v0 = MakeVectorE1(z);
@@ -1625,9 +1623,9 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_Max_Min_Nm_S_S([ValueSource("_F_Max_Min_Nm_S_S_")] uint opcodes,
- [ValueSource("_1S_F_")] ulong a,
- [ValueSource("_1S_F_")] ulong b)
+ public void F_Max_Min_Nm_S_S([ValueSource(nameof(_F_Max_Min_Nm_S_S_))] uint opcodes,
+ [ValueSource(nameof(_1S_F_))] ulong a,
+ [ValueSource(nameof(_1S_F_))] ulong b)
{
ulong z = TestContext.CurrentContext.Random.NextULong();
V128 v0 = MakeVectorE0E1(z, z);
@@ -1645,9 +1643,9 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_Max_Min_Nm_S_D([ValueSource("_F_Max_Min_Nm_S_D_")] uint opcodes,
- [ValueSource("_1D_F_")] ulong a,
- [ValueSource("_1D_F_")] ulong b)
+ public void F_Max_Min_Nm_S_D([ValueSource(nameof(_F_Max_Min_Nm_S_D_))] uint opcodes,
+ [ValueSource(nameof(_1D_F_))] ulong a,
+ [ValueSource(nameof(_1D_F_))] ulong b)
{
ulong z = TestContext.CurrentContext.Random.NextULong();
V128 v0 = MakeVectorE1(z);
@@ -1665,13 +1663,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_Max_Min_Nm_P_V_2S_4S([ValueSource("_F_Max_Min_Nm_P_V_2S_4S_")] uint opcodes,
+ public void F_Max_Min_Nm_P_V_2S_4S([ValueSource(nameof(_F_Max_Min_Nm_P_V_2S_4S_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_2S_F_")] ulong z,
- [ValueSource("_2S_F_")] ulong a,
- [ValueSource("_2S_F_")] ulong b,
+ [ValueSource(nameof(_2S_F_))] ulong z,
+ [ValueSource(nameof(_2S_F_))] ulong a,
+ [ValueSource(nameof(_2S_F_))] ulong b,
[Values(0b0u, 0b1u)] uint q) // <2S, 4S>
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1692,13 +1690,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit]
- public void F_Max_Min_Nm_P_V_2D([ValueSource("_F_Max_Min_Nm_P_V_2D_")] uint opcodes,
+ public void F_Max_Min_Nm_P_V_2D([ValueSource(nameof(_F_Max_Min_Nm_P_V_2D_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_F_")] ulong z,
- [ValueSource("_1D_F_")] ulong a,
- [ValueSource("_1D_F_")] ulong b)
+ [ValueSource(nameof(_1D_F_))] ulong z,
+ [ValueSource(nameof(_1D_F_))] ulong a,
+ [ValueSource(nameof(_1D_F_))] ulong b)
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1717,13 +1715,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit] // Fused.
- public void F_Mla_Mls_V_2S_4S([ValueSource("_F_Mla_Mls_V_2S_4S_")] uint opcodes,
+ public void F_Mla_Mls_V_2S_4S([ValueSource(nameof(_F_Mla_Mls_V_2S_4S_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_2S_F_")] ulong z,
- [ValueSource("_2S_F_")] ulong a,
- [ValueSource("_2S_F_")] ulong b,
+ [ValueSource(nameof(_2S_F_))] ulong z,
+ [ValueSource(nameof(_2S_F_))] ulong a,
+ [ValueSource(nameof(_2S_F_))] ulong b,
[Values(0b0u, 0b1u)] uint q) // <2S, 4S>
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1744,13 +1742,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit] // Fused.
- public void F_Mla_Mls_V_2D([ValueSource("_F_Mla_Mls_V_2D_")] uint opcodes,
+ public void F_Mla_Mls_V_2D([ValueSource(nameof(_F_Mla_Mls_V_2D_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_F_")] ulong z,
- [ValueSource("_1D_F_")] ulong a,
- [ValueSource("_1D_F_")] ulong b)
+ [ValueSource(nameof(_1D_F_))] ulong z,
+ [ValueSource(nameof(_1D_F_))] ulong a,
+ [ValueSource(nameof(_1D_F_))] ulong b)
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1769,9 +1767,9 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit] // Fused.
- public void F_Recps_Rsqrts_S_S([ValueSource("_F_Recps_Rsqrts_S_S_")] uint opcodes,
- [ValueSource("_1S_F_")] ulong a,
- [ValueSource("_1S_F_")] ulong b)
+ public void F_Recps_Rsqrts_S_S([ValueSource(nameof(_F_Recps_Rsqrts_S_S_))] uint opcodes,
+ [ValueSource(nameof(_1S_F_))] ulong a,
+ [ValueSource(nameof(_1S_F_))] ulong b)
{
ulong z = TestContext.CurrentContext.Random.NextULong();
V128 v0 = MakeVectorE0E1(z, z);
@@ -1789,9 +1787,9 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit] // Fused.
- public void F_Recps_Rsqrts_S_D([ValueSource("_F_Recps_Rsqrts_S_D_")] uint opcodes,
- [ValueSource("_1D_F_")] ulong a,
- [ValueSource("_1D_F_")] ulong b)
+ public void F_Recps_Rsqrts_S_D([ValueSource(nameof(_F_Recps_Rsqrts_S_D_))] uint opcodes,
+ [ValueSource(nameof(_1D_F_))] ulong a,
+ [ValueSource(nameof(_1D_F_))] ulong b)
{
ulong z = TestContext.CurrentContext.Random.NextULong();
V128 v0 = MakeVectorE1(z);
@@ -1809,13 +1807,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit] // Fused.
- public void F_Recps_Rsqrts_V_2S_4S([ValueSource("_F_Recps_Rsqrts_V_2S_4S_")] uint opcodes,
+ public void F_Recps_Rsqrts_V_2S_4S([ValueSource(nameof(_F_Recps_Rsqrts_V_2S_4S_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_2S_F_")] ulong z,
- [ValueSource("_2S_F_")] ulong a,
- [ValueSource("_2S_F_")] ulong b,
+ [ValueSource(nameof(_2S_F_))] ulong z,
+ [ValueSource(nameof(_2S_F_))] ulong a,
+ [ValueSource(nameof(_2S_F_))] ulong b,
[Values(0b0u, 0b1u)] uint q) // <2S, 4S>
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1836,13 +1834,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise] [Explicit] // Fused.
- public void F_Recps_Rsqrts_V_2D([ValueSource("_F_Recps_Rsqrts_V_2D_")] uint opcodes,
+ public void F_Recps_Rsqrts_V_2D([ValueSource(nameof(_F_Recps_Rsqrts_V_2D_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_F_")] ulong z,
- [ValueSource("_1D_F_")] ulong a,
- [ValueSource("_1D_F_")] ulong b)
+ [ValueSource(nameof(_1D_F_))] ulong z,
+ [ValueSource(nameof(_1D_F_))] ulong a,
+ [ValueSource(nameof(_1D_F_))] ulong b)
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1861,13 +1859,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise]
- public void Mla_Mls_Mul_V_8B_4H_2S([ValueSource("_Mla_Mls_Mul_V_8B_4H_2S_")] uint opcodes,
+ public void Mla_Mls_Mul_V_8B_4H_2S([ValueSource(nameof(_Mla_Mls_Mul_V_8B_4H_2S_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1883,13 +1881,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise]
- public void Mla_Mls_Mul_V_16B_8H_4S([ValueSource("_Mla_Mls_Mul_V_16B_8H_4S_")] uint opcodes,
+ public void Mla_Mls_Mul_V_16B_8H_4S([ValueSource(nameof(_Mla_Mls_Mul_V_16B_8H_4S_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S>
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1908,9 +1906,9 @@ namespace Ryujinx.Tests.Cpu
public void Orn_V_8B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x0EE01C00; // ORN V0.8B, V0.8B, V0.8B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1928,9 +1926,9 @@ namespace Ryujinx.Tests.Cpu
public void Orn_V_16B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x4EE01C00; // ORN V0.16B, V0.16B, V0.16B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1948,9 +1946,9 @@ namespace Ryujinx.Tests.Cpu
public void Orr_V_8B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x0EA01C00; // ORR V0.8B, V0.8B, V0.8B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1968,9 +1966,9 @@ namespace Ryujinx.Tests.Cpu
public void Orr_V_16B([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_8B_))] ulong z,
+ [ValueSource(nameof(_8B_))] ulong a,
+ [ValueSource(nameof(_8B_))] ulong b)
{
uint opcode = 0x4EA01C00; // ORR V0.16B, V0.16B, V0.16B
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -1988,12 +1986,12 @@ namespace Ryujinx.Tests.Cpu
public void Pmull_V([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource(nameof(_8B1D_))] [Random(RndCnt)] ulong z0,
- [ValueSource(nameof(_8B1D_))] [Random(RndCnt)] ulong z1,
- [ValueSource(nameof(_8B1D_))] [Random(RndCnt)] ulong a0,
- [ValueSource(nameof(_8B1D_))] [Random(RndCnt)] ulong a1,
- [ValueSource(nameof(_8B1D_))] [Random(RndCnt)] ulong b0,
- [ValueSource(nameof(_8B1D_))] [Random(RndCnt)] ulong b1,
+ [ValueSource(nameof(_8B1D_))] ulong z0,
+ [ValueSource(nameof(_8B1D_))] ulong z1,
+ [ValueSource(nameof(_8B1D_))] ulong a0,
+ [ValueSource(nameof(_8B1D_))] ulong a1,
+ [ValueSource(nameof(_8B1D_))] ulong b0,
+ [ValueSource(nameof(_8B1D_))] ulong b1,
[Values(0b00u, 0b11u)] uint size, // Q0: <8B, 1D> => <8H, 1Q>
[Values(0b0u, 0b1u)] uint q) // Q1: <16B, 2D> => <8H, 1Q>
{
@@ -2015,9 +2013,9 @@ namespace Ryujinx.Tests.Cpu
public void Raddhn_V_8H8B_4S4H_2D2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] ulong a,
+ [ValueSource(nameof(_4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8H8B, 4S4H, 2D2S>
{
uint opcode = 0x2E204000; // RADDHN V0.8B, V0.8H, V0.8H
@@ -2037,9 +2035,9 @@ namespace Ryujinx.Tests.Cpu
public void Raddhn_V_8H16B_4S8H_2D4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] ulong a,
+ [ValueSource(nameof(_4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8H16B, 4S8H, 2D4S>
{
uint opcode = 0x6E204000; // RADDHN2 V0.16B, V0.8H, V0.8H
@@ -2059,9 +2057,9 @@ namespace Ryujinx.Tests.Cpu
public void Rsubhn_V_8H8B_4S4H_2D2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] ulong a,
+ [ValueSource(nameof(_4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8H8B, 4S4H, 2D2S>
{
uint opcode = 0x2E206000; // RSUBHN V0.8B, V0.8H, V0.8H
@@ -2081,9 +2079,9 @@ namespace Ryujinx.Tests.Cpu
public void Rsubhn_V_8H16B_4S8H_2D4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] ulong a,
+ [ValueSource(nameof(_4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8H16B, 4S8H, 2D4S>
{
uint opcode = 0x6E206000; // RSUBHN2 V0.16B, V0.8H, V0.8H
@@ -2103,9 +2101,9 @@ namespace Ryujinx.Tests.Cpu
public void Saba_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E207C00; // SABA V0.8B, V0.8B, V0.8B
@@ -2125,9 +2123,9 @@ namespace Ryujinx.Tests.Cpu
public void Saba_V_16B_8H_4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S>
{
uint opcode = 0x4E207C00; // SABA V0.16B, V0.16B, V0.16B
@@ -2147,9 +2145,9 @@ namespace Ryujinx.Tests.Cpu
public void Sabal_V_8B8H_4H4S_2S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D>
{
uint opcode = 0x0E205000; // SABAL V0.8H, V0.8B, V0.8B
@@ -2169,9 +2167,9 @@ namespace Ryujinx.Tests.Cpu
public void Sabal_V_16B8H_8H4S_4S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D>
{
uint opcode = 0x4E205000; // SABAL2 V0.8H, V0.16B, V0.16B
@@ -2191,9 +2189,9 @@ namespace Ryujinx.Tests.Cpu
public void Sabd_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E207400; // SABD V0.8B, V0.8B, V0.8B
@@ -2213,9 +2211,9 @@ namespace Ryujinx.Tests.Cpu
public void Sabd_V_16B_8H_4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S>
{
uint opcode = 0x4E207400; // SABD V0.16B, V0.16B, V0.16B
@@ -2235,9 +2233,9 @@ namespace Ryujinx.Tests.Cpu
public void Sabdl_V_8B8H_4H4S_2S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D>
{
uint opcode = 0x0E207000; // SABDL V0.8H, V0.8B, V0.8B
@@ -2257,9 +2255,9 @@ namespace Ryujinx.Tests.Cpu
public void Sabdl_V_16B8H_8H4S_4S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D>
{
uint opcode = 0x4E207000; // SABDL2 V0.8H, V0.16B, V0.16B
@@ -2279,9 +2277,9 @@ namespace Ryujinx.Tests.Cpu
public void Saddl_V_8B8H_4H4S_2S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D>
{
uint opcode = 0x0E200000; // SADDL V0.8H, V0.8B, V0.8B
@@ -2301,9 +2299,9 @@ namespace Ryujinx.Tests.Cpu
public void Saddl_V_16B8H_8H4S_4S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D>
{
uint opcode = 0x4E200000; // SADDL2 V0.8H, V0.16B, V0.16B
@@ -2323,9 +2321,9 @@ namespace Ryujinx.Tests.Cpu
public void Saddw_V_8B8H8H_4H4S4S_2S2D2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] [Random(RndCnt)] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] [Random(RndCnt)] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H8H, 4H4S4S, 2S2D2D>
{
uint opcode = 0x0E201000; // SADDW V0.8H, V0.8H, V0.8B
@@ -2345,9 +2343,9 @@ namespace Ryujinx.Tests.Cpu
public void Saddw_V_16B8H8H_8H4S4S_4S2D2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] [Random(RndCnt)] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] [Random(RndCnt)] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H8H, 8H4S4S, 4S2D2D>
{
uint opcode = 0x4E201000; // SADDW2 V0.8H, V0.8H, V0.16B
@@ -2364,7 +2362,7 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise]
- public void Sha1c_Sha1m_Sha1p_Sha1su0_V([ValueSource("_Sha1c_Sha1m_Sha1p_Sha1su0_V_")] uint opcodes,
+ public void Sha1c_Sha1m_Sha1p_Sha1su0_V([ValueSource(nameof(_Sha1c_Sha1m_Sha1p_Sha1su0_V_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
@@ -2384,7 +2382,7 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise]
- public void Sha256h_Sha256h2_Sha256su1_V([ValueSource("_Sha256h_Sha256h2_Sha256su1_V_")] uint opcodes,
+ public void Sha256h_Sha256h2_Sha256su1_V([ValueSource(nameof(_Sha256h_Sha256h2_Sha256su1_V_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
@@ -2407,9 +2405,9 @@ namespace Ryujinx.Tests.Cpu
public void Shadd_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E200400; // SHADD V0.8B, V0.8B, V0.8B
@@ -2429,9 +2427,9 @@ namespace Ryujinx.Tests.Cpu
public void Shadd_V_16B_8H_4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S>
{
uint opcode = 0x4E200400; // SHADD V0.16B, V0.16B, V0.16B
@@ -2451,9 +2449,9 @@ namespace Ryujinx.Tests.Cpu
public void Shsub_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E202400; // SHSUB V0.8B, V0.8B, V0.8B
@@ -2473,9 +2471,9 @@ namespace Ryujinx.Tests.Cpu
public void Shsub_V_16B_8H_4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S>
{
uint opcode = 0x4E202400; // SHSUB V0.16B, V0.16B, V0.16B
@@ -2492,13 +2490,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise]
- public void SU_Max_Min_P_V([ValueSource("_SU_Max_Min_P_V_")] uint opcodes,
+ public void SU_Max_Min_P_V([ValueSource(nameof(_SU_Max_Min_P_V_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size, // Q0: <8B, 4H, 2S>
[Values(0b0u, 0b1u)] uint q) // Q1: <16B, 8H, 4S>
{
@@ -2516,13 +2514,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise]
- public void SU_Mlal_Mlsl_Mull_V_8B8H_4H4S_2S2D([ValueSource("_SU_Mlal_Mlsl_Mull_V_8B8H_4H4S_2S2D_")] uint opcodes,
+ public void SU_Mlal_Mlsl_Mull_V_8B8H_4H4S_2S2D([ValueSource(nameof(_SU_Mlal_Mlsl_Mull_V_8B8H_4H4S_2S2D_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D>
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -2538,13 +2536,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise]
- public void SU_Mlal_Mlsl_Mull_V_16B8H_8H4S_4S2D([ValueSource("_SU_Mlal_Mlsl_Mull_V_16B8H_8H4S_4S2D_")] uint opcodes,
+ public void SU_Mlal_Mlsl_Mull_V_16B8H_8H4S_4S2D([ValueSource(nameof(_SU_Mlal_Mlsl_Mull_V_16B8H_8H4S_4S2D_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D>
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -2563,9 +2561,9 @@ namespace Ryujinx.Tests.Cpu
public void Sqadd_S_B_H_S_D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_1B1H1S1D_))] ulong z,
+ [ValueSource(nameof(_1B1H1S1D_))] ulong a,
+ [ValueSource(nameof(_1B1H1S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <b, H, S, D>
{
uint opcode = 0x5E200C00; // SQADD B0, B0, B0
@@ -2585,9 +2583,9 @@ namespace Ryujinx.Tests.Cpu
public void Sqadd_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E200C00; // SQADD V0.8B, V0.8B, V0.8B
@@ -2607,9 +2605,9 @@ namespace Ryujinx.Tests.Cpu
public void Sqadd_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E200C00; // SQADD V0.16B, V0.16B, V0.16B
@@ -2629,9 +2627,9 @@ namespace Ryujinx.Tests.Cpu
public void Sqdmulh_S_H_S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1H1S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1H1S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1H1S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_1H1S_))] ulong z,
+ [ValueSource(nameof(_1H1S_))] ulong a,
+ [ValueSource(nameof(_1H1S_))] ulong b,
[Values(0b01u, 0b10u)] uint size) // <H, S>
{
uint opcode = 0x5E20B400; // SQDMULH B0, B0, B0 (RESERVED)
@@ -2651,9 +2649,9 @@ namespace Ryujinx.Tests.Cpu
public void Sqdmulh_V_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_4H2S_))] ulong z,
+ [ValueSource(nameof(_4H2S_))] ulong a,
+ [ValueSource(nameof(_4H2S_))] ulong b,
[Values(0b01u, 0b10u)] uint size) // <4H, 2S>
{
uint opcode = 0x0E20B400; // SQDMULH V0.8B, V0.8B, V0.8B (RESERVED)
@@ -2673,9 +2671,9 @@ namespace Ryujinx.Tests.Cpu
public void Sqdmulh_V_8H_4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_4H2S_))] ulong z,
+ [ValueSource(nameof(_4H2S_))] ulong a,
+ [ValueSource(nameof(_4H2S_))] ulong b,
[Values(0b01u, 0b10u)] uint size) // <8H, 4S>
{
uint opcode = 0x4E20B400; // SQDMULH V0.16B, V0.16B, V0.16B (RESERVED)
@@ -2695,9 +2693,9 @@ namespace Ryujinx.Tests.Cpu
public void Sqrdmulh_S_H_S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1H1S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1H1S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1H1S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_1H1S_))] ulong z,
+ [ValueSource(nameof(_1H1S_))] ulong a,
+ [ValueSource(nameof(_1H1S_))] ulong b,
[Values(0b01u, 0b10u)] uint size) // <H, S>
{
uint opcode = 0x7E20B400; // SQRDMULH B0, B0, B0 (RESERVED)
@@ -2717,9 +2715,9 @@ namespace Ryujinx.Tests.Cpu
public void Sqrdmulh_V_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_4H2S_))] ulong z,
+ [ValueSource(nameof(_4H2S_))] ulong a,
+ [ValueSource(nameof(_4H2S_))] ulong b,
[Values(0b01u, 0b10u)] uint size) // <4H, 2S>
{
uint opcode = 0x2E20B400; // SQRDMULH V0.8B, V0.8B, V0.8B (RESERVED)
@@ -2739,9 +2737,9 @@ namespace Ryujinx.Tests.Cpu
public void Sqrdmulh_V_8H_4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_4H2S_))] ulong z,
+ [ValueSource(nameof(_4H2S_))] ulong a,
+ [ValueSource(nameof(_4H2S_))] ulong b,
[Values(0b01u, 0b10u)] uint size) // <8H, 4S>
{
uint opcode = 0x6E20B400; // SQRDMULH V0.16B, V0.16B, V0.16B (RESERVED)
@@ -2761,9 +2759,9 @@ namespace Ryujinx.Tests.Cpu
public void Sqsub_S_B_H_S_D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_1B1H1S1D_))] ulong z,
+ [ValueSource(nameof(_1B1H1S1D_))] ulong a,
+ [ValueSource(nameof(_1B1H1S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <b, H, S, D>
{
uint opcode = 0x5E202C00; // SQSUB B0, B0, B0
@@ -2783,9 +2781,9 @@ namespace Ryujinx.Tests.Cpu
public void Sqsub_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E202C00; // SQSUB V0.8B, V0.8B, V0.8B
@@ -2805,9 +2803,9 @@ namespace Ryujinx.Tests.Cpu
public void Sqsub_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E202C00; // SQSUB V0.16B, V0.16B, V0.16B
@@ -2827,9 +2825,9 @@ namespace Ryujinx.Tests.Cpu
public void Srhadd_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E201400; // SRHADD V0.8B, V0.8B, V0.8B
@@ -2849,9 +2847,9 @@ namespace Ryujinx.Tests.Cpu
public void Srhadd_V_16B_8H_4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S>
{
uint opcode = 0x4E201400; // SRHADD V0.16B, V0.16B, V0.16B
@@ -2868,13 +2866,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise]
- public void ShlReg_S_D([ValueSource("_ShlReg_S_D_")] uint opcodes,
+ public void ShlReg_S_D([ValueSource(nameof(_ShlReg_S_D_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1D_")] [Random(0ul, 255ul, RndCnt)] ulong b)
+ [ValueSource(nameof(_1D_))] ulong z,
+ [ValueSource(nameof(_1D_))] ulong a,
+ [ValueSource(nameof(_1D_))] ulong b)
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -2888,13 +2886,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise]
- public void ShlReg_V_8B_4H_2S([ValueSource("_ShlReg_V_8B_4H_2S_")] uint opcodes,
+ public void ShlReg_V_8B_4H_2S([ValueSource(nameof(_ShlReg_V_8B_4H_2S_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(0ul, 255ul, RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -2910,13 +2908,13 @@ namespace Ryujinx.Tests.Cpu
}
[Test, Pairwise]
- public void ShlReg_V_16B_8H_4S_2D([ValueSource("_ShlReg_V_16B_8H_4S_2D_")] uint opcodes,
+ public void ShlReg_V_16B_8H_4S_2D([ValueSource(nameof(_ShlReg_V_16B_8H_4S_2D_))] uint opcodes,
[Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(0ul, 255ul, RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
opcodes |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -2935,9 +2933,9 @@ namespace Ryujinx.Tests.Cpu
public void Ssubl_V_8B8H_4H4S_2S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D>
{
uint opcode = 0x0E202000; // SSUBL V0.8H, V0.8B, V0.8B
@@ -2957,9 +2955,9 @@ namespace Ryujinx.Tests.Cpu
public void Ssubl_V_16B8H_8H4S_4S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D>
{
uint opcode = 0x4E202000; // SSUBL2 V0.8H, V0.16B, V0.16B
@@ -2979,9 +2977,9 @@ namespace Ryujinx.Tests.Cpu
public void Ssubw_V_8B8H8H_4H4S4S_2S2D2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] [Random(RndCnt)] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] [Random(RndCnt)] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H8H, 4H4S4S, 2S2D2D>
{
uint opcode = 0x0E203000; // SSUBW V0.8H, V0.8H, V0.8B
@@ -3001,9 +2999,9 @@ namespace Ryujinx.Tests.Cpu
public void Ssubw_V_16B8H8H_8H4S4S_4S2D2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] [Random(RndCnt)] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] [Random(RndCnt)] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H8H, 8H4S4S, 4S2D2D>
{
uint opcode = 0x4E203000; // SSUBW2 V0.8H, V0.8H, V0.16B
@@ -3023,9 +3021,9 @@ namespace Ryujinx.Tests.Cpu
public void Sub_S_D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1D_")] [Random(RndCnt)] ulong b)
+ [ValueSource(nameof(_1D_))] ulong z,
+ [ValueSource(nameof(_1D_))] ulong a,
+ [ValueSource(nameof(_1D_))] ulong b)
{
uint opcode = 0x7EE08400; // SUB D0, D0, D0
opcode |= ((rm & 31) << 16) | ((rn & 31) << 5) | ((rd & 31) << 0);
@@ -3043,9 +3041,9 @@ namespace Ryujinx.Tests.Cpu
public void Sub_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x2E208400; // SUB V0.8B, V0.8B, V0.8B
@@ -3065,9 +3063,9 @@ namespace Ryujinx.Tests.Cpu
public void Sub_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x6E208400; // SUB V0.16B, V0.16B, V0.16B
@@ -3087,9 +3085,9 @@ namespace Ryujinx.Tests.Cpu
public void Subhn_V_8H8B_4S4H_2D2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] ulong a,
+ [ValueSource(nameof(_4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8H8B, 4S4H, 2D2S>
{
uint opcode = 0x0E206000; // SUBHN V0.8B, V0.8H, V0.8H
@@ -3109,9 +3107,9 @@ namespace Ryujinx.Tests.Cpu
public void Subhn_V_8H16B_4S8H_2D4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] ulong a,
+ [ValueSource(nameof(_4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8H16B, 4S8H, 2D4S>
{
uint opcode = 0x4E206000; // SUBHN2 V0.16B, V0.8H, V0.8H
@@ -3131,9 +3129,9 @@ namespace Ryujinx.Tests.Cpu
public void Trn1_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E002800; // TRN1 V0.8B, V0.8B, V0.8B
@@ -3153,9 +3151,9 @@ namespace Ryujinx.Tests.Cpu
public void Trn1_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E002800; // TRN1 V0.16B, V0.16B, V0.16B
@@ -3175,9 +3173,9 @@ namespace Ryujinx.Tests.Cpu
public void Trn2_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E006800; // TRN2 V0.8B, V0.8B, V0.8B
@@ -3197,9 +3195,9 @@ namespace Ryujinx.Tests.Cpu
public void Trn2_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E006800; // TRN2 V0.16B, V0.16B, V0.16B
@@ -3219,9 +3217,9 @@ namespace Ryujinx.Tests.Cpu
public void Uaba_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x2E207C00; // UABA V0.8B, V0.8B, V0.8B
@@ -3241,9 +3239,9 @@ namespace Ryujinx.Tests.Cpu
public void Uaba_V_16B_8H_4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S>
{
uint opcode = 0x6E207C00; // UABA V0.16B, V0.16B, V0.16B
@@ -3263,9 +3261,9 @@ namespace Ryujinx.Tests.Cpu
public void Uabal_V_8B8H_4H4S_2S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D>
{
uint opcode = 0x2E205000; // UABAL V0.8H, V0.8B, V0.8B
@@ -3285,9 +3283,9 @@ namespace Ryujinx.Tests.Cpu
public void Uabal_V_16B8H_8H4S_4S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D>
{
uint opcode = 0x6E205000; // UABAL2 V0.8H, V0.16B, V0.16B
@@ -3307,9 +3305,9 @@ namespace Ryujinx.Tests.Cpu
public void Uabd_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x2E207400; // UABD V0.8B, V0.8B, V0.8B
@@ -3329,9 +3327,9 @@ namespace Ryujinx.Tests.Cpu
public void Uabd_V_16B_8H_4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S>
{
uint opcode = 0x6E207400; // UABD V0.16B, V0.16B, V0.16B
@@ -3351,9 +3349,9 @@ namespace Ryujinx.Tests.Cpu
public void Uabdl_V_8B8H_4H4S_2S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D>
{
uint opcode = 0x2E207000; // UABDL V0.8H, V0.8B, V0.8B
@@ -3373,9 +3371,9 @@ namespace Ryujinx.Tests.Cpu
public void Uabdl_V_16B8H_8H4S_4S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D>
{
uint opcode = 0x6E207000; // UABDL2 V0.8H, V0.16B, V0.16B
@@ -3395,9 +3393,9 @@ namespace Ryujinx.Tests.Cpu
public void Uaddl_V_8B8H_4H4S_2S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D>
{
uint opcode = 0x2E200000; // UADDL V0.8H, V0.8B, V0.8B
@@ -3417,9 +3415,9 @@ namespace Ryujinx.Tests.Cpu
public void Uaddl_V_16B8H_8H4S_4S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D>
{
uint opcode = 0x6E200000; // UADDL2 V0.8H, V0.16B, V0.16B
@@ -3439,9 +3437,9 @@ namespace Ryujinx.Tests.Cpu
public void Uaddw_V_8B8H8H_4H4S4S_2S2D2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] [Random(RndCnt)] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] [Random(RndCnt)] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H8H, 4H4S4S, 2S2D2D>
{
uint opcode = 0x2E201000; // UADDW V0.8H, V0.8H, V0.8B
@@ -3461,9 +3459,9 @@ namespace Ryujinx.Tests.Cpu
public void Uaddw_V_16B8H8H_8H4S4S_4S2D2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] [Random(RndCnt)] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] [Random(RndCnt)] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H8H, 8H4S4S, 4S2D2D>
{
uint opcode = 0x6E201000; // UADDW2 V0.8H, V0.8H, V0.16B
@@ -3483,9 +3481,9 @@ namespace Ryujinx.Tests.Cpu
public void Uhadd_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x2E200400; // UHADD V0.8B, V0.8B, V0.8B
@@ -3505,9 +3503,9 @@ namespace Ryujinx.Tests.Cpu
public void Uhadd_V_16B_8H_4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S>
{
uint opcode = 0x6E200400; // UHADD V0.16B, V0.16B, V0.16B
@@ -3527,9 +3525,9 @@ namespace Ryujinx.Tests.Cpu
public void Uhsub_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x2E202400; // UHSUB V0.8B, V0.8B, V0.8B
@@ -3549,9 +3547,9 @@ namespace Ryujinx.Tests.Cpu
public void Uhsub_V_16B_8H_4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S>
{
uint opcode = 0x6E202400; // UHSUB V0.16B, V0.16B, V0.16B
@@ -3571,9 +3569,9 @@ namespace Ryujinx.Tests.Cpu
public void Uqadd_S_B_H_S_D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_1B1H1S1D_))] ulong z,
+ [ValueSource(nameof(_1B1H1S1D_))] ulong a,
+ [ValueSource(nameof(_1B1H1S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <b, H, S, D>
{
uint opcode = 0x7E200C00; // UQADD B0, B0, B0
@@ -3593,9 +3591,9 @@ namespace Ryujinx.Tests.Cpu
public void Uqadd_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x2E200C00; // UQADD V0.8B, V0.8B, V0.8B
@@ -3615,9 +3613,9 @@ namespace Ryujinx.Tests.Cpu
public void Uqadd_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x6E200C00; // UQADD V0.16B, V0.16B, V0.16B
@@ -3637,9 +3635,9 @@ namespace Ryujinx.Tests.Cpu
public void Uqsub_S_B_H_S_D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_1B1H1S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_1B1H1S1D_))] ulong z,
+ [ValueSource(nameof(_1B1H1S1D_))] ulong a,
+ [ValueSource(nameof(_1B1H1S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <b, H, S, D>
{
uint opcode = 0x7E202C00; // UQSUB B0, B0, B0
@@ -3659,9 +3657,9 @@ namespace Ryujinx.Tests.Cpu
public void Uqsub_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x2E202C00; // UQSUB V0.8B, V0.8B, V0.8B
@@ -3681,9 +3679,9 @@ namespace Ryujinx.Tests.Cpu
public void Uqsub_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x6E202C00; // UQSUB V0.16B, V0.16B, V0.16B
@@ -3703,9 +3701,9 @@ namespace Ryujinx.Tests.Cpu
public void Urhadd_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x2E201400; // URHADD V0.8B, V0.8B, V0.8B
@@ -3725,9 +3723,9 @@ namespace Ryujinx.Tests.Cpu
public void Urhadd_V_16B_8H_4S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B, 8H, 4S>
{
uint opcode = 0x6E201400; // URHADD V0.16B, V0.16B, V0.16B
@@ -3747,9 +3745,9 @@ namespace Ryujinx.Tests.Cpu
public void Usubl_V_8B8H_4H4S_2S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H, 4H4S, 2S2D>
{
uint opcode = 0x2E202000; // USUBL V0.8H, V0.8B, V0.8B
@@ -3769,9 +3767,9 @@ namespace Ryujinx.Tests.Cpu
public void Usubl_V_16B8H_8H4S_4S2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H, 8H4S, 4S2D>
{
uint opcode = 0x6E202000; // USUBL2 V0.8H, V0.16B, V0.16B
@@ -3791,9 +3789,9 @@ namespace Ryujinx.Tests.Cpu
public void Usubw_V_8B8H8H_4H4S4S_2S2D2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] [Random(RndCnt)] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] [Random(RndCnt)] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B8H8H, 4H4S4S, 2S2D2D>
{
uint opcode = 0x2E203000; // USUBW V0.8H, V0.8H, V0.8B
@@ -3813,9 +3811,9 @@ namespace Ryujinx.Tests.Cpu
public void Usubw_V_16B8H8H_8H4S4S_4S2D2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_4H2S1D_))] [Random(RndCnt)] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] [Random(RndCnt)] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <16B8H8H, 8H4S4S, 4S2D2D>
{
uint opcode = 0x6E203000; // USUBW2 V0.8H, V0.8H, V0.16B
@@ -3835,9 +3833,9 @@ namespace Ryujinx.Tests.Cpu
public void Uzp1_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E001800; // UZP1 V0.8B, V0.8B, V0.8B
@@ -3857,9 +3855,9 @@ namespace Ryujinx.Tests.Cpu
public void Uzp1_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E001800; // UZP1 V0.16B, V0.16B, V0.16B
@@ -3879,9 +3877,9 @@ namespace Ryujinx.Tests.Cpu
public void Uzp2_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E005800; // UZP2 V0.8B, V0.8B, V0.8B
@@ -3901,9 +3899,9 @@ namespace Ryujinx.Tests.Cpu
public void Uzp2_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E005800; // UZP2 V0.16B, V0.16B, V0.16B
@@ -3923,9 +3921,9 @@ namespace Ryujinx.Tests.Cpu
public void Zip1_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E003800; // ZIP1 V0.8B, V0.8B, V0.8B
@@ -3945,9 +3943,9 @@ namespace Ryujinx.Tests.Cpu
public void Zip1_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E003800; // ZIP1 V0.16B, V0.16B, V0.16B
@@ -3967,9 +3965,9 @@ namespace Ryujinx.Tests.Cpu
public void Zip2_V_8B_4H_2S([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S_))] ulong z,
+ [ValueSource(nameof(_8B4H2S_))] ulong a,
+ [ValueSource(nameof(_8B4H2S_))] ulong b,
[Values(0b00u, 0b01u, 0b10u)] uint size) // <8B, 4H, 2S>
{
uint opcode = 0x0E007800; // ZIP2 V0.8B, V0.8B, V0.8B
@@ -3989,9 +3987,9 @@ namespace Ryujinx.Tests.Cpu
public void Zip2_V_16B_8H_4S_2D([Values(0u)] uint rd,
[Values(1u, 0u)] uint rn,
[Values(2u, 0u)] uint rm,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong z,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong a,
- [ValueSource("_8B4H2S1D_")] [Random(RndCnt)] ulong b,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong z,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong a,
+ [ValueSource(nameof(_8B4H2S1D_))] ulong b,
[Values(0b00u, 0b01u, 0b10u, 0b11u)] uint size) // <16B, 8H, 4S, 2D>
{
uint opcode = 0x4E007800; // ZIP2 V0.16B, V0.16B, V0.16B
@@ -4008,4 +4006,4 @@ namespace Ryujinx.Tests.Cpu
}
#endif
}
-}
+} \ No newline at end of file