Win32 API 日本語リファレンス
ホームSystem.Threading › PROCESSOR_FEATURE_ID

PROCESSOR_FEATURE_ID

列挙型
基底型u4

メンバー 89

名前10進16進
PF_FLOATING_POINT_PRECISION_ERRATA00x0
PF_FLOATING_POINT_EMULATED10x1
PF_COMPARE_EXCHANGE_DOUBLE20x2
PF_MMX_INSTRUCTIONS_AVAILABLE30x3
PF_PPC_MOVEMEM_64BIT_OK40x4
PF_ALPHA_BYTE_INSTRUCTIONS50x5
PF_XMMI_INSTRUCTIONS_AVAILABLE60x6
PF_3DNOW_INSTRUCTIONS_AVAILABLE70x7
PF_RDTSC_INSTRUCTION_AVAILABLE80x8
PF_PAE_ENABLED90x9
PF_XMMI64_INSTRUCTIONS_AVAILABLE100xA
PF_SSE_DAZ_MODE_AVAILABLE110xB
PF_NX_ENABLED120xC
PF_SSE3_INSTRUCTIONS_AVAILABLE130xD
PF_COMPARE_EXCHANGE128140xE
PF_COMPARE64_EXCHANGE128150xF
PF_CHANNELS_ENABLED160x10
PF_XSAVE_ENABLED170x11
PF_ARM_VFP_32_REGISTERS_AVAILABLE180x12
PF_ARM_NEON_INSTRUCTIONS_AVAILABLE190x13
PF_SECOND_LEVEL_ADDRESS_TRANSLATION200x14
PF_VIRT_FIRMWARE_ENABLED210x15
PF_RDWRFSGSBASE_AVAILABLE220x16
PF_FASTFAIL_AVAILABLE230x17
PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE240x18
PF_ARM_64BIT_LOADSTORE_ATOMIC250x19
PF_ARM_EXTERNAL_CACHE_AVAILABLE260x1A
PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE270x1B
PF_RDRAND_INSTRUCTION_AVAILABLE280x1C
PF_ARM_V8_INSTRUCTIONS_AVAILABLE290x1D
PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE300x1E
PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE310x1F
PF_RDTSCP_INSTRUCTION_AVAILABLE320x20
PF_RDPID_INSTRUCTION_AVAILABLE330x21
PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE340x22
PF_MONITORX_INSTRUCTION_AVAILABLE350x23
PF_SSSE3_INSTRUCTIONS_AVAILABLE360x24
PF_SSE4_1_INSTRUCTIONS_AVAILABLE370x25
PF_SSE4_2_INSTRUCTIONS_AVAILABLE380x26
PF_AVX_INSTRUCTIONS_AVAILABLE390x27
PF_AVX2_INSTRUCTIONS_AVAILABLE400x28
PF_AVX512F_INSTRUCTIONS_AVAILABLE410x29
PF_ERMS_AVAILABLE420x2A
PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE430x2B
PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE440x2C
PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE450x2D
PF_ARM_SVE_INSTRUCTIONS_AVAILABLE460x2E
PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE470x2F
PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE480x30
PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE490x31
PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE500x32
PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE510x33
PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE520x34
PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE530x35
PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE540x36
PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE550x37
PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE560x38
PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE570x39
PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE580x3A
PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE590x3B
PF_BMI2_INSTRUCTIONS_AVAILABLE600x3C
PF_MOVDIR64B_INSTRUCTION_AVAILABLE610x3D
PF_ARM_LSE2_AVAILABLE620x3E
PF_RESERVED_FEATURE630x3F
PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE640x40
PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE650x41
PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE660x42
PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE670x43
PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE680x44
PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE690x45
PF_ARM_SME_INSTRUCTIONS_AVAILABLE700x46
PF_ARM_SME2_INSTRUCTIONS_AVAILABLE710x47
PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE720x48
PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE730x49
PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE740x4A
PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE750x4B
PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE760x4C
PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE770x4D
PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE780x4E
PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE790x4F
PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE800x50
PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE810x51
PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE820x52
PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE830x53
PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE840x54
PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE850x55
PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE860x56
PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE870x57
PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE880x58

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum PROCESSOR_FEATURE_ID : unsigned int {
    PF_FLOATING_POINT_PRECISION_ERRATA = 0,
    PF_FLOATING_POINT_EMULATED = 1,
    PF_COMPARE_EXCHANGE_DOUBLE = 2,
    PF_MMX_INSTRUCTIONS_AVAILABLE = 3,
    PF_PPC_MOVEMEM_64BIT_OK = 4,
    PF_ALPHA_BYTE_INSTRUCTIONS = 5,
    PF_XMMI_INSTRUCTIONS_AVAILABLE = 6,
    PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7,
    PF_RDTSC_INSTRUCTION_AVAILABLE = 8,
    PF_PAE_ENABLED = 9,
    PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10,
    PF_SSE_DAZ_MODE_AVAILABLE = 11,
    PF_NX_ENABLED = 12,
    PF_SSE3_INSTRUCTIONS_AVAILABLE = 13,
    PF_COMPARE_EXCHANGE128 = 14,
    PF_COMPARE64_EXCHANGE128 = 15,
    PF_CHANNELS_ENABLED = 16,
    PF_XSAVE_ENABLED = 17,
    PF_ARM_VFP_32_REGISTERS_AVAILABLE = 18,
    PF_ARM_NEON_INSTRUCTIONS_AVAILABLE = 19,
    PF_SECOND_LEVEL_ADDRESS_TRANSLATION = 20,
    PF_VIRT_FIRMWARE_ENABLED = 21,
    PF_RDWRFSGSBASE_AVAILABLE = 22,
    PF_FASTFAIL_AVAILABLE = 23,
    PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE = 24,
    PF_ARM_64BIT_LOADSTORE_ATOMIC = 25,
    PF_ARM_EXTERNAL_CACHE_AVAILABLE = 26,
    PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE = 27,
    PF_RDRAND_INSTRUCTION_AVAILABLE = 28,
    PF_ARM_V8_INSTRUCTIONS_AVAILABLE = 29,
    PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE = 30,
    PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE = 31,
    PF_RDTSCP_INSTRUCTION_AVAILABLE = 32,
    PF_RDPID_INSTRUCTION_AVAILABLE = 33,
    PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE = 34,
    PF_MONITORX_INSTRUCTION_AVAILABLE = 35,
    PF_SSSE3_INSTRUCTIONS_AVAILABLE = 36,
    PF_SSE4_1_INSTRUCTIONS_AVAILABLE = 37,
    PF_SSE4_2_INSTRUCTIONS_AVAILABLE = 38,
    PF_AVX_INSTRUCTIONS_AVAILABLE = 39,
    PF_AVX2_INSTRUCTIONS_AVAILABLE = 40,
    PF_AVX512F_INSTRUCTIONS_AVAILABLE = 41,
    PF_ERMS_AVAILABLE = 42,
    PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE = 43,
    PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE = 44,
    PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE = 45,
    PF_ARM_SVE_INSTRUCTIONS_AVAILABLE = 46,
    PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE = 47,
    PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE = 48,
    PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE = 49,
    PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE = 50,
    PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE = 51,
    PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE = 52,
    PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE = 53,
    PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE = 54,
    PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE = 55,
    PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE = 56,
    PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE = 57,
    PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE = 58,
    PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE = 59,
    PF_BMI2_INSTRUCTIONS_AVAILABLE = 60,
    PF_MOVDIR64B_INSTRUCTION_AVAILABLE = 61,
    PF_ARM_LSE2_AVAILABLE = 62,
    PF_RESERVED_FEATURE = 63,
    PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE = 64,
    PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE = 65,
    PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE = 66,
    PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE = 67,
    PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE = 68,
    PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE = 69,
    PF_ARM_SME_INSTRUCTIONS_AVAILABLE = 70,
    PF_ARM_SME2_INSTRUCTIONS_AVAILABLE = 71,
    PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE = 72,
    PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE = 73,
    PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE = 74,
    PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE = 75,
    PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE = 76,
    PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE = 77,
    PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE = 78,
    PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE = 79,
    PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE = 80,
    PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE = 81,
    PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE = 82,
    PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE = 83,
    PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE = 84,
    PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE = 85,
    PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE = 86,
    PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE = 87,
    PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE = 88
} PROCESSOR_FEATURE_ID;
public enum PROCESSOR_FEATURE_ID : uint
{
    PF_FLOATING_POINT_PRECISION_ERRATA = 0,
    PF_FLOATING_POINT_EMULATED = 1,
    PF_COMPARE_EXCHANGE_DOUBLE = 2,
    PF_MMX_INSTRUCTIONS_AVAILABLE = 3,
    PF_PPC_MOVEMEM_64BIT_OK = 4,
    PF_ALPHA_BYTE_INSTRUCTIONS = 5,
    PF_XMMI_INSTRUCTIONS_AVAILABLE = 6,
    PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7,
    PF_RDTSC_INSTRUCTION_AVAILABLE = 8,
    PF_PAE_ENABLED = 9,
    PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10,
    PF_SSE_DAZ_MODE_AVAILABLE = 11,
    PF_NX_ENABLED = 12,
    PF_SSE3_INSTRUCTIONS_AVAILABLE = 13,
    PF_COMPARE_EXCHANGE128 = 14,
    PF_COMPARE64_EXCHANGE128 = 15,
    PF_CHANNELS_ENABLED = 16,
    PF_XSAVE_ENABLED = 17,
    PF_ARM_VFP_32_REGISTERS_AVAILABLE = 18,
    PF_ARM_NEON_INSTRUCTIONS_AVAILABLE = 19,
    PF_SECOND_LEVEL_ADDRESS_TRANSLATION = 20,
    PF_VIRT_FIRMWARE_ENABLED = 21,
    PF_RDWRFSGSBASE_AVAILABLE = 22,
    PF_FASTFAIL_AVAILABLE = 23,
    PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE = 24,
    PF_ARM_64BIT_LOADSTORE_ATOMIC = 25,
    PF_ARM_EXTERNAL_CACHE_AVAILABLE = 26,
    PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE = 27,
    PF_RDRAND_INSTRUCTION_AVAILABLE = 28,
    PF_ARM_V8_INSTRUCTIONS_AVAILABLE = 29,
    PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE = 30,
    PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE = 31,
    PF_RDTSCP_INSTRUCTION_AVAILABLE = 32,
    PF_RDPID_INSTRUCTION_AVAILABLE = 33,
    PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE = 34,
    PF_MONITORX_INSTRUCTION_AVAILABLE = 35,
    PF_SSSE3_INSTRUCTIONS_AVAILABLE = 36,
    PF_SSE4_1_INSTRUCTIONS_AVAILABLE = 37,
    PF_SSE4_2_INSTRUCTIONS_AVAILABLE = 38,
    PF_AVX_INSTRUCTIONS_AVAILABLE = 39,
    PF_AVX2_INSTRUCTIONS_AVAILABLE = 40,
    PF_AVX512F_INSTRUCTIONS_AVAILABLE = 41,
    PF_ERMS_AVAILABLE = 42,
    PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE = 43,
    PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE = 44,
    PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE = 45,
    PF_ARM_SVE_INSTRUCTIONS_AVAILABLE = 46,
    PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE = 47,
    PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE = 48,
    PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE = 49,
    PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE = 50,
    PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE = 51,
    PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE = 52,
    PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE = 53,
    PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE = 54,
    PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE = 55,
    PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE = 56,
    PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE = 57,
    PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE = 58,
    PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE = 59,
    PF_BMI2_INSTRUCTIONS_AVAILABLE = 60,
    PF_MOVDIR64B_INSTRUCTION_AVAILABLE = 61,
    PF_ARM_LSE2_AVAILABLE = 62,
    PF_RESERVED_FEATURE = 63,
    PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE = 64,
    PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE = 65,
    PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE = 66,
    PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE = 67,
    PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE = 68,
    PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE = 69,
    PF_ARM_SME_INSTRUCTIONS_AVAILABLE = 70,
    PF_ARM_SME2_INSTRUCTIONS_AVAILABLE = 71,
    PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE = 72,
    PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE = 73,
    PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE = 74,
    PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE = 75,
    PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE = 76,
    PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE = 77,
    PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE = 78,
    PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE = 79,
    PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE = 80,
    PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE = 81,
    PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE = 82,
    PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE = 83,
    PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE = 84,
    PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE = 85,
    PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE = 86,
    PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE = 87,
    PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE = 88,
}
Public Enum PROCESSOR_FEATURE_ID As UInteger
    PF_FLOATING_POINT_PRECISION_ERRATA = 0
    PF_FLOATING_POINT_EMULATED = 1
    PF_COMPARE_EXCHANGE_DOUBLE = 2
    PF_MMX_INSTRUCTIONS_AVAILABLE = 3
    PF_PPC_MOVEMEM_64BIT_OK = 4
    PF_ALPHA_BYTE_INSTRUCTIONS = 5
    PF_XMMI_INSTRUCTIONS_AVAILABLE = 6
    PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7
    PF_RDTSC_INSTRUCTION_AVAILABLE = 8
    PF_PAE_ENABLED = 9
    PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10
    PF_SSE_DAZ_MODE_AVAILABLE = 11
    PF_NX_ENABLED = 12
    PF_SSE3_INSTRUCTIONS_AVAILABLE = 13
    PF_COMPARE_EXCHANGE128 = 14
    PF_COMPARE64_EXCHANGE128 = 15
    PF_CHANNELS_ENABLED = 16
    PF_XSAVE_ENABLED = 17
    PF_ARM_VFP_32_REGISTERS_AVAILABLE = 18
    PF_ARM_NEON_INSTRUCTIONS_AVAILABLE = 19
    PF_SECOND_LEVEL_ADDRESS_TRANSLATION = 20
    PF_VIRT_FIRMWARE_ENABLED = 21
    PF_RDWRFSGSBASE_AVAILABLE = 22
    PF_FASTFAIL_AVAILABLE = 23
    PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE = 24
    PF_ARM_64BIT_LOADSTORE_ATOMIC = 25
    PF_ARM_EXTERNAL_CACHE_AVAILABLE = 26
    PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE = 27
    PF_RDRAND_INSTRUCTION_AVAILABLE = 28
    PF_ARM_V8_INSTRUCTIONS_AVAILABLE = 29
    PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE = 30
    PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE = 31
    PF_RDTSCP_INSTRUCTION_AVAILABLE = 32
    PF_RDPID_INSTRUCTION_AVAILABLE = 33
    PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE = 34
    PF_MONITORX_INSTRUCTION_AVAILABLE = 35
    PF_SSSE3_INSTRUCTIONS_AVAILABLE = 36
    PF_SSE4_1_INSTRUCTIONS_AVAILABLE = 37
    PF_SSE4_2_INSTRUCTIONS_AVAILABLE = 38
    PF_AVX_INSTRUCTIONS_AVAILABLE = 39
    PF_AVX2_INSTRUCTIONS_AVAILABLE = 40
    PF_AVX512F_INSTRUCTIONS_AVAILABLE = 41
    PF_ERMS_AVAILABLE = 42
    PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE = 43
    PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE = 44
    PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE = 45
    PF_ARM_SVE_INSTRUCTIONS_AVAILABLE = 46
    PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE = 47
    PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE = 48
    PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE = 49
    PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE = 50
    PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE = 51
    PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE = 52
    PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE = 53
    PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE = 54
    PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE = 55
    PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE = 56
    PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE = 57
    PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE = 58
    PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE = 59
    PF_BMI2_INSTRUCTIONS_AVAILABLE = 60
    PF_MOVDIR64B_INSTRUCTION_AVAILABLE = 61
    PF_ARM_LSE2_AVAILABLE = 62
    PF_RESERVED_FEATURE = 63
    PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE = 64
    PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE = 65
    PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE = 66
    PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE = 67
    PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE = 68
    PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE = 69
    PF_ARM_SME_INSTRUCTIONS_AVAILABLE = 70
    PF_ARM_SME2_INSTRUCTIONS_AVAILABLE = 71
    PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE = 72
    PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE = 73
    PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE = 74
    PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE = 75
    PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE = 76
    PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE = 77
    PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE = 78
    PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE = 79
    PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE = 80
    PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE = 81
    PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE = 82
    PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE = 83
    PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE = 84
    PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE = 85
    PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE = 86
    PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE = 87
    PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE = 88
