Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Determines whether the specified processor feature is supported by the current computer.
Syntax
BOOL IsProcessorFeaturePresent(
[in] DWORD ProcessorFeature
);
Parameters
[in] ProcessorFeature
The processor feature to be tested. This parameter can be one of the following values.
| Value | Meaning |
|---|---|
|
The 64-bit load/store atomic instructions are available. |
|
The divide instructions are available. |
|
The external cache is available. |
|
The floating-point multiply-accumulate instruction is available. |
|
The VFP/Neon: 32 x 64bit register bank is present. This flag has the same meaning as PF_ARM_VFP_EXTENDED_REGISTERS. |
|
The 3D-Now instruction set is available. |
|
The processor channels are enabled. |
|
The atomic compare and exchange operation (cmpxchg) is available. |
|
The atomic compare and exchange 128-bit operation (cmpxchg16b) is available.
Windows Server 2003 and Windows XP/2000: This feature is not supported. |
|
The atomic compare 64 and exchange 128-bit operation (cmp8xchg16) is available.
Windows Server 2003 and Windows XP/2000: This feature is not supported. |
|
_fastfail() is available. |
|
Floating-point operations are emulated using a software emulator.
This function returns a nonzero value if floating-point operations are emulated; otherwise, it returns zero. |
|
On a Pentium, a floating-point precision error can occur in rare circumstances. |
|
The MMX instruction set is available. |
|
Data execution prevention is enabled. Windows XP/2000: This feature is not supported until Windows XP with SP2 and Windows Server 2003 with SP1. |
|
The processor is PAE-enabled. For more information, see
Physical Address Extension.
All x64 processors always return a nonzero value for this feature. |
|
The RDTSC instruction is available. |
|
RDFSBASE, RDGSBASE, WRFSBASE, and WRGSBASE instructions are available. |
|
Second Level Address Translation is supported by the hardware. |
|
The SSE3 instruction set is available.
Windows Server 2003 and Windows XP/2000: This feature is not supported. |
|
The SSSE3 instruction set is available. |
|
The SSE4_1 instruction set is available. |
|
The SSE4_2 instruction set is available. |
|
The AVX instruction set is available. |
|
The AVX2 instruction set is available. |
|
The AVX512F instruction set is available. |
|
Virtualization is enabled in the firmware and made available by the operating system. |
|
The SSE instruction set is available. |
|
The SSE2 instruction set is available.
Windows 2000: This feature is not supported. |
|
The processor implements the XSAVE and XRSTOR instructions.
Windows Server 2008, Windows Vista, Windows Server 2003 and Windows XP/2000: This feature is not supported until Windows 7 and Windows Server 2008 R2. |
|
This Arm processor implements the Arm v8 instructions set. |
|
This Arm processor implements the Arm v8 extra cryptographic instructions (for example, AES, SHA1 and SHA2). |
|
This Arm processor implements the Arm v8 extra CRC32 instructions. |
|
This Arm processor implements the Arm v8.1 atomic instructions (for example, CAS, SWP). |
|
This Arm processor implements the Arm v8.2 DP instructions (for example, SDOT, UDOT). This feature is optional in Arm v8.2 implementations and mandatory in Arm v8.4 implementations. |
|
This Arm processor implements the Arm v8.3 JSCVT instructions (for example, FJCVTZS). |
|
This Arm processor implements the Arm v8.3 LRCPC instructions (for example, LDAPR). Note that certain Arm v8.2 CPUs may optionally support the LRCPC instructions. |
|
This Arm processor implements the SVE (Scalable Vector Extension) instructions (FEAT_SVE). |
|
This Arm processor implements the SVE2 instructions (FEAT_SVE2). |
|
This Arm processor implements the SVE2.1 instructions (FEAT_SVE2p1). |
|
This Arm processor implements the SVE AES instructions (FEAT_SVE_AES). |
|
This Arm processor implements the SVE 128-bit polynomial multiply long instructions (FEAT_SVE_PMULL128). |
|
This Arm processor implements the SVE bit permute instructions (FEAT_SVE_BitPerm). |
|
This Arm processor implements the SVE BF16 (BFloat16) instructions (FEAT_BF16). |
|
This Arm processor implements the SVE EBF16 (Extended BFloat16) instructions (FEAT_EBF16). |
|
This Arm processor implements the SVE B16B16 instructions (FEAT_SVE_B16B16). |
|
This Arm processor implements the SVE SHA-3 cryptographic instructions (FEAT_SVE_SHA3). |
|
This Arm processor implements the SVE SM4 cryptographic instructions (FEAT_SVE_SM4). |
|
This Arm processor implements the SVE I8MM (Int8 matrix multiply) instructions (FEAT_I8MM). |
|
This Arm processor implements the SVE F32MM (FP32 matrix multiply) instructions (FEAT_F32MM). |
|
This Arm processor implements the SVE F64MM (FP64 matrix multiply) instructions (FEAT_F64MM). |
|
This x64 processor implements the BMI2 instruction set. |
|
This x64 processor implements the MOVDIR64B instruction. |
|
This Arm processor implements the LSE2 atomic instructions (FEAT_LSE2). |
|
This Arm processor implements the SHA-3 cryptographic instructions (FEAT_SHA3). |
|
This Arm processor implements the SHA-512 cryptographic instructions (FEAT_SHA512). |
|
This Arm processor implements the I8MM (Int8 matrix multiply) NEON instructions (FEAT_I8MM). |
|
This Arm processor implements the FP16 (half-precision floating point) NEON instructions (FEAT_FP16). |
|
This Arm processor implements the BF16 (BFloat16) NEON instructions (FEAT_BF16). |
|
This Arm processor implements the EBF16 (Extended BFloat16) NEON instructions (FEAT_EBF16). |
|
This Arm processor implements the SME (Scalable Matrix Extension) instructions (FEAT_SME). |
|
This Arm processor implements the SME2 instructions (FEAT_SME2). |
|
This Arm processor implements the SME2.1 instructions (FEAT_SME2p1). |
|
This Arm processor implements the SME2.2 instructions (FEAT_SME2p2). |
|
This Arm processor implements the SVE AES instructions when in Streaming SVE mode (FEAT_SSVE_AES). |
|
This Arm processor implements the SVE bit permute instructions when in Streaming SVE mode (FEAT_SSVE_BitPerm). |
|
This Arm processor implements the SVE FMMLA (widening, 4-way, FP8 to FP16) instruction when in Streaming SVE mode (FEAT_SSVE_F8F16MM). |
|
This Arm processor implements the SVE FMMLA (widening, 8-way, FP8 to FP32) instruction when in Streaming SVE mode (FEAT_SSVE_F8F32MM). |
|
This Arm processor implements the SVE2 FP8DOT2 instructions when in Streaming SVE mode (FEAT_SSVE_FP8DOT2). |
|
This Arm processor implements the SVE2 FP8DOT4 instructions when in Streaming SVE mode (FEAT_SSVE_FP8DOT4). |
|
This Arm processor implements the SVE2 FP8FMA instructions when in Streaming SVE mode (FEAT_SSVE_FP8FMA). |
|
This Arm processor implements the SME F8F32 instructions (FEAT_SME_F8F32). |
|
This Arm processor implements the SME F8F16 instructions (FEAT_SME_F8F16). |
|
This Arm processor implements the SME F16F16 instructions (FEAT_SME_F16F16). |
|
This Arm processor implements the SME B16B16 instructions (FEAT_SME_B16B16). |
|
This Arm processor implements the SME F64F64 instructions (FEAT_SME_F64F64). |
|
This Arm processor implements the SME I16I64 instructions (FEAT_SME_I16I64). |
|
This Arm processor implements the SME LUTv2 instructions (FEAT_SME_LUTv2). |
|
This Arm processor implements SME FA64 (Full AArch64 instruction set when in Streaming SVE mode) (FEAT_SME_FA64). |
|
This x64 processor implements the UMONITOR instruction. |
Return value
If the feature is supported, the return value is a nonzero value.
If the feature is not supported, the return value is zero.
If the HAL does not support detection of the feature, whether or not the hardware supports the feature, the return value is also zero.
Remarks
Support for PF_SSSE3_INSTRUCTIONS_AVAILABLE through PF_AVX512F_INSTRUCTIONS_AVAILABLE were added in the Windows SDK (19041) and are supported by Windows 10, Version 2004 (May 2020 Update) or later.
Support for PF_ERMS_AVAILABLE, PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE, and PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE were added in the Windows SDK (20348) and are supported by Windows 11 and Windows Server 2022.
The define PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE was added in the Windows SDK (22621) and is supported by Windows 11, Version 22H2.
Support for PF_ARM_SVE_INSTRUCTIONS_AVAILABLE through PF_MOVDIR64B_INSTRUCTION_AVAILABLE and PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE through PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE were added in the Windows SDK (26100) and are supported by Windows 11, version 24H2 and Windows Server 2025 or later.
Requirements
| Requirement | Value |
|---|---|
| Minimum supported client | Windows 2000 Professional [desktop apps | UWP apps] |
| Minimum supported server | Windows 2000 Server [desktop apps | UWP apps] |
| Target Platform | Windows |
| Header | processthreadsapi.h (include Windows.h) |
| Library | Kernel32.lib |
| DLL | Kernel32.dll |