为 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寄存器YMM和ZMM寄存器的 x64 软件约定,并且规则调用方必须遵循这些约定来保留它们。 -
异常处理展开信息 V3
V3 展开信息格式的预览规范,用于描述 x64 代码的 prolog、epilog 和框架布局,包括 APX 引入的扩展状态。
在 Visual Studio 中设置 /feature 编译器选项
- 打开项目的“属性页”对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性。
- 选择“配置属性”“C/C++”>“命令行”属性页>。
- 在 “其他选项 ”框中,添加
/feature:APX。 选择“确定”以保存更改 。
以编程方式设置此编译器选项
- 请参阅 AdditionalOptions。