@@ -3938,3 +3938,88 @@ const (
39383938 MOUSE_EVENT = 0x0002
39393939 WINDOW_BUFFER_SIZE_EVENT = 0x0004
39403940)
3941+
3942+ // The processor features to be tested for IsProcessorFeaturePresent, see
3943+ // https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-isprocessorfeaturepresent
3944+ const (
3945+ PF_ARM_64BIT_LOADSTORE_ATOMIC = 25
3946+ PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE = 24
3947+ PF_ARM_EXTERNAL_CACHE_AVAILABLE = 26
3948+ PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE = 27
3949+ PF_ARM_VFP_32_REGISTERS_AVAILABLE = 18
3950+ PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7
3951+ PF_CHANNELS_ENABLED = 16
3952+ PF_COMPARE_EXCHANGE_DOUBLE = 2
3953+ PF_COMPARE_EXCHANGE128 = 14
3954+ PF_COMPARE64_EXCHANGE128 = 15
3955+ PF_FASTFAIL_AVAILABLE = 23
3956+ PF_FLOATING_POINT_EMULATED = 1
3957+ PF_FLOATING_POINT_PRECISION_ERRATA = 0
3958+ PF_MMX_INSTRUCTIONS_AVAILABLE = 3
3959+ PF_NX_ENABLED = 12
3960+ PF_PAE_ENABLED = 9
3961+ PF_RDTSC_INSTRUCTION_AVAILABLE = 8
3962+ PF_RDWRFSGSBASE_AVAILABLE = 22
3963+ PF_SECOND_LEVEL_ADDRESS_TRANSLATION = 20
3964+ PF_SSE3_INSTRUCTIONS_AVAILABLE = 13
3965+ PF_SSSE3_INSTRUCTIONS_AVAILABLE = 36
3966+ PF_SSE4_1_INSTRUCTIONS_AVAILABLE = 37
3967+ PF_SSE4_2_INSTRUCTIONS_AVAILABLE = 38
3968+ PF_AVX_INSTRUCTIONS_AVAILABLE = 39
3969+ PF_AVX2_INSTRUCTIONS_AVAILABLE = 40
3970+ PF_AVX512F_INSTRUCTIONS_AVAILABLE = 41
3971+ PF_VIRT_FIRMWARE_ENABLED = 21
3972+ PF_XMMI_INSTRUCTIONS_AVAILABLE = 6
3973+ PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10
3974+ PF_XSAVE_ENABLED = 17
3975+ PF_ARM_V8_INSTRUCTIONS_AVAILABLE = 29
3976+ PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE = 30
3977+ PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE = 31
3978+ PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE = 34
3979+ PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE = 43
3980+ PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE = 44
3981+ PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE = 45
3982+ PF_ARM_SVE_INSTRUCTIONS_AVAILABLE = 46
3983+ PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE = 47
3984+ PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE = 48
3985+ PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE = 49
3986+ PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE = 50
3987+ PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE = 51
3988+ PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE = 52
3989+ PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE = 53
3990+ PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE = 54
3991+ PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE = 55
3992+ PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE = 56
3993+ PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE = 57
3994+ PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE = 58
3995+ PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE = 59
3996+ PF_BMI2_INSTRUCTIONS_AVAILABLE = 60
3997+ PF_MOVDIR64B_INSTRUCTION_AVAILABLE = 61
3998+ PF_ARM_LSE2_AVAILABLE = 62
3999+ PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE = 64
4000+ PF_ARM_SHA512_INSTRUCTIONS_AVAILABLE = 65
4001+ PF_ARM_V82_I8MM_INSTRUCTIONS_AVAILABLE = 66
4002+ PF_ARM_V82_FP16_INSTRUCTIONS_AVAILABLE = 67
4003+ PF_ARM_V86_BF16_INSTRUCTIONS_AVAILABLE = 68
4004+ PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE = 69
4005+ PF_ARM_SME_INSTRUCTIONS_AVAILABLE = 70
4006+ PF_ARM_SME2_INSTRUCTIONS_AVAILABLE = 71
4007+ PF_ARM_SME2_1_INSTRUCTIONS_AVAILABLE = 72
4008+ PF_ARM_SME2_2_INSTRUCTIONS_AVAILABLE = 73
4009+ PF_ARM_SME_AES_INSTRUCTIONS_AVAILABLE = 74
4010+ PF_ARM_SME_SBITPERM_INSTRUCTIONS_AVAILABLE = 75
4011+ PF_ARM_SME_SF8MM4_INSTRUCTIONS_AVAILABLE = 76
4012+ PF_ARM_SME_SF8MM8_INSTRUCTIONS_AVAILABLE = 77
4013+ PF_ARM_SME_SF8DP2_INSTRUCTIONS_AVAILABLE = 78
4014+ PF_ARM_SME_SF8DP4_INSTRUCTIONS_AVAILABLE = 79
4015+ PF_ARM_SME_SF8FMA_INSTRUCTIONS_AVAILABLE = 80
4016+ PF_ARM_SME_F8F32_INSTRUCTIONS_AVAILABLE = 81
4017+ PF_ARM_SME_F8F16_INSTRUCTIONS_AVAILABLE = 82
4018+ PF_ARM_SME_F16F16_INSTRUCTIONS_AVAILABLE = 83
4019+ PF_ARM_SME_B16B16_INSTRUCTIONS_AVAILABLE = 84
4020+ PF_ARM_SME_F64F64_INSTRUCTIONS_AVAILABLE = 85
4021+ PF_ARM_SME_I16I64_INSTRUCTIONS_AVAILABLE = 86
4022+ PF_ARM_SME_LUTv2_INSTRUCTIONS_AVAILABLE = 87
4023+ PF_ARM_SME_FA64_INSTRUCTIONS_AVAILABLE = 88
4024+ PF_UMONITOR_INSTRUCTION_AVAILABLE = 89
4025+ )
0 commit comments