最適化の対象となる命令セットとシステムを指定します。
t の値は native、generic、<システム名> のいずれかでなければなりません (SPARC) (x86)。
-xtarget オプションは、実際のシステムに合わせて、-xarch、-xchip、-xcache の組み合わせを手早く簡単に指定することができます。-xtarget の意味は = の後に指定した値を展開したものにあります。
表 2-9 -xtarget の展開
値 |
意味 |
---|---|
native |
ホストシステムに対してパフォーマンスを最適化します。 コンパイラは、ホストシステムに対して最適化されたコードを生成します。コンパイラは自身が動作しているマシンで利用できるアーキテクチャ、チップ、キャッシュ特性を判定します。 |
generic |
一般的なアーキテクチャ、チップ、キャッシュに対して最高のパフォーマンスが得られるようにします。 コンパイラは -xtarget=generic を次のように展開します。 -xarch=generic -xchip=generic -xcache=generic これはデフォルトです。 |
<システム名> |
指定のシステムに対して最高のパフォーマンスが得られるようにします。 このオプションはマクロです。表 2-10 に示す、実際のシステム名と機種番号のリストから、システム名を選択してください。 |
対象となるハードウェア (コンピュータ) の正式な名前をコンパイラに指定した方がパフォーマンスが優れているプログラムもあります。プログラムのパフォーマンスが重要な場合は、対象となるハードウェアの名前を正式に指定してください。これは、新しい SPARC プロセッサ上でプログラムを実行する場合に当てはまります。ただし、ほとんどのプログラムと、より旧式の SPARC プロセッサ間では、パフォーマンス向上はごくわずかであり、generic を指定することで十分です。
-xtarget に指定する値は、-xarch、-xchip、-xcache の各オプションの値に展開されます。表 2-10 を参照してください。
例: -xtarget=sun4/15 と指定することは、 -xarch=V8a -xchip=micro -xcache=2/16/1 と指定することと同じです。
表 2-10 -xtarget の展開
-xtarget のシステム名 |
-xarch |
-xchip |
-xcache |
---|---|---|---|
sun4/15 |
v8a |
micro |
2/16/1 |
sun4/20 |
v7 |
old |
64/16/1 |
sun4/25 |
v7 |
old |
64/32/1 |
sun4/30 |
v8a |
micro |
2/16/1 |
sun4/40 |
v7 |
old |
64/16/1 |
sun4/50 |
v7 |
old |
64/32/1 |
sun4/60 |
v7 |
old |
64/16/1 |
sun4/65 |
v7 |
old |
64/16/1 |
sun4/75 |
v7 |
old |
64/32/1 |
sun4/110 |
v7 |
old |
2/16/1 |
sun4/150 |
v7 |
old |
2/16/1 |
sun4/260 |
v7 |
old |
128/16/1 |
sun4/280 |
v7 |
old |
128/16/1 |
sun4/330 |
v7 |
old |
128/16/1 |
sun4/370 |
v7 |
old |
128/16/1 |
sun4/390 |
v7 |
old |
128/16/1 |
sun4/470 |
v7 |
old |
128/32/1 |
sun4/490 |
v7 |
old |
128/32/1 |
sun4/630 |
v7 |
old |
64/32/1 |
sun4/670 |
v7 |
old |
64/32/1 |
sun4/690 |
v7 |
old |
64/32/1 |
sselc |
v7 |
old |
64/32/1 |
ssipc |
v7 |
old |
64/16/1 |
ssipx |
v7 |
old |
64/32/1 |
sslc |
v8a |
micro |
2/16/1 |
sslt |
v7 |
old |
64/32/1 |
sslx |
v8a |
micro |
2/16/1 |
sslx2 |
v8a |
micro2 |
8/16/1 |
ssslc |
v7 |
old |
64/16/1 |
ss1 |
v7 |
old |
64/16/1 |
ss1plus |
v7 |
old |
64/16/1 |
ss2 |
v7 |
old |
64/32/1 |
ss2p |
v7 |
powerup |
64/32/1 |
ss4 |
v8a |
micro2 |
8/16/1 |
ss4/85 |
v8a |
micro2 |
8/16/1 |
ss4/110 |
v8a |
micro2 |
8/16/1 |
ss5 |
v8a |
micro2 |
8/16/1 |
ss5/85 |
v8a |
micro2 |
8/16/1 |
ss4/110 |
v8a |
micro2 |
8/16/1 |
ssvyger |
v8a |
micro2 |
8/16/1 |
ss10 |
v8 |
super |
16/32/4 |
ss10/hs11 |
v8 |
hyper |
256/64/1 |
ss10/hs12 |
v8 |
hyper |
256/64/1 |
ss10/hs14 |
v8 |
hyper |
256/64/1 |
ss10/20 |
v8 |
super |
16/32/4 |
ss10/hs21 |
v8 |
hyper |
256/64/1 |
ss10/hs22 |
v8 |
hyper |
256/64/1 |
ss10/30 |
v8 |
super |
16/32/4 |
ss10/40 |
v8 |
super |
16/32/4 |
ss10/41 |
v8 |
super |
16/32/4:1024/32/1 |
ss10/50 |
v8 |
super |
16/32/4 |
ss10/51 |
v8 |
super |
16/32/4:1024/32/1 |
ss10/61 |
v8 |
super |
16/32/4:1024/32/1 |
ss10/71 |
v8 |
super2 |
16/32/4:1024/32/1 |
ss10/402 |
v8 |
super |
16/32/4 |
ss10/412 |
v8 |
super |
16/32/4:1024/32/1 |
ss10/512 |
v8 |
super |
16/32/4:1024/32/1 |
ss10/514 |
v8 |
super |
16/32/4:1024/32/1 |
ss10/612 |
v8 |
super |
16/32/4:1024/32/1 |
ss10/712 |
v8 |
super2 |
16/32/4:1024/32/1 |
ss20 |
v8 |
super |
16/32/4:1024/32/1 |
ss20/hs11 |
v8 |
hyper |
256/64/1 |
ss20/hs12 |
v8 |
hyper |
256/64/1 |
ss20/hs14 |
v8 |
hyper |
256/64/1 |
ss20/hs21 |
v8 |
hyper |
256/64/1 |
ss20/hs22 |
v8 |
hyper |
256/64/1 |
ss20/50 |
v8 |
super |
16/32/4 |
ss20/51 |
v8 |
super |
16/32/4:1024/32/1 |
ss20/61 |
v8 |
super |
16/32/4:1024/32/1 |
ss20/71 |
v8 |
super2 |
16/32/4:1024/32/1 |
ss20/151 |
v8 |
hyper |
512/64/1 |
ss20/152 |
v8 |
hyper |
512/64/1 |
ss20/502 |
v8 |
super |
16/32/4 |
ss10/512 |
v8 |
super |
16/32/4:1024/32/1 |
ss20/514 |
v8 |
super |
16/32/4:1024/32/1 |
ss20/612 |
v8 |
super |
16/32/4:1024/32/1 |
ss20/712 |
v8 |
super2 |
16/32/4:1024/32/1 |
ss600/41 |
v8 |
super |
16/32/4:1024/32/1 |
ss600/51 |
v8 |
super |
16/32/4:1024/32/1 |
ss600/61 |
v8 |
super |
16/32/4:1024/32/1 |
ss600/120 |
v7 |
old |
64/32/1 |
ss600/140 |
v7 |
old |
64/32/1 |
ss600/412 |
v8 |
super |
16/32/4:1024/32/1 |
ss600/512 |
v8 |
super |
16/32/4:1024/32/1 |
ss600/514 |
v8 |
super |
16/32/4:1024/32/1 |
ss600/612 |
v8 |
super |
16/32/4:1024/32/1 |
ss1000 |
v8 |
super |
16/32/4:1024/32/1 |
sc2000 |
v8 |
super |
16/32/4:1024/64/1 |
cs6400 |
v8 |
super |
16/32/4:2048/64/1 |
solb5 |
v7 |
old |
128/32/1 |
solb6 |
v8 |
super |
16/32/4:1024/32/1 |
ultra |
v8 |
ultra |
16/32/1:512/64/1 |
ultra2 |
v8 |
ultra2 |
16/32/1:512/64/1 |
ultra1/140 |
v8 |
ultra |
16/32/1:512/64/1 |
ultra1/170 |
v8 |
ultra |
16/32/1:512/64/1 |
ultra1/170 |
v8 |
ultra |
16/32/1:512/64/1 |
ultra2/1170 |
v8 |
ultra |
16/32/1:512/64/1 |
ultra2/1200 |
v8 |
ultra |
16/32/1:1024/64/1 |
ultra2/1300 |
v8 |
ultra2 |
16/32/1:2048/64/1 |
ultra2/2170 |
v8 |
ultra |
16/32/1:512/64/1 |
ultra2/2200 |
v8 |
ultra |
16/32/1:1024/64/1 |
ultra2/2300 |
v8 |
ultra2 |
16/32/1:2048/64/1 |
ultra2i |
v8 |
ultra2i |
16/32/1:512/64/1 |
entr2 |
v8 |
ultra |
16/32/1:512/64/1 |
entr2/1170 |
v8 |
ultra |
16/32/1:512/64/1 |
entr2/2170 |
v8 |
ultra |
16/32/1:512/64/1 |
entr2/1200 |
v8 |
ultra |
16/32/1:512/64/1 |
entr2/2200 |
v8 |
ultra |
16/32/1:512/64/1 |
entr150 |
v8 |
ultra |
16/32/1:512/64/1 |
entr3000 |
v8 |
ultra |
16/32/1:512/64/1 |
entr4000 |
v8 |
ultra |
16/32/1:512/64/1 |
entr5000 |
v8 |
ultra |
16/32/1:512/64/1 |
entr6000 |
v8 |
ultra |
16/32/1:512/64/1 |
x86: -xtarget= には次の値を指定できます。
generic または native
386 (-386 オプションと等価) または 486 (-486 オプションと等価)
pentium (-pentium オプションと等価) または pentium_pro-