| 值 | 含义 | 
|---|---|
| native | 在主机系统上获取最佳性能。编译器生成为主机系统优化的代码。它决定了运行编译器的计算机的可用架构、芯片和缓存属性。 | 
| native64 | 在主机系统上获取 64 位二进制目标文件的最佳性能。编译器生成为主机系统优化的 64 位二进制目标文件。它决定了运行编译器的计算机的可用 64 位体系结构、芯片和缓存属性。 | 
| generic | 这是缺省值。获取通用体系结构、芯片和高速缓存的最佳性能。 | 
| generic64 | 为了在大多数 64 位平台体系结构上获得 64 位二进制目标文件的最佳性能而设置参数。 | 
| system-name | 获取指定平台的最佳性能。 从以下代表您所面向的实际系统的列表中选择系统名称: | 
在 SPARC 还是 UltraSPARC V9 上针对 64 位 Solaris 软件进行编译,是由 -m64 选项指示。如果指定带有 native64 或 generic64 之外的标志的 -xtarget,还必须指定 -m64 选项,如下所示:-xtarget=ultra... -m64,否则编译器将使用 32 位内存模型。
表 A–49 SPARC 体系结构上的 -xtarget 扩展| -xtarget= | -xarch | -xchip | -xcache | 
|---|---|---|---|
| generic | generic | generic | generic | 
| cs6400 | v8plusa | super | 16/32/4:2048/64/1 | 
| entr150 | v8plusa | ultra | 16/32/1:512/64/1 | 
| entr2 | v8plusa | ultra | 16/32/1:512/64/1 | 
| entr2/1170 | v8plusa | ultra | 16/32/1:512/64/1 | 
| entr2/1200 | v8plusa | ultra | 16/32/1:512/64/1 | 
| entr2/2170 | v8plusa | ultra | 16/32/1:512/64/1 | 
| entr2/2200 | v8plusa | ultra | 16/32/1:512/64/1 | 
| entr3000 | v8plusa | ultra | 16/32/1:512/64/1 | 
| entr4000 | v8plusa | ultra | 16/32/1:512/64/1 | 
| entr5000 | v8plusa | ultra | 16/32/1:512/64/1 | 
| entr6000 | v8plusa | ultra | 16/32/1:512/64/1 | 
| sc2000 | v8plusa | 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 | 
| 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/402 | v8 | super | 16/32/4 | 
| ss10/41 | v8 | super | 16/32/4:1024/32/1 | 
| ss10/412 | 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/512 | v8 | super | 16/32/4:1024/32/1 | 
| ss10/514 | v8 | super | 16/32/4:1024/32/1 | 
| ss10/61 | v8 | super | 16/32/4:1024/32/1 | 
| ss10/612 | v8 | super | 16/32/4:1024/32/1 | 
| ss10/71 | v8 | super2 | 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 | 
| ss1000 | v8 | super | 16/32/4:1024/32/1 | 
| ss1plus | v7 | old | 64/16/1 | 
| ss2 | v7 | old | 64/32/1 | 
| ss20 | v8 | super | 16/32/4:1024/32/1 | 
| ss20/151 | v8 | hyper | 512/64/1 | 
| ss20/152 | v8 | hyper | 512/64/1 | 
| ss20/50 | v8 | super | 16/32/4 | 
| ss20/502 | v8 | super | 16/32/4 | 
| ss20/51 | v8 | super | 16/32/4:1024/32/1 | 
| ss20/512 | v8 | super | 16/32/4:1024/32/1 | 
| ss20/514 | v8 | super | 16/32/4:1024/32/1 | 
| ss20/61 | v8 | super | 16/32/4:1024/32/1 | 
| ss20/612 | v8 | super | 16/32/4:1024/32/1 | 
| ss20/71 | v8 | super2 | 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 | 
| ss2p | v7 | powerup | 64/32/1 | 
| ss4 | v8a | micro2 | 8/16/1 | 
| ss4/110 | v8a | micro2 | 8/16/1 | 
| ss4/85 | v8a | micro2 | 8/16/1 | 
| ss5 | v8a | micro2 | 8/16/1 | 
| ss5/110 | v8a | micro2 | 8/16/1 | 
| ss5/85 | v8a | micro2 | 8/16/1 | 
| ss600/120 | v7 | old | 64/32/1 | 
| ss600/140 | v7 | old | 64/32/1 | 
| ss600/41 | v8 | super | 16/32/4:1024/32/1 | 
| ss600/412 | v8 | super | 16/32/4:1024/32/1 | 
| ss600/51 | 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/61 | v8 | super | 16/32/4:1024/32/1 | 
| ss600/612 | 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 | 
| ssvyger | v8a | micro2 | 8/16/1 | 
| sun4/110 | v7 | old | 2/16/1 | 
| sun4/15 | v8a | micro | 2/16/1 | 
| sun4/150 | v7 | old | 2/16/1 | 
| sun4/20 | v7 | old | 64/16/1 | 
| sun4/25 | v7 | old | 64/32/1 | 
| sun4/260 | v7 | old | 128/16/1 | 
| sun4/280 | v7 | old | 128/16/1 | 
| sun4/30 | v8a | micro | 2/16/1 | 
| sun4/330 | v7 | old | 128/16/1 | 
| sun4/370 | v7 | old | 128/16/1 | 
| sun4/390 | v7 | old | 128/16/1 | 
| sun4/40 | v7 | old | 64/16/1 | 
| sun4/470 | v7 | old | 128/32/1 | 
| sun4/490 | v7 | old | 128/32/1 | 
| sun4/50 | v7 | old | 64/32/1 | 
| sun4/60 | v7 | old | 64/16/1 | 
| sun4/630 | v7 | old | 64/32/1 | 
| sun4/65 | v7 | old | 64/16/1 | 
| sun4/670 | v7 | old | 64/32/1 | 
| sun4/690 | v7 | old | 64/32/1 | 
| sun4/75 | v7 | old | 64/32/1 | 
| ultra | v8plusa | ultra | 16/32/1:512/64/1 | 
| ultra1/140 | v8plusa | ultra | 16/32/1:512/64/1 | 
| ultra1/170 | v8plusa | ultra | 16/32/1:512/64/1 | 
| ultra1/200 | v8plusa | ultra | 16/32/1:512/64/1 | 
| ultra2 | v8plusa | ultra2 | 16/32/1:512/64/1 | 
| ultra2/1170 | v8plusa | ultra | 16/32/1:512/64/1 | 
| ultra2/1200 | v8plusa | ultra | 16/32/1:1024/64/1 | 
| ultra2/1300 | v8plusa | ultra2 | 16/32/1:2048/64/1 | 
| ultra2/2170 | v8plusa | ultra | 16/32/1:512/64/1 | 
| ultra2/2200 | v8plusa | ultra | 16/32/1:1024/64/1 | 
| ultra2/2300 | v8plusa | ultra2 | 16/32/1:2048/64/1 | 
| ultra2e | v8plusa | ultra2e | 16/32/1:256/64/4 | 
| ultra2i | v8plusa | ultra2i | 16/32/1:512/64/1 | 
| ultra3 | v8plusa | ultra3 | 64/32/4:8192/512/1 | 
| ultra3cu | v8plusa | ultra3cu | 64/32/4:8192/512/2 | 
| ultra3i | v8plusa | ultra3i | 64/32/4:1024/64/4 | 
| ultra4 | v8plusa | ultra4 | 64/32/4:8192/128/2 | 
| ultra4plus | v8plusa | ultra4plus | 64/32/4:2048/64/4:32768/64/4 | 
| ultraT1 | v8plusa | ultraT1 | 8/16/4/4:3072/64/12/32 | 
| ultraT2 | sparcvis2 | ultraT2 | 8/16/4:4096/64/16 | 
| sparc64vi | sparcfmaf | sparc64vi | 128/64/2:5120/64/10 | 
| 有关 UltraSPARC IVplus、UltraSPARC T1 和 UltraSPARC T2 芯片的缓存属性的更多信息,请参见A.2.111 –xcache=c。 | |||
在 64 位 x86 平台上针对 64 位 Solaris 软件进行编译是由 -m64 选项指示的。如果指定带有除 native64 或 generic64 之外标志的 -xtarget,还必须按如下所示指定 -m64 选项:-xtarget=opteron ... -m64,否则编译器会使用 32 位内存模型。
表 A–50 -xtarget 值(x86 平台)| -xtarget= | -xarch | -xchip | -xcache | 
|---|---|---|---|
| generic | generic | generic | generic | 
| 386* | 已废弃。改用 -xtarget=generic。有关已废弃的选项的完整列表,请参见3.3.8 废弃的选项。 | ||
| 486 | 已废弃。改用 -xtarget=generic。有关已废弃的选项的完整列表,请参见3.3.8 废弃的选项。 | ||
| 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 | 
在 SPARC 和 x86 设备上,如果未指定 –xtarget,则假定 –xtarget=generic。
–xtarget 选项是一个宏,使用它可以快捷地指定可在从市场上购买的平台上使用的 -xarch、–xchip 和 –xcache 组合。–xtarget 的唯一含义在其扩展中。
-xtarget=sun4/15 表示 -xarch=v8a -xchip=micro -xcache=2/16/1。
针对 SPARC V9 体系结构的编译用 -xarch=v9|v9a|v9b 选项指示。不必设置 –xtarget=ultra 或 ultra2,而且这也不够。如果指定了 -xtarget,则必须在 -xtarget 后面使用 –xarch=v9、v9a 或 v9b 选项。例如:
| -xarch=v9 -xtarget=ultra | 
扩展到以下选项,并将 -xarch 值恢复为 v8。
| -xarch=v9 -xarch=v8 -xchip=ultra -xcache=16/32/1:512/64/1 | 
正确的方法是在 -xtarget 后面指定 -xarch。例如:
| –xtarget=ultra -xarch=v9 | 
在不同的步骤中进行编译和链接时,必须在编译步骤和链接步骤中使用相同的 -xtarget 设置。