Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Commit

Permalink
fix Set tests on 32-bit platforms
Browse files Browse the repository at this point in the history
  • Loading branch information
FeiPengIntel committed Mar 20, 2018
1 parent 2d650dc commit 1b6329d
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 45 deletions.
47 changes: 25 additions & 22 deletions tests/src/JIT/HardwareIntrinsics/X86/Avx/SetAllVector256.cs
Original file line number Diff line number Diff line change
Expand Up @@ -166,37 +166,40 @@ static unsafe int Main(string[] args)
}
}

using (TestTable<long> longTable = new TestTable<long>(new long[4] { long.MaxValue, long.MaxValue, long.MaxValue, long.MaxValue }))
if (Environment.Is64BitProcess)
{
var vf1 = Avx.SetAllVector256<long>(-199);
Unsafe.Write(longTable.outArrayPtr, vf1);

if (!longTable.CheckResult((x) => (x == -199)))
using (TestTable<long> longTable = new TestTable<long>(new long[4] { long.MaxValue, long.MaxValue, long.MaxValue, long.MaxValue }))
{
Console.WriteLine("AVX SetAllVector256 failed on long:");
foreach (var item in longTable.outArray)
var vf1 = Avx.SetAllVector256<long>(-199);
Unsafe.Write(longTable.outArrayPtr, vf1);

if (!longTable.CheckResult((x) => (x == -199)))
{
Console.Write(item + ", ");
Console.WriteLine("AVX SetAllVector256 failed on long:");
foreach (var item in longTable.outArray)
{
Console.Write(item + ", ");
}
Console.WriteLine();
testResult = Fail;
}
Console.WriteLine();
testResult = Fail;
}
}

using (TestTable<ulong> ulongTable = new TestTable<ulong>(new ulong[4] { ulong.MaxValue, ulong.MaxValue, ulong.MaxValue, ulong.MaxValue }))
{
Vector256<ulong> vf1 = Avx.SetAllVector256<ulong>(34);
Unsafe.Write(ulongTable.outArrayPtr, vf1);

if (!ulongTable.CheckResult((x) => (x == 34)))
using (TestTable<ulong> ulongTable = new TestTable<ulong>(new ulong[4] { ulong.MaxValue, ulong.MaxValue, ulong.MaxValue, ulong.MaxValue }))
{
Console.WriteLine("AVX SetAllVector256 failed on ulong:");
foreach (var item in ulongTable.outArray)
Vector256<ulong> vf1 = Avx.SetAllVector256<ulong>(34);
Unsafe.Write(ulongTable.outArrayPtr, vf1);

if (!ulongTable.CheckResult((x) => (x == 34)))
{
Console.Write(item + ", ");
Console.WriteLine("AVX SetAllVector256 failed on ulong:");
foreach (var item in ulongTable.outArray)
{
Console.Write(item + ", ");
}
Console.WriteLine();
testResult = Fail;
}
Console.WriteLine();
testResult = Fail;
}
}
}
Expand Down
49 changes: 26 additions & 23 deletions tests/src/JIT/HardwareIntrinsics/X86/Avx/SetVector256.cs
Original file line number Diff line number Diff line change
Expand Up @@ -188,38 +188,41 @@ static unsafe int Main(string[] args)
testResult = Fail;
}
}

using (TestTable<long> longTable = new TestTable<long>(new long[4] { long.MaxValue, long.MaxValue, long.MaxValue, long.MaxValue }))
if (Environment.Is64BitProcess)
{
var vf1 = Avx.SetVector256(1, 2, 3, 4);
Unsafe.Write(longTable.outArrayPtr, vf1);

if (!longTable.CheckResult((x) => (x[0] == 4) && (x[1] == 3) && (x[2] == 2) && (x[3] == 1)))
using (TestTable<long> longTable = new TestTable<long>(new long[4] { long.MaxValue, long.MaxValue, long.MaxValue, long.MaxValue }))
{
Console.WriteLine("AVX SetVector256 failed on long:");
foreach (var item in longTable.outArray)
var vf1 = Avx.SetVector256(1, 2, 3, 4);
Unsafe.Write(longTable.outArrayPtr, vf1);

if (!longTable.CheckResult((x) => (x[0] == 4) && (x[1] == 3) && (x[2] == 2) && (x[3] == 1)))
{
Console.Write(item + ", ");
Console.WriteLine("AVX SetVector256 failed on long:");
foreach (var item in longTable.outArray)
{
Console.Write(item + ", ");
}
Console.WriteLine();
testResult = Fail;
}
Console.WriteLine();
testResult = Fail;
}
}

using (TestTable<ulong> ulongTable = new TestTable<ulong>(new ulong[4] { ulong.MaxValue, ulong.MaxValue, ulong.MaxValue, ulong.MaxValue }))
{
Vector256<ulong> vf1 = Avx.SetVector256((ulong)1, 2, 3, 4);
Unsafe.Write(ulongTable.outArrayPtr, vf1);

if (!ulongTable.CheckResult((x) => (x[0] == 4) && (x[1] == 3) && (x[2] == 2) && (x[3] == 1)))
using (TestTable<ulong> ulongTable = new TestTable<ulong>(new ulong[4] { ulong.MaxValue, ulong.MaxValue, ulong.MaxValue, ulong.MaxValue }))
{
Console.WriteLine("AVX SetVector256 failed on ulong:");
foreach (var item in ulongTable.outArray)
Vector256<ulong> vf1 = Avx.SetVector256((ulong)1, 2, 3, 4);
Unsafe.Write(ulongTable.outArrayPtr, vf1);

if (!ulongTable.CheckResult((x) => (x[0] == 4) && (x[1] == 3) && (x[2] == 2) && (x[3] == 1)))
{
Console.Write(item + ", ");
Console.WriteLine("AVX SetVector256 failed on ulong:");
foreach (var item in ulongTable.outArray)
{
Console.Write(item + ", ");
}
Console.WriteLine();
testResult = Fail;
}
Console.WriteLine();
testResult = Fail;
}
}
}
Expand Down

0 comments on commit 1b6329d

Please sign in to comment.