aboutsummaryrefslogtreecommitdiff
path: root/ChocolArm64/Memory
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-06-04 16:11:11 -0300
committergdkchan <gab.dark.100@gmail.com>2018-06-04 16:11:11 -0300
commitdf33dcc489d7628dfacef08006dc6f23c2487abf (patch)
treee1d841fd5057afa53996470318da886a1704ced8 /ChocolArm64/Memory
parent741ec27b1d11d765039607a26d88ad5124767a2a (diff)
Force inline some of the vector read/write methods
Diffstat (limited to 'ChocolArm64/Memory')
-rw-r--r--ChocolArm64/Memory/AMemory.cs10
1 files changed, 10 insertions, 0 deletions
diff --git a/ChocolArm64/Memory/AMemory.cs b/ChocolArm64/Memory/AMemory.cs
index c74e11b2..c24a9e8e 100644
--- a/ChocolArm64/Memory/AMemory.cs
+++ b/ChocolArm64/Memory/AMemory.cs
@@ -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)