Oracle® Developer Studio 12.5:数值计算指南

退出打印视图

更新时间: 2016 年 6 月
 
 

x86 行为和实现

本附录介绍与基于 x86/x64 系统中所使用的浮点单元相关的 x86/x64 和 SPARC 兼容性问题。

C.1 受支持的系统的代码生成

Oracle Solaris 支持 Oracle、Sun 和其他系统供应商提供的许多系统,这些系统包含 Intel、AMD 和其他芯片供应商提供的 x86 处理器。某个特定的 Oracle Solaris 版本支持包含此类芯片的一些特定系统。对于某个特定 Oracle Solaris 版本,请参见其相应的硬件兼容性列表。

Oracle Solaris 11 支持支持 64 位寻址的 x86 处理器。Oracle Solaris 10 Update 10 支持这些 64 位处理器,以及许多具有硬件浮点和 120 MHz 或更快时钟速度的仅限 32 位的 x86 处理器。

使用 –m32 –xarch=generic –xchip=generic 标志编译可生成适用于大多数系统的代码。下表列出了一些典型 Oracle 和 Sun x86 系统的某些特定代码生成选项:

系统
代码生成选项
Ultra 20
–xarch=sse2a –xchip=opteron
X2200
–xarch=amdsse4a –xchip=amdfam10
X6250
–xarch=sse3 –xchip=core2
X4170
–xarch=aes –xchip=westmere
X2-4
–xarch=sse4_2 –xchip=nehalem
X3-2
–xarch=avx –xchip=sandybridge
X4-2 X4-4
–xarch=avx_i –xchip=ivybridge
?
–xarch=avx2 –xchip=haswell

有上百个不同的 x86 芯片,每个芯片都有复杂的命名规则。

使用 cc –dryrun –native 是了解编译器采取什么操作来优化特定系统的最好方法。生成适合一些不同 x86 系统所需的代码时,使用适合最旧系统的选项通常适用于所有系统。