Specifies the target platform for instruction set and optimization.
The performance of some programs can benefit by providing the compiler with an accurate description of the target computer hardware. When program performance is critical, the proper specification of the target hardware could be very important. This is especially true when running on the newer SPARC processors. However, for most programs and older SPARC processors, the performance gain is negligible and a generic specification is sufficient.
t must be one of the following:
Value of t |
Meaning |
---|---|
native
|
Gets the best performance on the host system.
The compiler generates code optimized for the host system. It determines the available architecture, chip, and cache properties of the machine on which the compiler is running. |
generic |
Gets the best performance for generic architecture, chip, and cache. The compiler expands -xtarget=generic to: -xarch=generic -xchip=generic -xcache=generic This is the default value. |
platform-name |
Gets the best performance for the specified platform.
Select a SPARC platform name from the table in the following section. |
For the x86 platform, -xtarget accepts the following values:
native or generic
386-Directs the compiler to generate code for the best performance on the Intel 80386 microprocessor.
486-Directs the compiler to generate code for the best performance on the Intel 80486 microprocessor.
pentium-Directs the compiler to generate code for the best performance on the Pentium or Pentium Pro microprocessor.
pentium_pro-Directs the compiler to generate code for the best performance on the Pentium Pro microprocessor.
-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 |
For SPARC devices, -xtarget accepts the following expansion values:
On both SPARC and x86 devices, if -xtarget is not specified, -xtarget=generic is assumed.
The -xtarget option is a macro that permits a quick and easy specification of the -xarch, -xchip, and -xcache combinations that occur on commercially purchased platforms. The only meaning of -xtarget is in its expansion.
-xtarget=sun4/15 means -xarch=v8a -xchip=micro -xcache=2/16/1
Compiling for 64-bit Solaris 7 on SPARC or UltraSPARC V9 devices is indicated by the -xarch=v9|v9a option. Setting -xtarget=ultra or ultra2 is not necessary or sufficient. If -xtarget is specified, the -xarch=v9 or v9a option must appear after the -xtarget, as in:
-xtarget=ultra -xarch=v9
Otherwise, the -xtarget setting reverts the -xarch value to v8.