Sun Studio 12:C 用户指南

B.2.152 -xvector[= a]

启用对向量库函数的调用的自动生成和/或 SIMD(Single Instruction Multiple Data,单个指令多个数据)指令的生成。使用此选项时,必须通过指定 -fround=nearest 来使用缺省的舍入模式。

a 可以为下列值:

表 B–41 -xvector 标志

值 

含义 

[no%]lib

如果循环内的数学库调用可转换为对等效向量数学例程的单个调用,则 [不] 允许编译器进行此类转换。此类转换可提高那些循环计数较大的循环的性能。 

[no%]simd

[不] 指示编译器使用本机 x86 SSE SIMD 指令来提高某些循环的性能。如果目标体系结构支持 SIMD 指令,则编译器只能接受此转换。例如,必须指定 -xarch=amd64-xarch=amd64a-xarch=generic64。还必须将优化级别指定为 -xO3 或更高级别,而且指定 -xvector=simd 时还必须指定 -xdepend

yes

在以后的发行版中可能会废弃此选项。改为指定 -xvector=lib

no

在以后的发行版中可能会废弃此选项。改为指定 -xvector=none

缺省值为 -xvector=%none。如果指定了 -xvector 但未提供标志,编译器将假定 -xvector=lib

如果在以前没有指定 -xdepend 的情况下在命令行上使用 -xvector,则 -xvector 会触发 -xdepend。如果未指定优化级别或优化级别低于 -x03,则 -xvector 选项还会将优化级别提高到 -x03

在装入步骤中,编译器包含 libmvec 库。如果使用不同的命令进行编译和链接,请确保在链接 cc 命令时使用 -xvector。有关在编译时和链接时都必须指定的所有编译器选项的完整列表,请参见表 A–2