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.
7 namespace System.Runtime.Intrinsics.X86
10 /// This class provides access to Intel POPCNT hardware instructions via intrinsics
13 public abstract class Popcnt : Sse42
17 public new static bool IsSupported { get { return false; } }
19 public new abstract class X64 : Sse41.X64
22 public new static bool IsSupported { get { return false; } }
24 /// __int64 _mm_popcnt_u64 (unsigned __int64 a)
25 /// POPCNT reg64, reg/m64
26 /// This intrinisc is only available on 64-bit processes
28 public static ulong PopCount(ulong value) { throw new PlatformNotSupportedException(); }
32 /// int _mm_popcnt_u32 (unsigned int a)
33 /// POPCNT reg, reg/m32
35 public static uint PopCount(uint value) { throw new PlatformNotSupportedException(); }