End Enum
import enum

class PROCESSOR_FEATURE_ID(enum.IntEnum):
    PF_FLOATING_POINT_PRECISION_ERRATA = 0
    PF_FLOATING_POINT_EMULATED = 1
    PF_COMPARE_EXCHANGE_DOUBLE = 2
    PF_MMX_INSTRUCTIONS_AVAILABLE = 3
    PF_PPC_MOVEMEM_64BIT_OK = 4
    PF_ALPHA_BYTE_INSTRUCTIONS = 5
    PF_XMMI_INSTRUCTIONS_AVAILABLE = 6
    PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7
    PF_RDTSC_INSTRUCTION_AVAILABLE = 8
    PF_PAE_ENABLED = 9
    PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10
    PF_SSE_DAZ_MODE_AVAILABLE = 11
    PF_NX_ENABLED = 12
    PF_SSE3_INSTRUCTIONS_AVAILABLE = 13
    PF_COMPARE_EXCHANGE128 = 14
    PF_COMPARE64_EXCHANGE128 = 15
    PF_CHANNELS_ENABLED = 16
    PF_XSAVE_ENABLED = 17
    PF_ARM_VFP_32_REGISTERS_AVAILABLE = 18
    PF_ARM_NEON_INSTRUCTIONS_AVAILABLE = 19
    PF_SECOND_LEVEL_ADDRESS_TRANSLATION = 20
    PF_VIRT_FIRMWARE_ENABLED = 21
    PF_RDWRFSGSBASE_AVAILABLE = 22
    PF_FASTFAIL_AVAILABLE = 23
    PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE = 24
    PF_ARM_64BIT_LOADSTORE_ATOMIC = 25
    PF_ARM_EXTERNAL_CACHE_AVAILABLE = 26
    PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE = 27
    PF_RDRAND_INSTRUCTION_AVAILABLE = 28
    PF_ARM_V8_INSTRUCTIONS_AVAILABLE = 29
    PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE = 30
    PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE = 31
    PF_RDTSCP_INSTRUCTION_AVAILABLE = 32
    PF_RDPID_INSTRUCTION_AVAILABLE = 33
    PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE = 34
    PF_MONITORX_INSTRUCTION_AVAILABLE = 35
    PF_SSSE3_INSTRUCTIONS_AVAILABLE = 36
    PF_SSE4_1_INSTRUCTIONS_AVAILABLE = 37
    PF_SSE4_2_INSTRUCTIONS_AVAILABLE = 38
    PF_AVX_INSTRUCTIONS_AVAILABLE = 39
    PF_AVX2_INSTRUCTIONS_AVAILABLE = 40
    PF_AVX512F_INSTRUCTIONS_AVAILABLE = 41
    PF_ERMS_AVAILABLE = 42
    PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE = 43
    PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE = 44
    PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE = 45
    PF_ARM_SVE_INSTRUCTIONS_AVAILABLE = 46
    PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE = 47
    PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE = 48
    PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE = 49
    PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE = 50
    PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE = 51
    PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE = 52
    PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE = 53
    PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE = 54
    PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE = 55
    PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE = 56
    PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE = 57
    PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE = 58
    PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE = 59
    PF_BMI2_INSTRUCTIONS_AVAILABLE = 60
    PF_MOVDIR64B_INSTRUCTION_AVAILABLE = 61
    PF_ARM_LSE2_AVAILABLE = 62
    PF_RESERVED_FEATURE = 63
    PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE = 64
    PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE = 65
    PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE = 66
    PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE = 67
    PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE = 68
    PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE = 69
    PF_ARM_SME_INSTRUCTIONS_AVAILABLE = 70
    PF_ARM_SME2_INSTRUCTIONS_AVAILABLE = 71
    PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE = 72
    PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE = 73
    PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE = 74
    PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE = 75
    PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE = 76
    PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE = 77
    PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE = 78
    PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE = 79
    PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE = 80
    PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE = 81
    PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE = 82
    PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE = 83
    PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE = 84
    PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE = 85
    PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE = 86
    PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE = 87
    PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE = 88
