Oracle® Solaris Studio 12.4:Fortran 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

3.4.179 –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.179.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.179.2 SPARC 平台

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

表 3-21  常用的 -xtarget 系统平台的扩展
-xtarget= platform-name
-xarch
-xchip
-xcache
sparc64vi
sparcfmaf
sparc64vi
128/64/2:5120/64/10
sparc64vii
sparcima
sparc64vii
64/64/2:5120/256/10
sparc64viiplus
sparcima
sparc64viiplus
64/64/2:11264/256/11
sparc64x
sparcace
sparc64x
64/128/4/2:24576/128/24/32
sparc64xplus
sparcaceplus
sparc64xplus
64/128/4/2:24576/128/24/32
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
sparcvis2
ultra3
64/32/4:8192/512/1
ultra3cu
sparcvis2
ultra3cu
64/32/4:8192/512/2
ultra3i
sparcvis2
ultra3i
64/32/4:1024/64/4
ultra4
sparcvis2
ultra4
64/32/4:8192/128/2
ultra4plus
sparcvis2
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
ultraT2plus
sparcvis2
ultraT2plus
8/16/4:4096/64/16
ultraT3
sparcvis3
ultraT3
8/16/4:6144/64/24
T3
sparcvis3
T3
8/16/4:6144/64/24
T4
sparc4
T4
16/32/4:128/32/8:4096/64/16
T5
sparc4
T5
16/32/4/8:128/32/8/8:8192/64/16/128
M5
sparc4
M5
16/32/4/8:128/32/8/8:49152/64/12/48

注 -  以下 SPARC -xtarget 值已过时,在将来的发行版中可能会删除:ultraultra1/140ultra1/170ultra1/200ultra2ultra2eultra2iultra2/1170ultra2/1200ultra2/1300ultra2/2170ultra2/2200ultra2/2300ultra3ultra3cuultra3iultra4ultra4plus

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

-xtarget=ultra2   ...   -m64

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

3.4.179.3 X86 平台

下表显示了针对 x86 系统的有效 -xtarget 平台名称及其扩展。

表 3-22  -xtarget 值(x86 平台)
-xtarget=
-xarch
-xchip
-xcache
pentium
386
pentium
generic
pentium_pro
pentium_pro
pentium_pro
generic
pentium3
sse
pentium3
16/32/4:256/32/4
pentium4
sse2
pentium4
8/64/4:256/128/8
opteron
sse2a
opteron
64/64/2:1024/64/16
woodcrest
ssse3
core2
32/64/8:4096/64/16
barcelona
amdsse4a
amdfam10
64/64/2:512/64/16
penryn
sse4_1
penryn
2/64/8:6144/64/24
nehalem
sse4_2
nehalem
32/64/8:256/64/8:8192/64/16
westmere
aes
westmere
32/64/8:256/64/8:30720/64/24
sandybridge
avx
sandybridge
32/64/8/2:256/64/8/2:20480/64/20/16
ivybridge
avx_i
ivybridge
32/64/8/2:256/64/8/2:20480/64/20/16
haswell
avx2
haswell
32/64/8/2:256/64/8/2:20480/64/20/16

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

-xtarget=opteron -m64

否则,编译将为 32 位 x86。