Oracle Solaris Studio 12.2:Fortran 用户指南

3.4.175 –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.175.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.175.2 SPARC 平台

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

表 3–18 常用的 -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

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

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


-xtarget=ultra2   ...   -m64

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

3.4.175.3 X86 平台

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

generic、native、pentium、pentium_pro、pentium3、pentium4woodcrest、penryn、 nehalem、barcelonaopteron

表 3–19 -xtarget 值(x86 平台)

-xtarget=  

-xarch  

-xchip  

-xcache  

generic

generic

generic

generic

opteron

sse2

opteron

64/64/2:1024/64/16

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

nehalem

sse4_2

nehalem

32/64/8:256/64/8: 8192/64/16

penryn

sse4_1

penryn

2/64/8:4096/64/16

woodcrest

ssse3

core2

32/64/8:4096/64/16

barcelona

amdsse4a

amdfam10

64/64/2:512/64/16

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


-xtarget=opteron -m64

否则,编译将为 32 位 x86。