Sun Studio 12:Fortran 用户指南

3.4.177 –xtarget=t

为指令集和优化指定目标平台。

t 必须是以下值之一:nativenative64genericgeneric64platform–name

-xtarget 选项允许简便快捷地指定发生在实际平台上的 -xarch-xchip-xcache 组合。-xtarget 的唯一含义在其扩展中。

通过为编译器提供目标计算机硬件的精确描述,某些程序的性能可得到提高。当程序性能很重要时,目标硬件的正确指定是非常重要的。在较新的 SPARC 处理器上运行时,尤其是这样。不过,对大多数程序和较旧的 SPARC 处理器来讲,性能的提高微不足道,因此指定 generic 就足够了。

-xtarget 值的实际扩展可能会因发行版的不同而异。通过使用 -dryrun 标志,您始终可以确定编译器将使用的扩展:


demo% f95 -dryrun -xtarget=ultra4plus
###     command line files and options (expanded):
### -dryrun -xarch=sparcvis 
    -xcache=64/32/4/1:2048/64/4/2:32768/64/4/2 -xchip=ultra4plus

注意,针对特定名称平台的 —xtarget 扩展不得与同一平台上的 —xtarget=native 相同。

3.4.177.1 通用平台与本机平台

native

优化主机平台(32 位)的性能。

扩展至 —m32 —xarch=native —xchip=native —xcache=native

native64

已过时。改用 —xtarget=native —m64

generic

为大多数 32 位平台获得最佳性能。

这是缺省值并可扩展至:-m32 -xarch=generic -xchip=generic -xcache=generic

generic64

已过时。改用 -xtarget=generic -m64

platform–name

获取以下列出的指定平台的最佳性能。

3.4.177.2 SPARC 平台

下表列出了编译器接受的常用系统平台的名称。

表 3–16 常用的 -xtarget 系统平台的扩展

-xtarget= platform-name

-xarch 

-xchip 

-xcache 

ultra

sparcvis

ultra

16/32/1:512/64/1

ultra1/140

sparcvis

ultra

16/32/1:512/64/1

ultra1/170

sparcvis

ultra

16/32/1:512/64/1

ultra1/200

sparcvis

ultra

16/32/1:512/64/1

ultra2

sparcvis

ultra2

16/32/1:512/64/1

ultra2/1170

sparcvis

ultra

16/32/1:512/64/1

ultra2/1200

sparcvis

ultra

16/32/1:1024/64/1

ultra2/1300

sparcvis

ultra2

16/32/1:2048/64/1

ultra2/2170

sparcvis

ultra

16/32/1:512/64/1

ultra2/2200

sparcvis

ultra

16/32/1:1024/64/1

ultra2/2300

sparcvis

ultra2

16/32/1:2048/64/1

ultra2e

sparcvis

ultra2e

16/32/1:256/64/4

ultra2i

sparcvis

ultra2i

16/32/1:512/64/1

ultra3

sparcvis

ultra3

64/32/4:8192/512/1

ultra3cu

sparcvis

ultra3cu

64/32/4:8192/512/2

ultra3i

sparcvis

ultra3i

64/32/4:1024/64/4

ultra4

sparcvis

ultra4

64/32/4:8192/128/2

ultra4plus

sparcvis

ultra4plus

64/32/4/1:2048/64/4/2:32768/64/4/2

ultraT1

sparc

ultraT1

8/16/4/4:3072/64/12/32

ultraT2

sparcvis2

ultraT2

8/16/4:4096/64/16

-m64 标志表示针对启用了 64 位的平台上的 64 位 Solaris OS 进行编译。如果指定了 -xtarget,则 -m64 必须出现在 -xtarget 标志之后,如下所示:


-xtarget=ultra2   ...   -m64

否则,将使用缺省的 32 位内存模型。

3.4.177.3 X86 平台

对于 x86 系统,有效的 -xtarget 平台名称如下:

generic、native、pentium、pentium_pro、pentium3、pentium4opteron

-m64 标志表示针对启用了 64 位的 x86 平台上的 64 位 Solaris OS 进行编译。例如,使用 -xtarget=opteron 进行编译是不必要的或不够的。如果指定了 -xtarget,则 -m64 选项必须出现在 -xtarget 标志之后,如下所示:


-xtarget=opteron -m64

否则,编译将为 32 位 x86。