1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
6 using System.Runtime.Intrinsics;
8 namespace System.Runtime.Intrinsics.X86
11 /// This class provides access to Intel SSE4.2 hardware instructions via intrinsics
14 public abstract class Sse42 : Sse41
18 public new static bool IsSupported { get { return false; } }
20 public new abstract class X64 : Sse41.X64
24 public new static bool IsSupported { get { return false; } }
27 /// unsigned __int64 _mm_crc32_u64 (unsigned __int64 crc, unsigned __int64 v)
28 /// CRC32 reg, reg/m64
29 /// This intrinisc is only available on 64-bit processes
31 public static ulong Crc32(ulong crc, ulong data) { throw new PlatformNotSupportedException(); }
35 /// __m128i _mm_cmpgt_epi64 (__m128i a, __m128i b)
36 /// PCMPGTQ xmm, xmm/m128
38 public static Vector128<long> CompareGreaterThan(Vector128<long> left, Vector128<long> right) { throw new PlatformNotSupportedException(); }
41 /// unsigned int _mm_crc32_u8 (unsigned int crc, unsigned char v)
44 public static uint Crc32(uint crc, byte data) { throw new PlatformNotSupportedException(); }
46 /// unsigned int _mm_crc32_u16 (unsigned int crc, unsigned short v)
47 /// CRC32 reg, reg/m16
49 public static uint Crc32(uint crc, ushort data) { throw new PlatformNotSupportedException(); }
51 /// unsigned int _mm_crc32_u32 (unsigned int crc, unsigned int v)
52 /// CRC32 reg, reg/m32
54 public static uint Crc32(uint crc, uint data) { throw new PlatformNotSupportedException(); }