Oracle® Developer Studio 12.5: 数値計算ガイド

印刷ビューの終了

更新: 2016 年 6 月
 
 

x86 の動作と実装

この付録では、x86/x64 ベースのシステムで使用される浮動小数点ユニットに関連した x86/x64 と SPARC の互換性の問題について説明します。

C.1 サポートされているシステムのコード生成

Oracle Solaris は、Intel、AMD、その他チップベンダーの x86 プロセッサを備えた、Oracle、Sun、その他システムベンダーの多くのシステムをサポートしています。特定の Oracle Solaris リリースでは、これらのチップを含む特定のシステムを多数サポートしています。特定の Oracle Solaris リリースについては、対応するハードウェア互換性リストを参照してください。

Oracle Solaris 11 は、64 ビットのアドレス指定をサポートする x86 プロセッサをサポートしています。Oracle Solaris 10 Update 10 は、ハードウェア浮動小数点および 120 MHz 以上のクロック周波数を備えた 64 ビットプロセッサと多数の 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 システムを対象としたコードを生成する場合は、もっとも古いシステムに適したオプションを使用すると、すべてのシステムに適したものになります。