Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Détermine si la fonctionnalité de processeur spécifiée est prise en charge par l’ordinateur actuel.
Syntaxe
BOOL IsProcessorFeaturePresent(
[in] DWORD ProcessorFeature
);
Paramètres
[in] ProcessorFeature
Fonctionnalité de processeur à tester. Ce paramètre peut être l’une des valeurs suivantes.
| Valeur | Meaning |
|---|---|
|
Les instructions atomiques de chargement/stockage 64 bits sont disponibles. |
|
Les instructions de division sont disponibles. |
|
Le cache externe est disponible. |
|
L’instruction de multiplication à virgule flottante est disponible. |
|
VFP/Neon : 32 x 64bits banque est présente. Cet indicateur a la même signification que PF_ARM_VFP_EXTENDED_REGISTERS. |
|
Le jeu d’instructions 3D-Now est disponible. |
|
Les canaux de processeur sont activés. |
|
L’opération de comparaison et d’échange atomique (cmpxchg) est disponible. |
|
L’opération de comparaison atomique et d’échange 128 bits (cmpxchg16b) est disponible.
Windows Server 2003 et Windows XP/2000 : Cette fonctionnalité n’est pas prise en charge. |
|
L’opération de comparaison atomique 64 et exchange 128 bits (cmp8xchg16) est disponible.
Windows Server 2003 et Windows XP/2000 : Cette fonctionnalité n’est pas prise en charge. |
|
_fastfail() est disponible. |
|
Les opérations à virgule flottante sont émulées à l’aide d’un émulateur logiciel.
Cette fonction retourne une valeur différente de zéro si les opérations à virgule flottante sont émulées ; sinon, elle retourne zéro. |
|
Sur un Pentium, une erreur de précision à virgule flottante peut se produire dans de rares circonstances. |
|
Le jeu d’instructions MMX est disponible. |
|
La prévention de l’exécution des données est activée. Windows XP/2000 : Cette fonctionnalité n’est pas prise en charge tant que Windows XP avec SP2 et Windows Server 2003 avec SP1. |
|
Le processeur est compatible paE. Pour plus d’informations, consultez l’extension d’adresse physique.
Tous les processeurs x64 retournent toujours une valeur différente de zéro pour cette fonctionnalité. |
|
L’instruction RDTSC est disponible. |
|
Les instructions RDFSBASE, RDGSBASE, WRFSBASE et WRGSBASE sont disponibles. |
|
La traduction d’adresses de deuxième niveau est prise en charge par le matériel. |
|
Le jeu d’instructions SSE3 est disponible.
Windows Server 2003 et Windows XP/2000 : Cette fonctionnalité n’est pas prise en charge. |
|
Le jeu d’instructions SSSE3 est disponible. |
|
Le jeu d’instructions SSE4_1 est disponible. |
|
Le jeu d’instructions SSE4_2 est disponible. |
|
Le jeu d’instructions AVX est disponible. |
|
Le jeu d’instructions AVX2 est disponible. |
|
Le jeu d’instructions AVX512F est disponible. |
|
La virtualisation est activée dans le microprogramme et mise à disposition par le système d’exploitation. |
|
Le jeu d’instructions SSE est disponible. |
|
Le jeu d’instructions SSE2 est disponible.
Windows 2000 : Cette fonctionnalité n’est pas prise en charge. |
|
Le processeur implémente les instructions XSAVE et XRSTOR.
Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP/2000 : Cette fonctionnalité n’est pas prise en charge tant que Windows 7 et Windows Server 2008 R2 ne sont pas pris en charge. |
|
Ce processeur Arm implémente le jeu d’instructions Arm v8. |
|
Ce processeur Arm implémente les instructions de chiffrement supplémentaires Arm v8 (par exemple, AES, SHA1 et SHA2). |
|
Ce processeur Arm implémente les instructions ARM v8 extra CRC32. |
|
Ce processeur Arm implémente les instructions atomiques Arm v8.1 (par exemple, CAS, SWP). |
|
Ce processeur Arm implémente les instructions arm v8.2 DP (par exemple, SDOT, UDOT). Cette fonctionnalité est facultative dans les implémentations Arm v8.2 et obligatoires dans les implémentations Arm v8.4. |
|
Ce processeur Arm implémente les instructions JSCVT Arm v8.3 (par exemple, FJCVTZS). |
|
Ce processeur Arm implémente les instructions LRCPC Arm v8.3 (par exemple, LDAPR). Notez que certaines UC Arm v8.2 peuvent éventuellement prendre en charge les instructions LRCPC. |
|
Ce processeur Arm implémente les instructions SVE (Scalable Vector Extension) (FEAT_SVE). |
|
Ce processeur Arm implémente les instructions SVE2 (FEAT_SVE2). |
|
Ce processeur Arm implémente les instructions SVE2.1 (FEAT_SVE2p1). |
|
Ce processeur Arm implémente les instructions SVE AES (FEAT_SVE_AES). |
|
Ce processeur Arm implémente la polynomiale SVE 128 bits multiplie les instructions longues (FEAT_SVE_PMULL128). |
|
Ce processeur Arm implémente les instructions de permute de bits SVE (FEAT_SVE_BitPerm). |
|
Ce processeur Arm implémente les instructions SVE BF16 (BFloat16) (FEAT_BF16). |
|
Ce processeur Arm implémente les instructions SVE EBF16 (Extended BFloat16) (FEAT_EBF16). |
|
Ce processeur Arm implémente les instructions SVE B16B16 (FEAT_SVE_B16B16). |
|
Ce processeur Arm implémente les instructions de chiffrement SVE SHA-3 (FEAT_SVE_SHA3). |
|
Ce processeur Arm implémente les instructions de chiffrement SVE SM4 (FEAT_SVE_SM4). |
|
Ce processeur Arm implémente les instructions SVE I8MM (matrice Int8 multiplie) (FEAT_I8MM). |
|
Ce processeur Arm implémente les instructions de multiplication de la matrice SVE F32MM (FP32) (FEAT_F32MM). |
|
Ce processeur Arm implémente les instructions SVE F64MM (matrice FP64 multiplie) (FEAT_F64MM). |
|
Ce processeur x64 implémente le jeu d’instructions BMI2. |
|
Ce processeur x64 implémente l’instruction MOVDIR64B. |
|
Ce processeur Arm implémente les instructions atomiques LSE2 (FEAT_LSE2). |
|
Ce processeur Arm implémente les instructions de chiffrement SHA-3 (FEAT_SHA3). |
|
Ce processeur Arm implémente les instructions de chiffrement SHA-512 (FEAT_SHA512). |
|
Ce processeur Arm implémente les instructions NEON (FEAT_I8MM) I8MM (matrice Int8 multiplie). |
|
Ce processeur Arm implémente les instructions NEON (à virgule flottante demi-précision) FP16 (FEAT_FP16). |
|
Ce processeur Arm implémente les instructions NEON BF16 (BFloat16) (FEAT_BF16). |
|
Ce processeur Arm implémente les instructions NEON EBF16 (Extended BFloat16) (FEAT_EBF16). |
|
Ce processeur Arm implémente les instructions sme (Scalable Matrix Extension) (FEAT_SME). |
|
Ce processeur Arm implémente les instructions SME2 (FEAT_SME2). |
|
Ce processeur Arm implémente les instructions SME2.1 (FEAT_SME2p1). |
|
Ce processeur Arm implémente les instructions SME2.2 (FEAT_SME2p2). |
|
Ce processeur Arm implémente les instructions SVE AES lors de la diffusion en continu en mode SVE (FEAT_SSVE_AES). |
|
Ce processeur Arm implémente les instructions de permute de bits SVE lors de la diffusion en continu en mode SVE (FEAT_SSVE_BitPerm). |
|
Ce processeur Arm implémente l’instruction FMMLA SVE (étendue, 4 voies, FP8 à FP16) lors de la diffusion en continu en mode SVE (FEAT_SSVE_F8F16MM). |
|
Ce processeur Arm implémente l’instruction FMMLA SVE (étendue, 8 voies, FP8 à FP32) lors de la diffusion en continu en mode SVE (FEAT_SSVE_F8F32MM). |
|
Ce processeur Arm implémente les instructions de FP8DOT2 SVE2 lors de la diffusion en continu en mode SVE (FEAT_SSVE_FP8DOT2). |
|
Ce processeur Arm implémente les instructions de FP8DOT4 SVE2 lors de la diffusion en continu en mode SVE (FEAT_SSVE_FP8DOT4). |
|
Ce processeur Arm implémente les instructions SVE2 FP8FMA lors de la diffusion en continu en mode SVE (FEAT_SSVE_FP8FMA). |
|
Ce processeur Arm implémente les instructions SME F8F32 (FEAT_SME_F8F32). |
|
Ce processeur Arm implémente les instructions SME F8F16 (FEAT_SME_F8F16). |
|
Ce processeur Arm implémente les instructions SME F16F16 (FEAT_SME_F16F16). |
|
Ce processeur Arm implémente les instructions SME B16B16 (FEAT_SME_B16B16). |
|
Ce processeur Arm implémente les instructions SME F64F64 (FEAT_SME_F64F64). |
|
Ce processeur Arm implémente les instructions DE PME I16I64 (FEAT_SME_I16I64). |
|
Ce processeur Arm implémente les instructions SME LUTv2 (FEAT_SME_LUTv2). |
|
Ce processeur Arm implémente SME FA64 (instruction Full AArch64 set when in Streaming SVE mode) (FEAT_SME_FA64). |
|
Ce processeur x64 implémente l’instruction UMONITOR. |
Valeur retournée
Si la fonctionnalité est prise en charge, la valeur de retour est une valeur différente de zéro.
Si la fonctionnalité n’est pas prise en charge, la valeur de retour est égale à zéro.
Si hal ne prend pas en charge la détection de la fonctionnalité, si le matériel prend en charge la fonctionnalité, la valeur de retour est également égale à zéro.
Remarques
PF_SSSE3_INSTRUCTIONS_AVAILABLE La prise en charge du biais PF_AVX512F_INSTRUCTIONS_AVAILABLE a été ajoutée dans le Kit de développement logiciel (SDK) Windows (19041) et sont prises en charge par Windows 10, version 2004 (mise à jour de mai 2020) ou ultérieure.
Prise en charge de PF_ERMS_AVAILABLE, PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLEet PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE ont été ajoutées dans le Kit de développement logiciel (SDK) Windows (20348) et sont prises en charge par Windows 11 et Windows Server 2022.
La définition PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE a été ajoutée dans le Kit de développement logiciel (SDK) Windows (22621) et est prise en charge par Windows 11, version 22H2.
PF_ARM_SVE_INSTRUCTIONS_AVAILABLE
PF_ARM_V86_EBF16_INSTRUCTIONS_AVAILABLE
PF_ARM_SHA3_INSTRUCTIONS_AVAILABLE
PF_MOVDIR64B_INSTRUCTION_AVAILABLE La prise en charge du kit de développement logiciel (SDK) Windows (26100) a été ajoutée et prise en charge par Windows 11, version 24H2 et Windows Server 2025 ou ultérieure.
Spécifications
| Requirement | Valeur |
|---|---|
| Client minimum requis | Windows 2000 Professionnel [applications de bureau | Applications UWP] |
| Serveur minimal pris en charge | Windows 2000 Server [applications de bureau | Applications UWP] |
| plateforme cible | Fenêtres |
| Header | processthreadsapi.h (include Windows.h) |
| Library | Kernel32.lib |
| DLL | Kernel32.dll |