/feature (x64)

Activez une ou plusieurs fonctionnalités d’architecture pour la génération de code x64.

Note

/feature:APX la prise en charge est expérimentale et susceptible de changer.

Syntax

/feature:<arg>

Arguments

Pour activer une ou plusieurs fonctionnalités prises en charge par la cible x64, spécifiez un ou plusieurs des arguments de fonctionnalité suivants :

Argument de fonctionnalité Description Prise en charge dans la version
APX Active la prise en charge de la préversion pour Intel APX (Advanced Performance Extensions). Permet au compilateur de cibler différentes fonctionnalités APX telles que les registres de General-Purpose étendus (EGPR), la nouvelle destination de données (NDD), la mise à jour No-Flags (NF), les nouvelles opérations d’enregistrement/restauration conditionnelles d’ISA et d’enregistrements optimisés. Pour plus d’informations, consultez Intel Advanced Performance Extensions (APX). MSVC Build Tools 14.51 (prise en charge de la préversion)

Remarques

Exemple d’utilisation : pour activer APX, spécifiez /feature:APX.

Quand /feature:APX elle est spécifiée, les macros de préprocesseur suivantes sont définies : __APX_F__, , , __CCMP____CF__, __EGPR__, __NDD__, __NF__, , __PPX____PUSH2POP2__et __ZU__. Pour plus d’informations, consultez Microsoft macros prédéfinies spécifiques.

APX étend l’architecture x64 avec de nouveaux registres et instructions, ce qui affecte la façon dont le compilateur génère des appels, conserve l’état au-delà des limites de fonction et émet des métadonnées de déroulement. Les articles suivants décrivent les conventions x64 et les informations de déroulement relatives à APX :

  • Registres enregistrés de l’appelant/appelé
    Décrit les registres d’un appelé à conserver et dont l’appelant est responsable de l’enregistrement sur un appel x64.
  • setjmp/longjmp
    Explique comment les sauts non locaux capturent et restaurent l’état de registre nonvolatile sur x64, y compris les registres qui participent à la mémoire tampon de saut.
  • Inscrire la volatilité et la conservation
    Résume les conventions logicielles x64 pour les logiciels volatiles et nonvolatiles à usage général, XMMet YMMles registres, et ZMM les règles appelées doivent suivre pour les conserver.
  • Informations de déroulement des exceptions V3
    Spécification préliminaire du format d’informations de déroulement V3 utilisé pour décrire les prologs, les épilogues et la disposition de trame pour le code x64, y compris l’état étendu introduit par APX.

Pour définir l’option du /feature compilateur dans Visual Studio

  1. Ouvrez la boîte de dialogue Pages de propriétés du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.
  2. Sélectionnez la page de propriétés Propriétés de configuration>C/C++>Ligne de commande.
  3. Dans la zone Options supplémentaires , ajoutez /feature:APX. Sélectionnez OK pour enregistrer vos modifications.

Pour définir cette option du compilateur par programmation

Voir aussi

/arch (x64)
/arch (Architecture minimale du processeur)
Options du compilateur MSVC
Syntaxe de ligne de commande du compilateur MSVC