Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Determina se o recurso de processador especificado é compatível com o computador atual.
Sintaxe
BOOL IsProcessorFeaturePresent(
[in] DWORD ProcessorFeature
);
Parâmetros
[in] ProcessorFeature
O recurso de processador a ser testado. Esse parâmetro pode ser um dos valores a seguir.
| Value | Meaning |
|---|---|
|
As instruções atômicas de carregamento/armazenamento de 64 bits estão disponíveis. |
|
As instruções de divisão estão disponíveis. |
|
O cache externo está disponível. |
|
A instrução de multiplicação-acumulação de ponto flutuante está disponível. |
|
O banco de registro VFP/Neon: 32 x 64bits está presente. Esse sinalizador tem o mesmo significado que PF_ARM_VFP_EXTENDED_REGISTERS. |
|
O conjunto de instruções 3D-Now está disponível. |
|
Os canais do processador estão habilitados. |
|
A operação de comparação atômica e troca (cmpxchg) está disponível. |
|
A operação de comparação atômica e troca de 128 bits (cmpxchg16b) está disponível.
Windows Server 2003 e Windows XP/2000: Não há suporte para esse recurso. |
|
A comparação atômica de 64 e a operação de troca de 128 bits (cmp8xchg16) estão disponíveis.
Windows Server 2003 e Windows XP/2000: Não há suporte para esse recurso. |
|
_fastfail() está disponível. |
|
As operações de ponto flutuante são emuladas usando um emulador de software.
Essa função retornará um valor diferente de zero se operações de ponto flutuante forem emuladas; caso contrário, ele retornará zero. |
|
Em um Pentium, um erro de precisão de ponto flutuante pode ocorrer em circunstâncias raras. |
|
O conjunto de instruções MMX está disponível. |
|
A prevenção de execução de dados está habilitada. Windows XP/2000: Esse recurso não tem suporte até o Windows XP com SP2 e Windows Server 2003 com SP1. |
|
O processador está habilitado para PAE. Para obter mais informações, consulte a Extensão de Endereço Físico.
Todos os processadores x64 sempre retornam um valor diferente de zero para esse recurso. |
|
A instrução RDTSC está disponível. |
|
As instruções RDFSBASE, RDGSBASE, WRFSBASE e WRGSBASE estão disponíveis. |
|
A Tradução de Endereço de Segundo Nível é compatível com o hardware. |
|
O conjunto de instruções SSE3 está disponível.
Windows Server 2003 e Windows XP/2000: Não há suporte para esse recurso. |
|
O conjunto de instruções SSSE3 está disponível. |
|
O conjunto de instruções SSE4_1 está disponível. |
|
O conjunto de instruções SSE4_2 está disponível. |
|
O conjunto de instruções do AVX está disponível. |
|
O conjunto de instruções AVX2 está disponível. |
|
O conjunto de instruções AVX512F está disponível. |
|
A virtualização é habilitada no firmware e disponibilizada pelo sistema operacional. |
|
O conjunto de instruções SSE está disponível. |
|
O conjunto de instruções SSE2 está disponível.
Windows 2000: Não há suporte para esse recurso. |
|
O processador implementa as instruções XSAVE e XRSTOR.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP/2000: Esse recurso não tem suporte até o Windows 7 e o Windows Server 2008 R2. |
|
Esse processador Arm implementa o conjunto de instruções arm v8. |
|
Esse processador Arm implementa as instruções criptográficas adicionais arm v8 (por exemplo, AES, SHA1 e SHA2). |
|
Esse processador Arm implementa as instruções adicionais de CRC32 do Arm v8. |
|
Esse processador Arm implementa as instruções atômicas arm v8.1 (por exemplo, CAS, SWP). |
|
Esse processador Arm implementa as instruções de DP do Arm v8.2 (por exemplo, SDOT, UDOT). Esse recurso é opcional nas implementações do Arm v8.2 e obrigatório nas implementações do Arm v8.4. |
|
Esse processador Arm implementa as instruções JSCVT do Arm v8.3 (por exemplo, FJCVTZS). |
|
Esse processador Arm implementa as instruções LRCPC do Arm v8.3 (por exemplo, LDAPR). Observe que determinadas CPUs do Arm v8.2 podem, opcionalmente, dar suporte às instruções LRCPC. |
|
Esse processador Arm implementa as instruções SVE (Extensão de Vetor Escalonável) (FEAT_SVE). |
|
Esse processador Arm implementa as instruções SVE2 (FEAT_SVE2). |
|
Esse processador Arm implementa as instruções SVE2.1 (FEAT_SVE2p1). |
|
Esse processador Arm implementa as instruções do SVE AES (FEAT_SVE_AES). |
|
Esse processador Arm implementa as instruções longas de multiplicação polinomial SVE de 128 bits (FEAT_SVE_PMULL128). |
|
Esse processador Arm implementa as instruções de permute de bit SVE (FEAT_SVE_BitPerm). |
|
Esse processador Arm implementa as instruções do SVE BF16 (BFloat16) (FEAT_BF16). |
|
Esse processador Arm implementa as instruções SVE EBF16 (Extended BFloat16) (FEAT_EBF16). |
|
Esse processador Arm implementa as instruções SVE B16B16 (FEAT_SVE_B16B16). |
|
Esse processador Arm implementa as instruções criptográficas SVE SHA-3 (FEAT_SVE_SHA3). |
|
Esse processador Arm implementa as instruções criptográficas SM4 do SVE (FEAT_SVE_SM4). |
|
Esse processador Arm implementa as instruções SVE I8MM (multiplicação de matriz Int8) (FEAT_I8MM). |
|
Esse processador Arm implementa as instruções SVE F32MM (multiplicação de matriz FP32) (FEAT_F32MM). |
|
Esse processador Arm implementa as instruções SVE F64MM (multiplicação de matriz FP64) (FEAT_F64MM). |
|
Este processador x64 implementa o conjunto de instruções BMI2. |
|
Este processador x64 implementa a instrução MOVDIR64B. |
|
Esse processador Arm implementa as instruções atômicas DO LSE2 (FEAT_LSE2). |
|
Esse processador Arm implementa as instruções criptográficas SHA-3 (FEAT_SHA3). |
|
Esse processador Arm implementa as instruções criptográficas SHA-512 (FEAT_SHA512). |
|
Esse processador Arm implementa as instruções NEON (multiplicação de matriz int8) do I8MM (FEAT_I8MM). |
|
Esse processador Arm implementa as instruções NEON FP16 (ponto flutuante de meia precisão) (FEAT_FP16). |
|
Esse processador Arm implementa as instruções NEON BF16 (BFloat16) (FEAT_BF16). |
|
Esse processador Arm implementa as instruções NEON do EBF16 (Extended BFloat16) (FEAT_EBF16). |
|
Esse processador Arm implementa as instruções SME (Extensão de Matriz Escalonável) (FEAT_SME). |
|
Esse processador Arm implementa as instruções SME2 (FEAT_SME2). |
|
Esse processador Arm implementa as instruções do SME2.1 (FEAT_SME2p1). |
|
Esse processador Arm implementa as instruções SME2.2 (FEAT_SME2p2). |
|
Esse processador Arm implementa as instruções do SVE AES no modo SVE de streaming (FEAT_SSVE_AES). |
|
Esse processador Arm implementa as instruções de permute de bit SVE quando estiver no modo SVE de Streaming (FEAT_SSVE_BitPerm). |
|
Esse processador Arm implementa a instrução SVE FMMLA (ampliação, 4 vias, FP8 para FP16) quando estiver no modo SVE de Streaming (FEAT_SSVE_F8F16MM). |
|
Esse processador Arm implementa a instrução SVE FMMLA (ampliação, 8 vias, FP8 para FP32) quando estiver no modo SVE de Streaming (FEAT_SSVE_F8F32MM). |
|
Esse processador Arm implementa as instruções de FP8DOT2 SVE2 quando estiver no modo SVE de Streaming (FEAT_SSVE_FP8DOT2). |
|
Esse processador Arm implementa as instruções de FP8DOT4 SVE2 quando estiver no modo SVE de Streaming (FEAT_SSVE_FP8DOT4). |
|
Esse processador Arm implementa as instruções SVE2 FP8FMA quando estiver no modo SVE de Streaming (FEAT_SSVE_FP8FMA). |
|
Esse processador Arm implementa as instruções SME F8F32 (FEAT_SME_F8F32). |
|
Esse processador Arm implementa as instruções SME F8F16 (FEAT_SME_F8F16). |
|
Esse processador Arm implementa as instruções SME F16F16 (FEAT_SME_F16F16). |
|
Esse processador Arm implementa as instruções do SME B16B16 (FEAT_SME_B16B16). |
|
Esse processador Arm implementa as instruções SME F64F64 (FEAT_SME_F64F64). |
|
Esse processador Arm implementa as instruções do SME I16I64 (FEAT_SME_I16I64). |
|
Esse processador Arm implementa as instruções do SME LUTv2 (FEAT_SME_LUTv2). |
|
Esse processador Arm implementa o SME FA64 (conjunto de instruções AArch64 completo quando estiver no modo SVE de Streaming) (FEAT_SME_FA64). |
|
Este processador x64 implementa a instrução UMONITOR. |
Valor de retorno
Se houver suporte para o recurso, o valor retornado será um valor diferente de zero.
Se o recurso não tiver suporte, o valor retornado será zero.
Se o HAL não oferecer suporte à detecção do recurso, se o hardware dá suporte ou não ao recurso, o valor retornado também será zero.
Observações
O suporte por PF_SSSE3_INSTRUCTIONS_AVAILABLE meio PF_AVX512F_INSTRUCTIONS_AVAILABLE foi adicionado ao SDK do Windows (19041) e tem suporte do Windows 10, versão 2004 (Atualização de maio de 2020) ou posterior.
Suporte para PF_ERMS_AVAILABLE, PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLEe PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE foram adicionados no SDK do Windows (20348) e são compatíveis com o Windows 11 e o Windows Server 2022.
A definição PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE foi adicionada no SDK do Windows (22621) e tem suporte do Windows 11, versão 22H2.
O suporte por PF_ARM_SVE_INSTRUCTIONS_AVAILABLE completo PF_ARM_SHA3_INSTRUCTIONS_AVAILABLEPF_MOVDIR64B_INSTRUCTION_AVAILABLEPF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE foi adicionado ao SDK do Windows (26100) e tem suporte do Windows 11, versão 24H2 e Windows Server 2025 ou posterior.
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
| Servidor mínimo compatível | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
| da Plataforma de Destino |
Windows |
| Header | processthreadsapi.h (inclua Windows.h) |
| Library | Kernel32.lib |
| de DLL | Kernel32.dll |