-qarch
类别
@PROCESS
无。
用途
指定可运行代码的处理器体系结构或体系结构系列。 这样,编译器可以最大限度地利用特定于某个体系结构的机器指令或者某个体系结构系列通用的机器指令。
语法
缺省值
- -qarch=pwr7
- -O4 或 -O5 生效时的 -qarch=auto
参数
- 自动
- 自动检测编译机器的特定体系结构。 它假定执行环境将与编译环境相同。 如果设置或隐式设置了 -O4 或 -O5 选项,那么隐式设置此选项。
- powerpc|ppc
- 在 32 位方式下,生成包含在任何 32 位 PowerPC® 硬件平台上运行的指令的对象代码。 powerpc 子选项使编译器生成用于单精度数据的单精度指令。 将 -qarch=powerpc 与 -q64 一起指定以静默方式将体系结构设置升级到 -qarch=powerpc64。
- powerpc64|ppc64
- 生成的对象代码可在 任何 64 位 PowerPC 硬件平台上运行。 在 32 位方式下编译时,可以选择 powerpc64 子选项,但生成的对象代码可能包含某些指令,这些指令在 32 位 PowerPC 平台上运行时无法被识别或行为有所不同。
- ppc64gr
- 建议不要使用此子选项。 尽管它仍被接受,但它会以静默方式升级到 -qarch=pwr7。
- ppc64grsq
- 建议不要使用此子选项。 尽管它仍被接受,但它会以静默方式升级到 -qarch=pwr7。
- ppc64v
- 建议不要使用此子选项。 即使它仍然被接受,也会静默升级到 -qarch=pwr7
- ppcgr
- 建议不要使用此子选项。 尽管它仍被接受,但它会以静默方式升级到 -qarch=pwr7。
- pwr7
- 生成的对象代码包含在 Power7、Power7+、Power8、Power9 或 Power10 硬件平台上运行的指令。
- pwr8
- 生成的对象代码包含在 Power8、Power9 或 Power10 硬件平台上运行的指令。
- pwr9
- 生成的对象代码包含在 Power9 或 Power10 硬件平台上运行的指令。
- pwr10
- 生成的对象代码包含在 Power10 硬件平台上运行的指令。
用途
为程序需要运行的最低体系结构指定 -qarch 级别。 移至更新的 -qarch 设置可能会提高性能。
对于给定的应用程序,请确保在编译其每个源文件时指定相同的 -qarch 设置。 虽然链接程序和装入程序可能会检测到使用不兼容的 -qarch 设置编译的对象文件,但您不应依赖该对象文件。
示例
要指定编译自
myprogram.f 的可执行程序 testing 将在具有 VSX 指令支持的计算机上运行,例如 power8,请输入:xlf -o testing myprogram.f -qarch=pwr8