Sun Studio 12 Update 1:Fortran 用户指南

3.4.175 –xvector[= [[ no%]lib, [no%] simd, %none] ]

启用对向量库函数调用的自动生成。

在使用 -xvector 进行编译时,此选项要求使用缺省舍入模式 -fround=nearest 进行编译。

-xvector=lib(仅适用于 Solaris 平台),允许编译器将循环内的数学库调用转换为对等效向量数学例程的单个调用(如果能够进行此类转换的话)。此类转换可提高那些循环计数较大的循环的性能。-xvector=no%lib 将禁用此功能。

-xvector=simd 使得编译器可以使用本机 x86 SSE SIMD 指令来提高某些循环的性能。如果目标体系结构支持 SIMD 指令,则编译器只能接受此转换。例如,必须指定 -xarch=sse2 -m64-xarch=generic64。还必须指定 -xO3 或更高的优化级别,以及 -xdepend-xvector=simd-xvector=no%simd 将禁用此功能。

如果您同时指定了 -xvector=simd-fsimple=2,则可以获得比单独指定 -xvector=simd 更好的性能。但是,浮点结果可能会稍有不同,因为 -fsimple=2 允许对浮点运算重新排序。

缺省值为 -xvector=%none。如果您指定了 -xvector,但是未提供子选项,则编译器假定 -xvector=lib

在装入步骤中,编译器会包含 libmvec 库。如果您在编译时指定了 -xvector=lib,则还必须在链接时指定它。

此选项会覆盖以前的实例,因此,-xvector=%none 会覆盖以前指定的 -xvector=lib