3.4.179 –xtarget=t
命令セットと最適化の対象とするプラットフォームを指定します。
t には native、native64、generic、generic64、platform-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 システムプラットフォームの展開
|
|
|
|
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 の値は廃止されており、将来のリリースで削除される可能性があります: ultra、 ultra1/140、 ultra1/170、 ultra1/200、 ultra2、 ultra2e、 ultra2i、 ultra2/1170、 ultra2/1200、 ultra2/1300、 ultra2/2170、 ultra2/2200、 ultra2/2300、 ultra3、 ultra3cu、 ultra3i、 ultra4、および ultra4plus。
64 ビット対応のプラットフォームでの 64 ビット Solaris OS 向けのコンパイルは、-m64 フラグで指示します。-xtarget を指定する場合は、次に示すように -xtarget フラグのあとに -m64 を表示する必要があります。
-xtarget=ultra2 ... -m64
この指定がないと、デフォルトの 32 ビットメモリーモデルが使用されます。
3.4.179.3 x86 プラットフォーム
x86 システムの有効な -xtarget プラットフォーム名とその展開を、次の表に示します。
表 3-22 x86 プラットフォームでの -xtarget の値
|
|
|
|
|
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
|
|
64 ビット対応の x86 プラットフォームでの 64 ビット Solaris OS 向けのコンパイルは、-m64 フラグで指示します。たとえば、-xtarget=opteron でのコンパイルは、必要でもなく、十分でもありません。-xtarget を指定する場合は、次に示すように -xtarget フラグのあとに -m64 オプションを表示する必要があります。
-xtarget=opteron -m64
この指定がないと、32 ビット x86 用のコンパイルに戻ります。