C ユーザーズガイド

-xtarget=t

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

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= には次の値を指定できます。