t 的值必须是下列值之一: native、generic、native64、generic64 或 system-name。
-xtarget 的每个特定值都会扩展到 -xarch、-xchip 和 -xcache 选项值的特定集合。使用 -xdryrun 选项可在运行的系统上确定 -xtarget=native 的扩展。
例如,-xtarget=sun4/15 与以下内容等效: -xarch=v8a -xchip=micro -xcache=2/16/1。
-xtarget 在特定主机平台上的扩展在该平台上编译时扩展到的 -xarch、-xchip 或 -xcache 设置可能与 -xtarget=native 不同。
标志 |
含义 |
---|---|
native |
在主机系统上获取最佳性能。 编译器生成能在主机系统上提供最佳性能的代码。它决定了运行编译器的计算机的可用架构、芯片和缓存属性。 |
native64 |
在主机系统上获取 64 位二进制目标文件的最佳性能。编译器生成为主机系统优化的 64 位二进制目标文件。它决定了运行编译器的计算机的可用 64 位体系结构、芯片和缓存属性。 |
generic |
这是缺省值。获取通用体系结构、芯片和高速缓存的最佳性能。 |
generic64 |
为了在大多数 64 位平台体系结构上获得 64 位二进制目标文件的最佳性能而设置参数。 |
system-name |
获取指定系统的最佳性能。 从以下代表您所面向的实际系统的列表中选择系统名称: |
通过为编译器提供目标计算机硬件的精确描述,某些程序的性能可得到提高。当程序性能很重要时,目标硬件的正确指定是非常重要的。在较新的 SPARC 处理器上运行时,尤其是这样。不过,对大多数程序和较旧的 SPARC 处理器来讲,性能的提高微不足道,因此指定 generic 就足够了。
在 SPARC 还是 UltraSPARC V9 上针对 64 位 Solaris 软件进行编译,是由 -m64 选项指示。如果为 -xtarget 指定 native64 或 generic64 以外的标志,则还必须如下所示指定 -m64 选项:-xtarget=ultra ... -m64,否则编译器将使用 32 位内存模型。
表 B–40 SPARC 上的 -xtarget 扩展
-xtarget= |
-xarch |
-xchip |
-xcache |
---|---|---|---|
generic |
generic |
generic |
generic |
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 |
sparcvis2 |
ultra3 |
64/32/4:8192/512/1 |
ultra3cu |
sparcvis2 |
ultra3cu |
64/32/4:8192/512/2 |
ultra3i |
sparcvis2 |
ultra3i |
64/32/4:1024/64/4 |
ultra4 |
sparcvis2 |
ultra4 |
64/32/4:8192/128/2 |
ultra4plus |
sparcvis2 |
ultra4plus |
64/32/4:2048/64/4/2:32768/64/4 |
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 |
ultraT3 |
sparcvis3 |
ultraT3 |
8/16/4:6144/64/24 |
sparc64vi |
sparcfmaf |
sparc64vi |
128/64/2:5120/64/10 |
sparc64vii |
sparcima |
sparc64vii |
64/64/2:5120/256/10 |
有关 UltraSPARC IVplus、UltraSPARC T1 和 UltraSPARC T2 芯片的缓存属性的更多信息,请参见B.2.80 -xcache[= c]。 |
在 64 位 x86 平台上针对 64 位 Solaris 软件进行编译是由 -m64 选项指示的。如果为 -xtarget 指定 native64 或 generic64 以外的标志,则还必须如下所示指定 -m64 选项:-xtarget=opteron ... -m64,否则编译器将使用 32 位内存模型。
表 B–41 x86 上的 -xtarget 扩展
-xtarget= |
-xarch |
-xchip |
-xcache |
---|---|---|---|
generic |
generic |
generic |
generic |
opteron |
sse2a |
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:6144/64/24 |
woodcrest |
ssse3 |
core2 |
32/64/8:4096/64/16 |
barcelona |
amdsse4a |
amdfam10 |
64/64/2:512/64/16 |