Force inline some of the vector read/write methods
This commit is contained in:
parent
741ec27b1d
commit
df33dcc489
1 changed files with 10 additions and 0 deletions
|
@ -2,6 +2,7 @@ using ChocolArm64.Exceptions;
|
|||
using ChocolArm64.State;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Runtime.Intrinsics;
|
||||
using System.Runtime.Intrinsics.X86;
|
||||
|
@ -312,6 +313,7 @@ namespace ChocolArm64.Memory
|
|||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public Vector128<float> ReadVector16Unchecked(long Position)
|
||||
{
|
||||
if (Sse2.IsSupported)
|
||||
|
@ -324,6 +326,7 @@ namespace ChocolArm64.Memory
|
|||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public Vector128<float> ReadVector32Unchecked(long Position)
|
||||
{
|
||||
if (Sse.IsSupported)
|
||||
|
@ -336,6 +339,7 @@ namespace ChocolArm64.Memory
|
|||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public Vector128<float> ReadVector64Unchecked(long Position)
|
||||
{
|
||||
if (Sse2.IsSupported)
|
||||
|
@ -348,6 +352,7 @@ namespace ChocolArm64.Memory
|
|||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public Vector128<float> ReadVector128Unchecked(long Position)
|
||||
{
|
||||
if (Sse.IsSupported)
|
||||
|
@ -524,6 +529,7 @@ namespace ChocolArm64.Memory
|
|||
*((ulong*)(RamPtr + (uint)Position)) = Value;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void WriteVector8Unchecked(long Position, Vector128<float> Value)
|
||||
{
|
||||
if (Sse41.IsSupported)
|
||||
|
@ -540,6 +546,7 @@ namespace ChocolArm64.Memory
|
|||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void WriteVector16Unchecked(long Position, Vector128<float> Value)
|
||||
{
|
||||
if (Sse2.IsSupported)
|
||||
|
@ -552,6 +559,7 @@ namespace ChocolArm64.Memory
|
|||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void WriteVector32Unchecked(long Position, Vector128<float> Value)
|
||||
{
|
||||
if (Sse.IsSupported)
|
||||
|
@ -564,6 +572,7 @@ namespace ChocolArm64.Memory
|
|||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void WriteVector64Unchecked(long Position, Vector128<float> Value)
|
||||
{
|
||||
if (Sse2.IsSupported)
|
||||
|
@ -576,6 +585,7 @@ namespace ChocolArm64.Memory
|
|||
}
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void WriteVector128Unchecked(long Position, Vector128<float> Value)
|
||||
{
|
||||
if (Sse.IsSupported)
|
||||
|
|
Reference in a new issue