// PROCESSOR_FEATURE_ID
pub const PF_FLOATING_POINT_PRECISION_ERRATA: u32 = 0;
pub const PF_FLOATING_POINT_EMULATED: u32 = 1;
pub const PF_COMPARE_EXCHANGE_DOUBLE: u32 = 2;
pub const PF_MMX_INSTRUCTIONS_AVAILABLE: u32 = 3;
pub const PF_PPC_MOVEMEM_64BIT_OK: u32 = 4;
pub const PF_ALPHA_BYTE_INSTRUCTIONS: u32 = 5;
pub const PF_XMMI_INSTRUCTIONS_AVAILABLE: u32 = 6;
pub const PF_3DNOW_INSTRUCTIONS_AVAILABLE: u32 = 7;
pub const PF_RDTSC_INSTRUCTION_AVAILABLE: u32 = 8;
pub const PF_PAE_ENABLED: u32 = 9;
pub const PF_XMMI64_INSTRUCTIONS_AVAILABLE: u32 = 10;
pub const PF_SSE_DAZ_MODE_AVAILABLE: u32 = 11;
pub const PF_NX_ENABLED: u32 = 12;
pub const PF_SSE3_INSTRUCTIONS_AVAILABLE: u32 = 13;
pub const PF_COMPARE_EXCHANGE128: u32 = 14;
pub const PF_COMPARE64_EXCHANGE128: u32 = 15;
pub const PF_CHANNELS_ENABLED: u32 = 16;
pub const PF_XSAVE_ENABLED: u32 = 17;
pub const PF_ARM_VFP_32_REGISTERS_AVAILABLE: u32 = 18;
pub const PF_ARM_NEON_INSTRUCTIONS_AVAILABLE: u32 = 19;
pub const PF_SECOND_LEVEL_ADDRESS_TRANSLATION: u32 = 20;
pub const PF_VIRT_FIRMWARE_ENABLED: u32 = 21;
pub const PF_RDWRFSGSBASE_AVAILABLE: u32 = 22;
pub const PF_FASTFAIL_AVAILABLE: u32 = 23;
pub const PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE: u32 = 24;
pub const PF_ARM_64BIT_LOADSTORE_ATOMIC: u32 = 25;
pub const PF_ARM_EXTERNAL_CACHE_AVAILABLE: u32 = 26;
pub const PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE: u32 = 27;
pub const PF_RDRAND_INSTRUCTION_AVAILABLE: u32 = 28;
pub const PF_ARM_V8_INSTRUCTIONS_AVAILABLE: u32 = 29;
pub const PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE: u32 = 30;
pub const PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE: u32 = 31;
pub const PF_RDTSCP_INSTRUCTION_AVAILABLE: u32 = 32;
pub const PF_RDPID_INSTRUCTION_AVAILABLE: u32 = 33;
pub const PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE: u32 = 34;
pub const PF_MONITORX_INSTRUCTION_AVAILABLE: u32 = 35;
pub const PF_SSSE3_INSTRUCTIONS_AVAILABLE: u32 = 36;
pub const PF_SSE4_1_INSTRUCTIONS_AVAILABLE: u32 = 37;
pub const PF_SSE4_2_INSTRUCTIONS_AVAILABLE: u32 = 38;
pub const PF_AVX_INSTRUCTIONS_AVAILABLE: u32 = 39;
pub const PF_AVX2_INSTRUCTIONS_AVAILABLE: u32 = 40;
pub const PF_AVX512F_INSTRUCTIONS_AVAILABLE: u32 = 41;
pub const PF_ERMS_AVAILABLE: u32 = 42;
pub const PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE: u32 = 43;
pub const PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE: u32 = 44;
pub const PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE: u32 = 45;
pub const PF_ARM_SVE_INSTRUCTIONS_AVAILABLE: u32 = 46;
pub const PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE: u32 = 47;
pub const PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE: u32 = 48;
pub const PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE: u32 = 49;
pub const PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE: u32 = 50;
pub const PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE: u32 = 51;
pub const PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE: u32 = 52;
pub const PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE: u32 = 53;
pub const PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE: u32 = 54;
pub const PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE: u32 = 55;
pub const PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE: u32 = 56;
pub const PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE: u32 = 57;
pub const PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE: u32 = 58;
pub const PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE: u32 = 59;
pub const PF_BMI2_INSTRUCTIONS_AVAILABLE: u32 = 60;
pub const PF_MOVDIR64B_INSTRUCTION_AVAILABLE: u32 = 61;
pub const PF_ARM_LSE2_AVAILABLE: u32 = 62;
pub const PF_RESERVED_FEATURE: u32 = 63;
pub const PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE: u32 = 64;
pub const PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE: u32 = 65;
pub const PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE: u32 = 66;
pub const PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE: u32 = 67;
pub const PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE: u32 = 68;
pub const PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE: u32 = 69;
pub const PF_ARM_SME_INSTRUCTIONS_AVAILABLE: u32 = 70;
pub const PF_ARM_SME2_INSTRUCTIONS_AVAILABLE: u32 = 71;
pub const PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE: u32 = 72;
pub const PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE: u32 = 73;
pub const PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE: u32 = 74;
pub const PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE: u32 = 75;
pub const PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE: u32 = 76;
pub const PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE: u32 = 77;
pub const PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE: u32 = 78;
pub const PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE: u32 = 79;
pub const PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE: u32 = 80;
pub const PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE: u32 = 81;
pub const PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE: u32 = 82;
pub const PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE: u32 = 83;
pub const PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE: u32 = 84;
pub const PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE: u32 = 85;
pub const PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE: u32 = 86;
pub const PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE: u32 = 87;
pub const PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE: u32 = 88;
// PROCESSOR_FEATURE_ID
const (
	PF_FLOATING_POINT_PRECISION_ERRATA uint32 = 0
	PF_FLOATING_POINT_EMULATED uint32 = 1
	PF_COMPARE_EXCHANGE_DOUBLE uint32 = 2
	PF_MMX_INSTRUCTIONS_AVAILABLE uint32 = 3
	PF_PPC_MOVEMEM_64BIT_OK uint32 = 4
	PF_ALPHA_BYTE_INSTRUCTIONS uint32 = 5
	PF_XMMI_INSTRUCTIONS_AVAILABLE uint32 = 6
	PF_3DNOW_INSTRUCTIONS_AVAILABLE uint32 = 7
	PF_RDTSC_INSTRUCTION_AVAILABLE uint32 = 8
	PF_PAE_ENABLED uint32 = 9
	PF_XMMI64_INSTRUCTIONS_AVAILABLE uint32 = 10
	PF_SSE_DAZ_MODE_AVAILABLE uint32 = 11
	PF_NX_ENABLED uint32 = 12
	PF_SSE3_INSTRUCTIONS_AVAILABLE uint32 = 13
	PF_COMPARE_EXCHANGE128 uint32 = 14
	PF_COMPARE64_EXCHANGE128 uint32 = 15
	PF_CHANNELS_ENABLED uint32 = 16
	PF_XSAVE_ENABLED uint32 = 17
	PF_ARM_VFP_32_REGISTERS_AVAILABLE uint32 = 18
	PF_ARM_NEON_INSTRUCTIONS_AVAILABLE uint32 = 19
	PF_SECOND_LEVEL_ADDRESS_TRANSLATION uint32 = 20
	PF_VIRT_FIRMWARE_ENABLED uint32 = 21
	PF_RDWRFSGSBASE_AVAILABLE uint32 = 22
	PF_FASTFAIL_AVAILABLE uint32 = 23
	PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE uint32 = 24
	PF_ARM_64BIT_LOADSTORE_ATOMIC uint32 = 25
	PF_ARM_EXTERNAL_CACHE_AVAILABLE uint32 = 26
	PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE uint32 = 27
	PF_RDRAND_INSTRUCTION_AVAILABLE uint32 = 28
	PF_ARM_V8_INSTRUCTIONS_AVAILABLE uint32 = 29
	PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE uint32 = 30
	PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE uint32 = 31
	PF_RDTSCP_INSTRUCTION_AVAILABLE uint32 = 32
	PF_RDPID_INSTRUCTION_AVAILABLE uint32 = 33
	PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE uint32 = 34
	PF_MONITORX_INSTRUCTION_AVAILABLE uint32 = 35
	PF_SSSE3_INSTRUCTIONS_AVAILABLE uint32 = 36
	PF_SSE4_1_INSTRUCTIONS_AVAILABLE uint32 = 37
	PF_SSE4_2_INSTRUCTIONS_AVAILABLE uint32 = 38
	PF_AVX_INSTRUCTIONS_AVAILABLE uint32 = 39
	PF_AVX2_INSTRUCTIONS_AVAILABLE uint32 = 40
	PF_AVX512F_INSTRUCTIONS_AVAILABLE uint32 = 41
	PF_ERMS_AVAILABLE uint32 = 42
	PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE uint32 = 43
	PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE uint32 = 44
	PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE uint32 = 45
	PF_ARM_SVE_INSTRUCTIONS_AVAILABLE uint32 = 46
	PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE uint32 = 47
	PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE uint32 = 48
	PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE uint32 = 49
	PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE uint32 = 50
	PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE uint32 = 51
	PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE uint32 = 52
	PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE uint32 = 53
	PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE uint32 = 54
	PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE uint32 = 55
	PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE uint32 = 56
	PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE uint32 = 57
	PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE uint32 = 58
	PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE uint32 = 59
	PF_BMI2_INSTRUCTIONS_AVAILABLE uint32 = 60
	PF_MOVDIR64B_INSTRUCTION_AVAILABLE uint32 = 61
	PF_ARM_LSE2_AVAILABLE uint32 = 62
	PF_RESERVED_FEATURE uint32 = 63
	PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE uint32 = 64
	PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE uint32 = 65
	PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE uint32 = 66
	PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE uint32 = 67
	PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE uint32 = 68
	PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE uint32 = 69
	PF_ARM_SME_INSTRUCTIONS_AVAILABLE uint32 = 70
	PF_ARM_SME2_INSTRUCTIONS_AVAILABLE uint32 = 71
	PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE uint32 = 72
	PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE uint32 = 73
	PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE uint32 = 74
	PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE uint32 = 75
	PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE uint32 = 76
	PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE uint32 = 77
	PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE uint32 = 78
	PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE uint32 = 79
	PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE uint32 = 80
	PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE uint32 = 81
	PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE uint32 = 82
	PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE uint32 = 83
	PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE uint32 = 84
	PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE uint32 = 85
	PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE uint32 = 86
	PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE uint32 = 87
	PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE uint32 = 88
)
const
  PF_FLOATING_POINT_PRECISION_ERRATA = 0;
  PF_FLOATING_POINT_EMULATED = 1;
  PF_COMPARE_EXCHANGE_DOUBLE = 2;
  PF_MMX_INSTRUCTIONS_AVAILABLE = 3;
  PF_PPC_MOVEMEM_64BIT_OK = 4;
  PF_ALPHA_BYTE_INSTRUCTIONS = 5;
  PF_XMMI_INSTRUCTIONS_AVAILABLE = 6;
  PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7;
  PF_RDTSC_INSTRUCTION_AVAILABLE = 8;
  PF_PAE_ENABLED = 9;
  PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10;
  PF_SSE_DAZ_MODE_AVAILABLE = 11;
  PF_NX_ENABLED = 12;
  PF_SSE3_INSTRUCTIONS_AVAILABLE = 13;
  PF_COMPARE_EXCHANGE128 = 14;
  PF_COMPARE64_EXCHANGE128 = 15;
  PF_CHANNELS_ENABLED = 16;
  PF_XSAVE_ENABLED = 17;
  PF_ARM_VFP_32_REGISTERS_AVAILABLE = 18;
  PF_ARM_NEON_INSTRUCTIONS_AVAILABLE = 19;
  PF_SECOND_LEVEL_ADDRESS_TRANSLATION = 20;
  PF_VIRT_FIRMWARE_ENABLED = 21;
  PF_RDWRFSGSBASE_AVAILABLE = 22;
  PF_FASTFAIL_AVAILABLE = 23;
  PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE = 24;
  PF_ARM_64BIT_LOADSTORE_ATOMIC = 25;
  PF_ARM_EXTERNAL_CACHE_AVAILABLE = 26;
  PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE = 27;
  PF_RDRAND_INSTRUCTION_AVAILABLE = 28;
  PF_ARM_V8_INSTRUCTIONS_AVAILABLE = 29;
  PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE = 30;
  PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE = 31;
  PF_RDTSCP_INSTRUCTION_AVAILABLE = 32;
  PF_RDPID_INSTRUCTION_AVAILABLE = 33;
  PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE = 34;
  PF_MONITORX_INSTRUCTION_AVAILABLE = 35;
  PF_SSSE3_INSTRUCTIONS_AVAILABLE = 36;
  PF_SSE4_1_INSTRUCTIONS_AVAILABLE = 37;
  PF_SSE4_2_INSTRUCTIONS_AVAILABLE = 38;
  PF_AVX_INSTRUCTIONS_AVAILABLE = 39;
  PF_AVX2_INSTRUCTIONS_AVAILABLE = 40;
  PF_AVX512F_INSTRUCTIONS_AVAILABLE = 41;
  PF_ERMS_AVAILABLE = 42;
  PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE = 43;
  PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE = 44;
  PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE = 45;
  PF_ARM_SVE_INSTRUCTIONS_AVAILABLE = 46;
  PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE = 47;
  PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE = 48;
  PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE = 49;
  PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE = 50;
  PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE = 51;
  PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE = 52;
  PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE = 53;
  PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE = 54;
  PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE = 55;
  PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE = 56;
  PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE = 57;
  PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE = 58;
  PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE = 59;
  PF_BMI2_INSTRUCTIONS_AVAILABLE = 60;
  PF_MOVDIR64B_INSTRUCTION_AVAILABLE = 61;
  PF_ARM_LSE2_AVAILABLE = 62;
  PF_RESERVED_FEATURE = 63;
  PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE = 64;
  PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE = 65;
  PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE = 66;
  PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE = 67;
  PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE = 68;
  PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE = 69;
  PF_ARM_SME_INSTRUCTIONS_AVAILABLE = 70;
  PF_ARM_SME2_INSTRUCTIONS_AVAILABLE = 71;
  PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE = 72;
  PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE = 73;
  PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE = 74;
  PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE = 75;
  PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE = 76;
  PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE = 77;
  PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE = 78;
  PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE = 79;
  PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE = 80;
  PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE = 81;
  PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE = 82;
  PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE = 83;
  PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE = 84;
  PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE = 85;
  PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE = 86;
  PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE = 87;
  PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE = 88;
