Oracle Solaris Studio 12.4 以前のリリースでは、デフォルトのアドレス空間モデルは、Oracle Solaris OS (32 ビット) の –m32 です。ただし、Linux では、デフォルトは 32 ビットハードウェアの場合が –m32、64 ビットハードウェアの場合が –m64 です。
SPARC の場合、デフォルトは –xarch=sparc です。
x86 の場合、デフォルトは –xarch=sse2 です。
新しい x86 のデフォルトである –m32 -xarch=sse2 は、以前のデフォルトである –m32 –xarch=386 と同じ ABI を実装します。浮動小数点オペランドと結果は、x87 浮動小数点レジスタで渡されます。ただし、次の単精度および倍精度浮動小数点演算は通常、sse2 レジスタで実行されます。
+
-
*
/
sqrt
convert
x87 レジスタは、引き続き 4 倍精度演算とハードウェア初等超越関数の評価に使用されます。
これは、同じハードウェアとオペレーティングシステムであっても、x86 デフォルトでコンパイルした浮動小数点計算の結果が、以前の Studio リリースに比べ Oracle Solaris Studio 12.4 でわずかに異なる可能性があることを意味します。