/feature (x64)

为 x64 代码生成启用一个或多个体系结构功能。

注释

/feature:APX 支持是实验性的,可能会更改。

Syntax

/feature:<arg>

Arguments

若要启用 x64 目标支持的一个或多个功能,请指定以下一个或多个功能参数:

功能参数 Description 支持的版本
APX 启用对 Intel APX(高级性能扩展)的预览支持。 使编译器能够面向各种 APX 功能,例如扩展 General-Purpose 寄存器(EGPR)、新数据目标(NDD)、No-Flags 更新(NF)、新的条件 ISA 和优化的寄存器保存/还原操作。 有关详细信息,请参阅 Intel 高级性能扩展(APX)。 MSVC 生成工具 14.51 (预览版支持)

注解

示例用法:若要启用 APX,请指定 /feature:APX

指定后/feature:APX,将定义以下预处理器宏:__APX_F__、、、__CCMP____CF____EGPR____NDD____NF__、、__PPX____PUSH2POP2__和。__ZU__ 有关详细信息,请参阅特定于Microsoft预定义宏

APX 使用新的寄存器和指令扩展 x64 体系结构,这些寄存器和指令会影响编译器生成调用的方式、跨函数边界保留状态以及发出展开元数据。 以下文章介绍了与 APX 相关的 x64 约定和展开信息:

  • 调用方/被调用方保存的寄存器
    描述被调用方必须保留哪些寄存器,以及呼叫者负责在 x64 上跨呼叫进行保存。
  • setjmp/longjmp
    说明非本地跳转如何在 x64 上捕获和还原非易失性寄存器状态,包括参与跳转缓冲区的寄存器。
  • 注册波动性和保留性
    汇总了易失性和非易失性常规用途、 XMM寄存器 YMMZMM 寄存器的 x64 软件约定,并且规则调用方必须遵循这些约定来保留它们。
  • 异常处理展开信息 V3
    V3 展开信息格式的预览规范,用于描述 x64 代码的 prolog、epilog 和框架布局,包括 APX 引入的扩展状态。

在 Visual Studio 中设置 /feature 编译器选项

  1. 打开项目的“属性页”对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性
  2. 选择“配置属性”“C/C++”>“命令行”属性页>
  3. “其他选项 ”框中,添加 /feature:APX。 选择“确定”以保存更改 。

以编程方式设置此编译器选项

另请参阅

/arch (x64)
/arch (最低 CPU 体系结构)
MSVC 编译器选项
MSVC 编译器命令行语法