IA-32
アーキテクチャは、SIMD
演算に使用される、一連の64
ビットおよび128
ビッ ト・パックド・データ型を定義しており、それらのデータ型を操作する。これらの データ型は、基本データ型(パックドバイト、パックドワード、パックド・ダブル ワード、パックド・クワッドワード)と基本データ型の数値表現で構成され、パック ド整数演算およびパックド浮動小数点演算に使用される。4.6.1. 64
ビット・パックドSIMD
データ型64
ビット・パックドSIMD
データ型は、インテルMMX
テクノロジでIA-32
アーキテ クチャに導入された。これらのデータ型は、MMX
テクノロジ・レジスタ内で操作さ れる。64
ビット・パックド基本データ型は、パックドバイト、パックドワード、パッ クド・ダブルワードである(図4-6.
を参照)。これらのデータ型の数値SIMD
演算を実 行する場合、これらのデータ型は、バイト整数、ワード整数、またはダブルワード整 数の値を含むものとして解釈される。図4-5. ビット・フィールド・データ型
ビット・フィールド
フィールド長
最下位ビット
データ型
4
4.6.2. 128
ビット・パックドSIMD
データ型128
ビット・パックドSIMDデータ型は、SSE
でIA-32
アーキテクチャに導入され、SSE2
とSSE3
で使用された。これらのデータ型は、主に128
ビットXMM
レジスタとメモリ 内で操作される。128
ビット・パックド基本データ型は、パックドバイト、パックド ワード、パックド・ダブルワード、およびパックド・クワッドワードである(図4-7.
を参照)。
XMM
レジスタ内でこれらの基本データ型のSIMD
演算を実行する場合、こ れらのデータ型は、パックドまたはスカラ形式の単精度浮動小数点値または倍精度浮 動小数点値を含むものとして解釈されるか、パックドバイト整数、パックドワード整 数、パックド・ダブルワード整数、またはパックド・クワッドワード整数の値を含む ものとして解釈される。図4-6. 64ビット・パックドSIMDデータ型 パックドワード
パックドバイト
パックド・ダブルワード 63 0
63 0
0 63
パックドワード整数 パックドバイト整数
パックド・ダブルワード整数 63 0
63 0
0 63
64ビット・パックドSIMD基本データ型
64ビット・パックド整数データ型
IA-32 インテル® アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル 上巻:基本アーキテクチャ
4-12
図4-7. 128ビット・パックドSIMDデータ型 0 127
パックドワード パックドバイト
パックド・ダブルワード 128ビット・パックドSIMD基本データ型
128ビット・パックド浮動小数点データ型および整数データ型
パックド・クワッドワード
0 127
0 127
0 127
0 127
0 127
0 127
0 127
0 127
0 127
パックド単精度浮動小数点
パックド倍精度浮動小数点
パックド・クワッドワード整数 パックド・ダブルワード整数 パックドワード整数 パックドバイト整数
データ型
4
ドキュメント内
IA-32 インテル® アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアル
(ページ 90-93)