diff options
Diffstat (limited to 'src/tests/JIT/HardwareIntrinsics/X86/Sse1/MoveScalar.cs')
-rw-r--r-- | src/tests/JIT/HardwareIntrinsics/X86/Sse1/MoveScalar.cs | 52 |
1 files changed, 7 insertions, 45 deletions
diff --git a/src/tests/JIT/HardwareIntrinsics/X86/Sse1/MoveScalar.cs b/src/tests/JIT/HardwareIntrinsics/X86/Sse1/MoveScalar.cs index 1ea83587fe7..56987ab16e8 100644 --- a/src/tests/JIT/HardwareIntrinsics/X86/Sse1/MoveScalar.cs +++ b/src/tests/JIT/HardwareIntrinsics/X86/Sse1/MoveScalar.cs @@ -7,21 +7,20 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Intrinsics.X86; using System.Runtime.Intrinsics; +using Xunit; -namespace IntelHardwareIntrinsicTest +namespace IntelHardwareIntrinsicTest._Sse1 { - class Program + public partial class Program { - const int Pass = 100; - const int Fail = 0; - - static unsafe int Main(string[] args) + [Fact] + public static unsafe void MoveScalar() { int testResult = Pass; if (Sse.IsSupported) { - using (TestTable<float> floatTable = new TestTable<float>(new float[4] { 1, -5, 100, 0 }, new float[4] { 22, -1, -50, 0 }, new float[4])) + using (TestTable_2Input<float> floatTable = new TestTable_2Input<float>(new float[4] { 1, -5, 100, 0 }, new float[4] { 22, -1, -50, 0 }, new float[4])) { var vf1 = Unsafe.Read<Vector128<float>>(floatTable.inArray1Ptr); @@ -44,44 +43,7 @@ namespace IntelHardwareIntrinsicTest } - return testResult; + Assert.Equal(Pass, testResult); } - - public unsafe struct TestTable<T> : IDisposable where T : struct - { - public T[] inArray1; - public T[] inArray2; - public T[] outArray; - - public void* inArray1Ptr => inHandle1.AddrOfPinnedObject().ToPointer(); - public void* inArray2Ptr => inHandle2.AddrOfPinnedObject().ToPointer(); - public void* outArrayPtr => outHandle.AddrOfPinnedObject().ToPointer(); - - GCHandle inHandle1; - GCHandle inHandle2; - GCHandle outHandle; - public TestTable(T[] a, T[] b, T[] c) - { - this.inArray1 = a; - this.inArray2 = b; - this.outArray = c; - - inHandle1 = GCHandle.Alloc(inArray1, GCHandleType.Pinned); - inHandle2 = GCHandle.Alloc(inArray2, GCHandleType.Pinned); - outHandle = GCHandle.Alloc(outArray, GCHandleType.Pinned); - } - public bool CheckResult(Func<T[], T[], T[], bool> check) - { - return check(inArray1, inArray2, outArray); - } - - public void Dispose() - { - inHandle1.Free(); - inHandle2.Free(); - outHandle.Free(); - } - } - } } |