// PROCESSOR_FEATURE_ID
pub const PF_FLOATING_POINT_PRECISION_ERRATA: u32 = 0;
pub const PF_FLOATING_POINT_EMULATED: u32 = 1;
pub const PF_COMPARE_EXCHANGE_DOUBLE: u32 = 2;
pub const PF_MMX_INSTRUCTIONS_AVAILABLE: u32 = 3;
pub const PF_PPC_MOVEMEM_64BIT_OK: u32 = 4;
pub const PF_ALPHA_BYTE_INSTRUCTIONS: u32 = 5;
pub const PF_XMMI_INSTRUCTIONS_AVAILABLE: u32 = 6;
pub const PF_3DNOW_INSTRUCTIONS_AVAILABLE: u32 = 7;
pub const PF_RDTSC_INSTRUCTION_AVAILABLE: u32 = 8;
pub const PF_PAE_ENABLED: u32 = 9;
pub const PF_XMMI64_INSTRUCTIONS_AVAILABLE: u32 = 10;
pub const PF_SSE_DAZ_MODE_AVAILABLE: u32 = 11;
pub const PF_NX_ENABLED: u32 = 12;
pub const PF_SSE3_INSTRUCTIONS_AVAILABLE: u32 = 13;
pub const PF_COMPARE_EXCHANGE128: u32 = 14;
pub const PF_COMPARE64_EXCHANGE128: u32 = 15;
pub const PF_CHANNELS_ENABLED: u32 = 16;
pub const PF_XSAVE_ENABLED: u32 = 17;
pub const PF_ARM_VFP_32_REGISTERS_AVAILABLE: u32 = 18;
pub const PF_ARM_NEON_INSTRUCTIONS_AVAILABLE: u32 = 19;
pub const PF_SECOND_LEVEL_ADDRESS_TRANSLATION: u32 = 20;
pub const PF_VIRT_FIRMWARE_ENABLED: u32 = 21;
pub const PF_RDWRFSGSBASE_AVAILABLE: u32 = 22;
pub const PF_FASTFAIL_AVAILABLE: u32 = 23;
pub const PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE: u32 = 24;
pub const PF_ARM_64BIT_LOADSTORE_ATOMIC: u32 = 25;
pub const PF_ARM_EXTERNAL_CACHE_AVAILABLE: u32 = 26;
pub const PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE: u32 = 27;
pub const PF_RDRAND_INSTRUCTION_AVAILABLE: u32 = 28;
pub const PF_ARM_V8_INSTRUCTIONS_AVAILABLE: u32 = 29;
pub const PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE: u32 = 30;
pub const PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE: u32 = 31;
pub const PF_RDTSCP_INSTRUCTION_AVAILABLE: u32 = 32;
pub const PF_RDPID_INSTRUCTION_AVAILABLE: u32 = 33;
pub const PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE: u32 = 34;
pub const PF_MONITORX_INSTRUCTION_AVAILABLE: u32 = 35;
pub const PF_SSSE3_INSTRUCTIONS_AVAILABLE: u32 = 36;
pub const PF_SSE4_1_INSTRUCTIONS_AVAILABLE: u32 = 37;
pub const PF_SSE4_2_INSTRUCTIONS_AVAILABLE: u32 = 38;
pub const PF_AVX_INSTRUCTIONS_AVAILABLE: u32 = 39;
pub const PF_AVX2_INSTRUCTIONS_AVAILABLE: u32 = 40;
pub const PF_AVX512F_INSTRUCTIONS_AVAILABLE: u32 = 41;
pub const PF_ERMS_AVAILABLE: u32 = 42;
pub const PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE: u32 = 43;
pub const PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE: u32 = 44;
pub const PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE: u32 = 45;
pub const PF_ARM_SVE_INSTRUCTIONS_AVAILABLE: u32 = 46;
pub const PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE: u32 = 47;
pub const PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE: u32 = 48;
pub const PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE: u32 = 49;
pub const PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE: u32 = 50;
pub const PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE: u32 = 51;
pub const PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE: u32 = 52;
pub const PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE: u32 = 53;
pub const PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE: u32 = 54;
pub const PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE: u32 = 55;
pub const PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE: u32 = 56;
pub const PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE: u32 = 57;
pub const PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE: u32 = 58;
pub const PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE: u32 = 59;
pub const PF_BMI2_INSTRUCTIONS_AVAILABLE: u32 = 60;
pub const PF_MOVDIR64B_INSTRUCTION_AVAILABLE: u32 = 61;
pub const PF_ARM_LSE2_AVAILABLE: u32 = 62;
pub const PF_RESERVED_FEATURE: u32 = 63;
pub const PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE: u32 = 64;
pub const PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE: u32 = 65;
pub const PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE: u32 = 66;
pub const PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE: u32 = 67;
pub const PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE: u32 = 68;
pub const PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE: u32 = 69;
pub const PF_ARM_SME_INSTRUCTIONS_AVAILABLE: u32 = 70;
pub const PF_ARM_SME2_INSTRUCTIONS_AVAILABLE: u32 = 71;
pub const PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE: u32 = 72;
pub const PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE: u32 = 73;
pub const PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE: u32 = 74;
pub const PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE: u32 = 75;
pub const PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE: u32 = 76;
pub const PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE: u32 = 77;
pub const PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE: u32 = 78;
pub const PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE: u32 = 79;
pub const PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE: u32 = 80;
pub const PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE: u32 = 81;
pub const PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE: u32 = 82;
pub const PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE: u32 = 83;
pub const PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE: u32 = 84;
pub const PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE: u32 = 85;
pub const PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE: u32 = 86;
pub const PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE: u32 = 87;
pub const PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE: u32 = 88;
const
  PF_FLOATING_POINT_PRECISION_ERRATA* = 0
  PF_FLOATING_POINT_EMULATED* = 1
  PF_COMPARE_EXCHANGE_DOUBLE* = 2
  PF_MMX_INSTRUCTIONS_AVAILABLE* = 3
  PF_PPC_MOVEMEM_64BIT_OK* = 4
  PF_ALPHA_BYTE_INSTRUCTIONS* = 5
  PF_XMMI_INSTRUCTIONS_AVAILABLE* = 6
  PF_3DNOW_INSTRUCTIONS_AVAILABLE* = 7
  PF_RDTSC_INSTRUCTION_AVAILABLE* = 8
  PF_PAE_ENABLED* = 9
  PF_XMMI64_INSTRUCTIONS_AVAILABLE* = 10
  PF_SSE_DAZ_MODE_AVAILABLE* = 11
  PF_NX_ENABLED* = 12
  PF_SSE3_INSTRUCTIONS_AVAILABLE* = 13
  PF_COMPARE_EXCHANGE128* = 14
  PF_COMPARE64_EXCHANGE128* = 15
  PF_CHANNELS_ENABLED* = 16
  PF_XSAVE_ENABLED* = 17
  PF_ARM_VFP_32_REGISTERS_AVAILABLE* = 18
  PF_ARM_NEON_INSTRUCTIONS_AVAILABLE* = 19
  PF_SECOND_LEVEL_ADDRESS_TRANSLATION* = 20
  PF_VIRT_FIRMWARE_ENABLED* = 21
  PF_RDWRFSGSBASE_AVAILABLE* = 22
  PF_FASTFAIL_AVAILABLE* = 23
  PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE* = 24
  PF_ARM_64BIT_LOADSTORE_ATOMIC* = 25
  PF_ARM_EXTERNAL_CACHE_AVAILABLE* = 26
  PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE* = 27
  PF_RDRAND_INSTRUCTION_AVAILABLE* = 28
  PF_ARM_V8_INSTRUCTIONS_AVAILABLE* = 29
  PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE* = 30
  PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE* = 31
  PF_RDTSCP_INSTRUCTION_AVAILABLE* = 32
  PF_RDPID_INSTRUCTION_AVAILABLE* = 33
  PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE* = 34
  PF_MONITORX_INSTRUCTION_AVAILABLE* = 35
  PF_SSSE3_INSTRUCTIONS_AVAILABLE* = 36
  PF_SSE4_1_INSTRUCTIONS_AVAILABLE* = 37
  PF_SSE4_2_INSTRUCTIONS_AVAILABLE* = 38
  PF_AVX_INSTRUCTIONS_AVAILABLE* = 39
  PF_AVX2_INSTRUCTIONS_AVAILABLE* = 40
  PF_AVX512F_INSTRUCTIONS_AVAILABLE* = 41
  PF_ERMS_AVAILABLE* = 42
  PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE* = 43
  PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE* = 44
  PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE* = 45
  PF_ARM_SVE_INSTRUCTIONS_AVAILABLE* = 46
  PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE* = 47
  PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE* = 48
  PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE* = 49
  PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE* = 50
  PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE* = 51
  PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE* = 52
  PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE* = 53
  PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE* = 54
  PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE* = 55
  PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE* = 56
  PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE* = 57
  PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE* = 58
  PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE* = 59
  PF_BMI2_INSTRUCTIONS_AVAILABLE* = 60
  PF_MOVDIR64B_INSTRUCTION_AVAILABLE* = 61
  PF_ARM_LSE2_AVAILABLE* = 62
  PF_RESERVED_FEATURE* = 63
  PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE* = 64
  PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE* = 65
  PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE* = 66
  PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE* = 67
  PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE* = 68
  PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE* = 69
  PF_ARM_SME_INSTRUCTIONS_AVAILABLE* = 70
  PF_ARM_SME2_INSTRUCTIONS_AVAILABLE* = 71
  PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE* = 72
  PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE* = 73
  PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE* = 74
  PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE* = 75
  PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE* = 76
  PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE* = 77
  PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE* = 78
  PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE* = 79
  PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE* = 80
  PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE* = 81
  PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE* = 82
  PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE* = 83
  PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE* = 84
  PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE* = 85
  PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE* = 86
  PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE* = 87
  PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE* = 88
