Sun Studio 12:C++ 用户指南

A.2.178 -xvector[= a]

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

a 可以为下列值:

表 A–53 -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

A.2.178.1 缺省值

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

交互

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

在装入步骤中,编译器包含 libmvec 库。如果使用单独的命令进行编译和链接,应确保在链接 CC 命令中使用 -xvector