-qvecnvol

适用的调用

表 1. 接受给定选项的调用
选项 xlc (编译 C) xlC (编译 C++) xlclang(编译 C) xlclang++(编译 C++)
-qvecnvol
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表

类别

可移植性和迁移

等效编译指示

无。

用途

指定是使用易失性还是非易失性向量寄存器。

语法

读取语法图跳过可视语法图 -q novecnvol vecnvol

缺省值

-qnovecnvol

使用量

Volatile 向量寄存器是那些其值未在函数调用之间或在保存上下文,跳转或切换上下文系统库函数之间保留的值。 当 -qvecnvol 生效时,编译器将同时使用易失性向量寄存器和非易失性向量寄存器。 当 -qnovecnvol 生效时,编译器仅使用易失性向量寄存器。

对于使用 AIX® 库 在 AIX 5.3TL3 之前 构建的模块与向量寄存器使用之间存在交互风险的程序,此选项是必需的。 将编译器限制为仅使用易失性寄存器将使您的向量程序安全,但这可能会强制编译器更频繁地将向量数据存储到内存中,从而降低性能。

备注信息:
  • 此选项需要支持向量指令的平台。
  • -qnovecnvol 选项独立于 -qsimd=auto | noauto-qaltivec | -qnoaltivecpragma=nosimd执行。
  • 在 AIX 5.3TL3之前,缺省情况下仅使用 20 个易失性寄存器 (vr0-vr19) ,而不使用 12 个非易失性向量寄存器 (vr20 - vr31)。 仅当 -qvecnvol 生效时,才能使用这些寄存器。
  • 仅当不涉及保存和复原非易失性寄存器的旧代码时,才应启用 -qvecnvol 。 使用 -qvecnvol 并与旧代码链接可能会导致运行时故障。

预定义的宏

无。

相关信息