Oracle® Solaris Studio 12.4:数值计算指南

退出打印视图

更新时间: 2015 年 1 月
 
 

5.3 缺省地址模型和代码生成

在 Oracle Solaris Studio 12.4 和以前的发行版中,对于 32 位 Oracle Solaris OS,缺省地址空间模型为 –m32。但是,在 Linux 上,对于 32 位硬件,缺省值为 –m32;对于 64 位硬件,缺省值为 –m64

对于 SPARC,缺省值为 –xarch=sparc

对于 x86,缺省值为 –xarch=sse2


注 -  在以前的 Studio 发行版中,x86 缺省值对于 -m32 为 -xarch-386;对于 -m64 为 -xarch=sse2。

在新的 x86 中,缺省值 –m32 -xarch=sse2 与以前的缺省值 –m32 –xarch=386 实现相同的 ABI。浮点操作数和结果在 x87 浮点寄存器中传递。但是,以下单精度和双精度浮点运算通常在 sse2 寄存器中执行。

  • +

  • -

  • *

  • /

  • sqrt

  • convert

x87 寄存器仍用于长双精度型运算以及硬件初等超越函数求值。

这意味着 x86 缺省编译的浮点计算结果,相对于以前的 Studio 发行版,即使在相同的硬件和操作系统上,也可能会与 Oracle Solaris Studio 12.4 略有不同。