enum PROCESSOR_FEATURE_ID : uint {
    PF_FLOATING_POINT_PRECISION_ERRATA = 0,
    PF_FLOATING_POINT_EMULATED = 1,
    PF_COMPARE_EXCHANGE_DOUBLE = 2,
    PF_MMX_INSTRUCTIONS_AVAILABLE = 3,
    PF_PPC_MOVEMEM_64BIT_OK = 4,
    PF_ALPHA_BYTE_INSTRUCTIONS = 5,
    PF_XMMI_INSTRUCTIONS_AVAILABLE = 6,
    PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7,
    PF_RDTSC_INSTRUCTION_AVAILABLE = 8,
    PF_PAE_ENABLED = 9,
    PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10,
    PF_SSE_DAZ_MODE_AVAILABLE = 11,
    PF_NX_ENABLED = 12,
    PF_SSE3_INSTRUCTIONS_AVAILABLE = 13,
    PF_COMPARE_EXCHANGE128 = 14,
    PF_COMPARE64_EXCHANGE128 = 15,
    PF_CHANNELS_ENABLED = 16,
    PF_XSAVE_ENABLED = 17,
    PF_ARM_VFP_32_REGISTERS_AVAILABLE = 18,
    PF_ARM_NEON_INSTRUCTIONS_AVAILABLE = 19,
    PF_SECOND_LEVEL_ADDRESS_TRANSLATION = 20,
    PF_VIRT_FIRMWARE_ENABLED = 21,
    PF_RDWRFSGSBASE_AVAILABLE = 22,
    PF_FASTFAIL_AVAILABLE = 23,
    PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE = 24,
    PF_ARM_64BIT_LOADSTORE_ATOMIC = 25,
    PF_ARM_EXTERNAL_CACHE_AVAILABLE = 26,
    PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE = 27,
    PF_RDRAND_INSTRUCTION_AVAILABLE = 28,
    PF_ARM_V8_INSTRUCTIONS_AVAILABLE = 29,
    PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE = 30,
    PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE = 31,
    PF_RDTSCP_INSTRUCTION_AVAILABLE = 32,
    PF_RDPID_INSTRUCTION_AVAILABLE = 33,
    PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE = 34,
    PF_MONITORX_INSTRUCTION_AVAILABLE = 35,
    PF_SSSE3_INSTRUCTIONS_AVAILABLE = 36,
    PF_SSE4_1_INSTRUCTIONS_AVAILABLE = 37,
    PF_SSE4_2_INSTRUCTIONS_AVAILABLE = 38,
    PF_AVX_INSTRUCTIONS_AVAILABLE = 39,
    PF_AVX2_INSTRUCTIONS_AVAILABLE = 40,
    PF_AVX512F_INSTRUCTIONS_AVAILABLE = 41,
    PF_ERMS_AVAILABLE = 42,
    PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE = 43,
    PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE = 44,
    PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE = 45,
    PF_ARM_SVE_INSTRUCTIONS_AVAILABLE = 46,
    PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE = 47,
    PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE = 48,
    PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE = 49,
    PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE = 50,
    PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE = 51,
    PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE = 52,
    PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE = 53,
    PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE = 54,
    PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE = 55,
    PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE = 56,
    PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE = 57,
    PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE = 58,
    PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE = 59,
    PF_BMI2_INSTRUCTIONS_AVAILABLE = 60,
    PF_MOVDIR64B_INSTRUCTION_AVAILABLE = 61,
    PF_ARM_LSE2_AVAILABLE = 62,
    PF_RESERVED_FEATURE = 63,
    PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE = 64,
    PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE = 65,
    PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE = 66,
    PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE = 67,
    PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE = 68,
    PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE = 69,
    PF_ARM_SME_INSTRUCTIONS_AVAILABLE = 70,
    PF_ARM_SME2_INSTRUCTIONS_AVAILABLE = 71,
    PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE = 72,
    PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE = 73,
    PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE = 74,
    PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE = 75,
    PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE = 76,
    PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE = 77,
    PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE = 78,
    PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE = 79,
    PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE = 80,
    PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE = 81,
    PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE = 82,
    PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE = 83,
    PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE = 84,
    PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE = 85,
    PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE = 86,
    PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE = 87,
    PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE = 88,
}
#define global PF_FLOATING_POINT_PRECISION_ERRATA         0x0
#define global PF_FLOATING_POINT_EMULATED                 0x1
#define global PF_COMPARE_EXCHANGE_DOUBLE                 0x2
#define global PF_MMX_INSTRUCTIONS_AVAILABLE              0x3
#define global PF_PPC_MOVEMEM_64BIT_OK                    0x4
#define global PF_ALPHA_BYTE_INSTRUCTIONS                 0x5
#define global PF_XMMI_INSTRUCTIONS_AVAILABLE             0x6
#define global PF_3DNOW_INSTRUCTIONS_AVAILABLE            0x7
#define global PF_RDTSC_INSTRUCTION_AVAILABLE             0x8
#define global PF_PAE_ENABLED                             0x9
#define global PF_XMMI64_INSTRUCTIONS_AVAILABLE           0xA
#define global PF_SSE_DAZ_MODE_AVAILABLE                  0xB
#define global PF_NX_ENABLED                              0xC
#define global PF_SSE3_INSTRUCTIONS_AVAILABLE             0xD
#define global PF_COMPARE_EXCHANGE128                     0xE
#define global PF_COMPARE64_EXCHANGE128                   0xF
#define global PF_CHANNELS_ENABLED                        0x10
#define global PF_XSAVE_ENABLED                           0x11
#define global PF_ARM_VFP_32_REGISTERS_AVAILABLE          0x12
#define global PF_ARM_NEON_INSTRUCTIONS_AVAILABLE         0x13
#define global PF_SECOND_LEVEL_ADDRESS_TRANSLATION        0x14
#define global PF_VIRT_FIRMWARE_ENABLED                   0x15
#define global PF_RDWRFSGSBASE_AVAILABLE                  0x16
#define global PF_FASTFAIL_AVAILABLE                      0x17
#define global PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE        0x18
#define global PF_ARM_64BIT_LOADSTORE_ATOMIC              0x19
#define global PF_ARM_EXTERNAL_CACHE_AVAILABLE            0x1A
#define global PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE         0x1B
#define global PF_RDRAND_INSTRUCTION_AVAILABLE            0x1C
#define global PF_ARM_V8_INSTRUCTIONS_AVAILABLE           0x1D
#define global PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE    0x1E
#define global PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE     0x1F
#define global PF_RDTSCP_INSTRUCTION_AVAILABLE            0x20
#define global PF_RDPID_INSTRUCTION_AVAILABLE             0x21
#define global PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE   0x22
#define global PF_MONITORX_INSTRUCTION_AVAILABLE          0x23
#define global PF_SSSE3_INSTRUCTIONS_AVAILABLE            0x24
#define global PF_SSE4_1_INSTRUCTIONS_AVAILABLE           0x25
#define global PF_SSE4_2_INSTRUCTIONS_AVAILABLE           0x26
#define global PF_AVX_INSTRUCTIONS_AVAILABLE              0x27
#define global PF_AVX2_INSTRUCTIONS_AVAILABLE             0x28
#define global PF_AVX512F_INSTRUCTIONS_AVAILABLE          0x29
#define global PF_ERMS_AVAILABLE                          0x2A
#define global PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE       0x2B
#define global PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE    0x2C
#define global PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE    0x2D
#define global PF_ARM_SVE_INSTRUCTIONS_AVAILABLE          0x2E
#define global PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE         0x2F
#define global PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE       0x30
#define global PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE      0x31
#define global PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE 0x32
#define global PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE  0x33
#define global PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE     0x34
#define global PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE    0x35
#define global PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE   0x36
#define global PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE     0x37
#define global PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE      0x38
#define global PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE     0x39
#define global PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE    0x3A
#define global PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE    0x3B
#define global PF_BMI2_INSTRUCTIONS_AVAILABLE             0x3C
#define global PF_MOVDIR64B_INSTRUCTION_AVAILABLE         0x3D
#define global PF_ARM_LSE2_AVAILABLE                      0x3E
#define global PF_RESERVED_FEATURE                        0x3F
#define global PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE         0x40
#define global PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE       0x41
#define global PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE     0x42
#define global PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE     0x43
#define global PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE     0x44
#define global PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE    0x45
#define global PF_ARM_SME_INSTRUCTIONS_AVAILABLE          0x46
#define global PF_ARM_SME2_INSTRUCTIONS_AVAILABLE         0x47
#define global PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE       0x48
#define global PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE       0x49
#define global PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE      0x4A
#define global PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE 0x4B
#define global PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE   0x4C
#define global PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE   0x4D
#define global PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE   0x4E
#define global PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE   0x4F
#define global PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE   0x50
#define global PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE    0x51
#define global PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE    0x52
#define global PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE   0x53
#define global PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE   0x54
#define global PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE   0x55
#define global PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE   0x56
#define global PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE    0x57
#define global PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE     0x58