Sun Studio 12 Update 1:C++ 用户指南

A.2.187 -xvector[= a]

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

a 可以为下列值:

表 A–52 -xvector 标志

值 

含义  

[no%]lib

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

[no%]simd

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

yes

此选项已过时,改为指定 -xvector=lib

no

此选项已过时,改为指定 -xvector=none

A.2.187.1 缺省值

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

交互

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

在装入步骤中,编译器包含 libmvec 库。

如果使用单独的命令进行编译和链接,应确保在链接 CC 命令中使用 -xvector。有关在编译时和链接时都必须指定的选项的完整列表,请参见3.3.3 编译时选项和链接时选项