本章では、各クラスとそれに関連した処理について説明するときに特殊な用語と構文を用いています。以下で、その説明をします。
クラス名は、データ型、符号の有無、ビットサイズ、要素数を表現したものです。一般的な形式で表すと次のようになります。
<type><signedness><bits>vec<elements>
{ F | I } { s | u } { 64 | 32 | 16 | 8 } vec { 8 | 4 | 2 | 1 }
各アイテムの意味は次のとおりです。
type |
浮動小数点(F)または整数(I)を示します。 |
signedness |
符号付き(s)または符号なし(u)を示します。Ivecクラスの場合は、このフィールドが空のままだと中間クラスを表します。符号なしのFvecクラスはないため、Fvecクラスの場合、このフィールドは空です。 |
bits |
要素あたりのビット数です。 |
elements |
要素の個数です。 |
本書では、各クラスと演算についてその機能と特性を定義するときに次の用語を用いています。
クラス名 | 説明 |
---|---|
I[s|u][N]vec[N] | I128vec1以外およびI64vec1以外の任意の値 |
I64vec1 | __m64データ型 |
I[s|u]64vec2 | 2個の64ビット値(符号付き、または符号なし) |
I[s|u]32vec4 | 4個の32ビット値(符号付き、または符号なし) |
I[s|u]8vec16 | 8個の16ビット値(符号付き、または符号なし) |
I[s|u]16vec8 | 16個の8ビット値(符号付き、または符号なし) |
I[s|u]32vec2 | 2個の32ビット値(符号付き、または符号なし) |
I[s|u]16vec4 | 4個の16ビット値(符号付き、または符号なし) |
I[s|u]8vec8 | 8個の8ビット値(符号付き、または符号なし) |