C++ ユーザーズガイド

-xtarget=t

命令セットと最適化処理の対象システムを指定します。

コンパイラにハードウェアシステムを正確に指定すると、プログラムによってはパフォーマンスが向上します。プログラムのパフォーマンスを重視する場合は、ハードウェアを適切に指定することが極めて重要です。特に、プログラムをより新しい SPARC システム上で実行する場合には重要になります。しかし、ほとんどのプログラムおよび旧式の SPARC システムではパフォーマンスの向上はわずかであるため、汎用的な指定方法で十分です。

値 (SPARC)

t には、次のいずれかを指定します。

t の値

意味 

native

ホストシステムで最高のパフォーマンスが得られます。 

 

コンパイラは、ホストシステム用に最適化されたコードを生成し、コンパイラが動作しているマシンで使用できるアーキテクチャ、チップ、キャッシュの属性を決定します。 

generic

汎用アーキテクチャ、チップ、キャッシュで最高のパフォーマンスが得られます。 

コンパイラは、-xtarget=generic-xarch=generic -xchip=generic -xcache=generic に展開します。

これはデフォルト値です。 

system-name

指定するシステムで最高のパフォーマンスが得られます。 

次の節の表から SPARC プラットフォームの名前を選択します。 

値 (x86)

x86 の場合は、-xtarget に次の値を指定できます。

SPARC デバイスの場合、-xtarget は次の展開値を受け付けます。

-xtarget

-xarch

-xchip

-xcache

cs6400 

v8 

super 

16/32/4:2048/64/1 

entr2 

v8

ultra

16/32/1:512/64/1 

entr2/1170

v8

ultra

16/32/1:512/64/1 

entr2/1200

v8

ultra

16/32/1:512/64/1 

entr2/2170

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 

sc2000

v8

super

16/32/4:2048/64/1

solb5

v7

old

128/32/1

solb6

v8

super

16/32/4:1024/32/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

ss5/110

v8a

micro2

8/16/1

ss10

v8

super

16/32/4

ss10/20

v8

super

16/32/4

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

ss10/hs11

v8

hyper

256/64/1

ss10/hs12

v8

hyper

256/64/1

ss10/hs14

v8

hyper

256/64/1

ss10/hs21

v8

hyper

256/64/1

ss10/hs22

v8

hyper

256/64/1

ss20 

v8 

super 

16/32/4:1024/32/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

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

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

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

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

ssvygr

v8a

micro2

8/16/1

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

ultra

v8

ultra

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/200 

v8 

ultra

16/32/1:512/64/1

ultra2

v8

ultra2

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

ultra1/2170

v8

ultra

16/32/1:512/64/1

ultra1/2200

v8

ultra

16/32/1:1024/64/1

ultra1/2300

v8

ultra2

16/32/1:2048/64/1

ultra2i 

v8 

ultra2i 

16/32/1:512/64/1

デフォルト

SPARC でも x86 でも、-xtarget を指定しないと、-xtarget=generic が使用されます。

展開

-xtarget オプションは、購入したプラットフォーム上で使用する -xarch-xchip-xcache の組み合わせを簡単に指定するためのマクロです。-xtarget 自体の意味は、展開することです。

-xtarget=sun4/15-xarch=v8a -xchip=micro -xcache=2/16/1 を意味します。

相互の関連性

-xarch=v9 または v9a オプションは、SPARC または UltraSPARC V9 上で動作する64 ビット Solaris 7 用にコンパイルするように指示します。このコンパイルのためには、-xtarget=ultra または ultra2 の設定は必要ないか、(必要がある場合は) 十分ではありません。-xtarget を指定する場合は、次に示すように、その後に -xarch=v9 または v9a を指定する必要があります。

-xtarget=ultra -xarch=v9

このように指定しなかった場合は、-xtarget の設定によって -xarch 値が v8 に戻されます。