-qvecnvol
适用的调用
| 选项 | xlc (编译 C) | xlC (编译 C++) | xlclang(编译 C) | xlclang++(编译 C++) |
|---|---|---|---|---|
| -qvecnvol | ✓ | ✓ | ✓ | ✓ |
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表 。
类别
等效编译指示
无。
用途
指定是使用易失性还是非易失性向量寄存器。
语法
缺省值
-qnovecnvol
使用量
Volatile 向量寄存器是那些其值未在函数调用之间或在保存上下文,跳转或切换上下文系统库函数之间保留的值。 当 -qvecnvol 生效时,编译器将同时使用易失性向量寄存器和非易失性向量寄存器。 当 -qnovecnvol 生效时,编译器仅使用易失性向量寄存器。
对于使用 AIX® 库 在 AIX 5.3TL3 之前 构建的模块与向量寄存器使用之间存在交互风险的程序,此选项是必需的。 将编译器限制为仅使用易失性寄存器将使您的向量程序安全,但这可能会强制编译器更频繁地将向量数据存储到内存中,从而降低性能。
备注信息:
- 此选项需要支持向量指令的平台。
- -qnovecnvol 选项独立于 -qsimd=auto | noauto, -qaltivec | -qnoaltivec 和 pragma=nosimd执行。
- 在 AIX 5.3TL3之前,缺省情况下仅使用 20 个易失性寄存器 (vr0-vr19) ,而不使用 12 个非易失性向量寄存器 (vr20 - vr31)。 仅当 -qvecnvol 生效时,才能使用这些寄存器。
- 仅当不涉及保存和复原非易失性寄存器的旧代码时,才应启用 -qvecnvol 。 使用 -qvecnvol 并与旧代码链接可能会导致运行时故障。
预定义的宏
无。
