Skip to content

Commit

Permalink
Don't check the JitLog for compiled methods when the baseline ISAs ar…
Browse files Browse the repository at this point in the history
…en't supported
  • Loading branch information
tannergooding committed May 21, 2021
1 parent d11612c commit 539e7ae
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 66 deletions.
81 changes: 42 additions & 39 deletions src/tests/JIT/SIMD/VectorArray.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

using System;
using System.Numerics;

using System.Runtime.Intrinsics.Arm;
using System.Runtime.Intrinsics.X86;

internal partial class VectorTest
{
Expand Down Expand Up @@ -161,44 +162,46 @@ private static int Main()
if (VectorArrayTest<nint>.VectorArray(1) != Pass) returnVal = Fail;
if (VectorArrayTest<nuint>.VectorArray(1) != Pass) returnVal = Fail;

JitLog jitLog = new JitLog();
if (!jitLog.Check("get_Item", "Single")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[Single][System.Single]:.ctor(float)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Double")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[Double][System.Double]:.ctor(double)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Int32")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[Int32][System.Int32]:.ctor(int)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Int64")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[Int64][System.Int64]:.ctor(long)")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector4:.ctor(float)")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector3:.ctor(float)")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector2:.ctor(float)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UInt16")) returnVal = Fail;
// We are not currently recognizing the Vector<UInt16> constructor.
if (!Vector.IsHardwareAccelerated)
if (!jitLog.Check("System.Numerics.Vector`1[UInt16][System.UInt16]:.ctor(char)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Byte")) returnVal = Fail;
// We are not currently recognizing the Vector<Byte> constructor.
if (!Vector.IsHardwareAccelerated)
if (!jitLog.Check("System.Numerics.Vector`1[Byte][System.Byte]:.ctor(ubyte)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Int16")) returnVal = Fail;
// We are not currently recognizing the Vector<Int16> constructor.
if (!Vector.IsHardwareAccelerated)
if (!jitLog.Check("System.Numerics.Vector`1[Int16][System.Int16]:.ctor(short)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "SByte")) returnVal = Fail;
// We are not currently recognizing the Vector<SByte> constructor.
if (!Vector.IsHardwareAccelerated)
if (!jitLog.Check("System.Numerics.Vector`1[SByte][System.SByte]:.ctor(byte)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UInt32")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[UInt32][System.UInt32]:.ctor(int)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UInt64")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[UInt64][System.UInt64]:.ctor(long)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "IntPtr")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[IntPtr][System.UIntPtr]:.ctor(nuint)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UIntPtr")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[UIntPtr][System.IntPtr]:.ctor(nint)")) returnVal = Fail;
jitLog.Dispose();

if (Sse41.IsSupported || AdvSimd.IsSupported)
{
JitLog jitLog = new JitLog();
if (!jitLog.Check("get_Item", "Single")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[Single][System.Single]:.ctor(float)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Double")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[Double][System.Double]:.ctor(double)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Int32")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[Int32][System.Int32]:.ctor(int)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Int64")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[Int64][System.Int64]:.ctor(long)")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector4:.ctor(float)")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector3:.ctor(float)")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector2:.ctor(float)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UInt16")) returnVal = Fail;
// We are not currently recognizing the Vector<UInt16> constructor.
if (!Vector.IsHardwareAccelerated)
if (!jitLog.Check("System.Numerics.Vector`1[UInt16][System.UInt16]:.ctor(char)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Byte")) returnVal = Fail;
// We are not currently recognizing the Vector<Byte> constructor.
if (!Vector.IsHardwareAccelerated)
if (!jitLog.Check("System.Numerics.Vector`1[Byte][System.Byte]:.ctor(ubyte)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Int16")) returnVal = Fail;
// We are not currently recognizing the Vector<Int16> constructor.
if (!Vector.IsHardwareAccelerated)
if (!jitLog.Check("System.Numerics.Vector`1[Int16][System.Int16]:.ctor(short)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "SByte")) returnVal = Fail;
// We are not currently recognizing the Vector<SByte> constructor.
if (!Vector.IsHardwareAccelerated)
if (!jitLog.Check("System.Numerics.Vector`1[SByte][System.SByte]:.ctor(byte)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UInt32")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[UInt32][System.UInt32]:.ctor(int)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UInt64")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[UInt64][System.UInt64]:.ctor(long)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "IntPtr")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[IntPtr][System.UIntPtr]:.ctor(nuint)")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UIntPtr")) returnVal = Fail;
if (!jitLog.Check("System.Numerics.Vector`1[UIntPtr][System.IntPtr]:.ctor(nint)")) returnVal = Fail;
jitLog.Dispose();
}
}
catch (ArgumentException ex)
{
Expand Down
58 changes: 31 additions & 27 deletions src/tests/JIT/SIMD/VectorGet.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
using System;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.Intrinsics.Arm;
using System.Runtime.Intrinsics.X86;

internal partial class VectorTest
{
Expand Down Expand Up @@ -206,33 +208,35 @@ private static int Main()
if (VectorGetTest<nuint>.VectorGet(100, 1) == Fail) returnVal = Fail;
if (VectorGetTest<nuint>.VectorGetIndexerOutOfRange(100, 1) == Fail) returnVal = Fail;

JitLog jitLog = new JitLog();
if (!jitLog.Check("get_Item", "Double")) returnVal = Fail;
if (!jitLog.Check("get_Count", "Double")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Single")) returnVal = Fail;
if (!jitLog.Check("get_Count", "Single")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Int32")) returnVal = Fail;
if (!jitLog.Check("get_Count", "Int32")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Int64")) returnVal = Fail;
if (!jitLog.Check("get_Count", "Int64")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UInt16")) returnVal = Fail;
if (!jitLog.Check("get_Count", "UInt16")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Byte")) returnVal = Fail;
if (!jitLog.Check("get_Count", "Byte")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Int16")) returnVal = Fail;
if (!jitLog.Check("get_Count", "Int16")) returnVal = Fail;
if (!jitLog.Check("get_Item", "SByte")) returnVal = Fail;
if (!jitLog.Check("get_Count", "SByte")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UInt32")) returnVal = Fail;
if (!jitLog.Check("get_Count", "UInt32")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UInt64")) returnVal = Fail;
if (!jitLog.Check("get_Count", "UInt64")) returnVal = Fail;
if (!jitLog.Check("get_Item", "IntPtr")) returnVal = Fail;
if (!jitLog.Check("get_Count", "IntPtr")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UIntPtr")) returnVal = Fail;
if (!jitLog.Check("get_Count", "UIntPtr")) returnVal = Fail;
jitLog.Dispose();

if (Sse41.IsSupported || AdvSimd.IsSupported)
{
JitLog jitLog = new JitLog();
if (!jitLog.Check("get_Item", "Double")) returnVal = Fail;
if (!jitLog.Check("get_Count", "Double")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Single")) returnVal = Fail;
if (!jitLog.Check("get_Count", "Single")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Int32")) returnVal = Fail;
if (!jitLog.Check("get_Count", "Int32")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Int64")) returnVal = Fail;
if (!jitLog.Check("get_Count", "Int64")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UInt16")) returnVal = Fail;
if (!jitLog.Check("get_Count", "UInt16")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Byte")) returnVal = Fail;
if (!jitLog.Check("get_Count", "Byte")) returnVal = Fail;
if (!jitLog.Check("get_Item", "Int16")) returnVal = Fail;
if (!jitLog.Check("get_Count", "Int16")) returnVal = Fail;
if (!jitLog.Check("get_Item", "SByte")) returnVal = Fail;
if (!jitLog.Check("get_Count", "SByte")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UInt32")) returnVal = Fail;
if (!jitLog.Check("get_Count", "UInt32")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UInt64")) returnVal = Fail;
if (!jitLog.Check("get_Count", "UInt64")) returnVal = Fail;
if (!jitLog.Check("get_Item", "IntPtr")) returnVal = Fail;
if (!jitLog.Check("get_Count", "IntPtr")) returnVal = Fail;
if (!jitLog.Check("get_Item", "UIntPtr")) returnVal = Fail;
if (!jitLog.Check("get_Count", "UIntPtr")) returnVal = Fail;
jitLog.Dispose();
}
return returnVal;
}
}

0 comments on commit 539e7ae

Please sign in to comment.