命令セットと最適化の対象とするプラットフォームを指定します。
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 指定の展開と異なる場合があることに注意してください。
ホストプラットフォーム (32 ビット) で、パフォーマンスを最適化します。
—m32 —xarch=native —xchip=native —xcache=native に展開します。
廃止。代わりに、—xtarget=native —m64 を使用してください。
たいていの 32 ビットプラットフォームで最高のパフォーマンスが得られるようにします。
これがデフォルトで、次のように展開します。-m32 -xarch=generic -xchip=generic -xcache=generic
廃止。代わりに -xtarget=generic -m64 を使用してください。
指定したプラットフォームで、最高のパフォーマンスが得られるようにします。次に一覧で表示します。
次の表は、コンパイラが認識できる、一般に使用されているシステムプラットフォーム名の一覧です。
表 3–16 一般に使用されている -xtarget システムプラットフォームの展開
-xtarget= プラットフォーム名 |
-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 |
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 |
ultraT2plus |
sparcvis2 |
ultraT2plus |
8/16/4:4096/64/16 |
64 ビット対応のプラットフォームでの 64 ビット Solaris OS 向けのコンパイルは、-m64 フラグで指示します。-xtarget を指定する場合は、次に示すように -xtarget フラグのあとに -m64 を表示する必要があります。
-xtarget=ultra2 ... -m64 |
この指定がないと、デフォルトの 32 ビットメモリーモデルが使用されます。
x86 システムで有効な -xtarget プラットフォーム名は次のとおりです。
generic、native、pentium、pentium_pro、pentium3、pentium4、woodcrest、penryn、nehalem、barcelona、opteron
表 3–17 x86 プラットフォームでの -xtarget の値
-xtarget= |
-xarch |
-xchip |
-xcache |
---|---|---|---|
generic |
generic |
generic |
generic |
opteron |
sse2 |
opteron |
64/64/2:1024/64/16 |
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 |
64 ビット対応の x86 プラットフォームでの 64 ビット Solaris OS 向けのコンパイルは、-m64 フラグで指示します。たとえば、-xtarget=opteron でのコンパイルは、必要でもなく、十分でもありません。-xtarget を指定する場合は、次に示すように -xtarget フラグのあとに -m64 オプションを表示する必要があります。
-xtarget=opteron -m64 |
この指定がないと、32 ビット x86 用のコンパイルに戻ります。