summaryrefslogtreecommitdiff
path: root/src/jit/namedintrinsiclist.h
diff options
context:
space:
mode:
authorLevi Broderick <GrabYourPitchforks@users.noreply.github.com>2018-11-05 16:06:32 -0800
committerGitHub <noreply@github.com>2018-11-05 16:06:32 -0800
commitf72025c8b6d8a4fc3b4e22e2a3b6e1afeaef15ff (patch)
tree963da39e25dfd9ac91fcca84e8b78adba86b5820 /src/jit/namedintrinsiclist.h
parent28417584d8e98ae7eac22e92b952778f8ea94047 (diff)
downloadcoreclr-f72025c8b6d8a4fc3b4e22e2a3b6e1afeaef15ff.tar.gz
coreclr-f72025c8b6d8a4fc3b4e22e2a3b6e1afeaef15ff.tar.bz2
coreclr-f72025c8b6d8a4fc3b4e22e2a3b6e1afeaef15ff.zip
Add support for BSWAP intrinsic (#18398)
With this change, the JIT will recognize a call to BinaryPrimitives.ReverseEndianness and will emit a bswap instruction. This logic is currently only hooked up for x86 and x64; ARM still uses fallback logic. If the JIT can't emit a bswap instruction (for example, trying to emit a 64-bit bswap in a 32-bit process), it will fall back to a software implementation, so the APIs will work across all architectures.
Diffstat (limited to 'src/jit/namedintrinsiclist.h')
-rw-r--r--src/jit/namedintrinsiclist.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/jit/namedintrinsiclist.h b/src/jit/namedintrinsiclist.h
index 187ef3f51d..edf006fe6f 100644
--- a/src/jit/namedintrinsiclist.h
+++ b/src/jit/namedintrinsiclist.h
@@ -9,11 +9,12 @@
enum NamedIntrinsic : unsigned short
{
- NI_Illegal = 0,
- NI_System_Enum_HasFlag = 1,
- NI_MathF_Round = 2,
- NI_Math_Round = 3,
- NI_System_Collections_Generic_EqualityComparer_get_Default = 4,
+ NI_Illegal = 0,
+ NI_System_Enum_HasFlag = 1,
+ NI_MathF_Round = 2,
+ NI_Math_Round = 3,
+ NI_System_Collections_Generic_EqualityComparer_get_Default = 4,
+ NI_System_Buffers_Binary_BinaryPrimitives_ReverseEndianness = 5,
#ifdef FEATURE_HW_INTRINSICS
NI_HW_INTRINSIC_START,
#if defined(_TARGET_XARCH_)