24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

図 3-3. パックド操作 図 3-4. スカラ操作 3.6.1 命令グループの概要 3.6.1.1 算術演算命令 X1 (SP) X2 (SP) X3 (SP) X4 (SP) Y1 (SP) Y2 (SP) Y3 (SP) Y4 (SP) OP OP X1 op Y1 (SP) X2 op Y2 (SP) X3 op Y3 (SP) X4 op Y4 (SP) パックド / スカラ・データの加算と減算 ADDPS (Add packed single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点オペ ラ ン ド の要素の4つのペアを加算する。SUBPS (Subtract packed single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点オペラ ン ド の要素の 4 つのペアを減算する。 ADDSS (Add scalar single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点オペ ラ ン ド の最下位の要素のペアを加算する。 SUBSS (Subtract scalar single-precision floating-point) 命令は、パ ッ ク ド 単精度浮動小数点オペラ ン ド の最下位の要素のペアを減算 する。 上位3 フィールドは、 ソース・オペランドからそのまま渡される。 パックド / スカラ・データの乗算と除算 MULPS (Multiply packed single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点 オペラ ン ド の要素の 4 つのペアを乗算する。 MULSS (Multiply scalar single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点オ ペラ ン ド の最下位の要素のペアを乗算する。 上位 3 フィールドは、 ソース・オペランドか らそのまま渡される。 DIVPS (Divide packed single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点オ ペラン ドの要素の 4 つのペアを除算する。 3:850 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス OP OP X1 (SP) X2 (SP) X3 (SP) X4 (SP) Y1 (SP) Y2 (SP) Y3 (SP) Y4 (SP) OP X1 (SP) X2 (SP) X3 (SP) X4 op Y4 (SP)

DIVSS (Divide scalar single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点オペ ラ ン ド の最下位の要素のペアを除算する。 上位 3 フィールドは、 ソース・オペランドから そのま ま渡される。 パックド / スカラ・データの平方根 SQRTPS (Square root packed single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数 点数の 4 つの要素の平方根を、 ソ ー ス ・ オペラ ン ド か ら デス テ ィ ネ ー シ ョ ン ・ レ ジ ス タ に 返す。 SQRTSS (Square root scalar single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数 点数の最下位の要素の平方根を、 ソ ー ス ・ オペラ ン ド か ら デス テ ィ ネ ー シ ョ ン ・ レ ジ ス タ に返す。 上位 3 フィールドは、 ソース・オペランドからそのまま渡される。 パック・データの最大 / 最小 MAXPS (Maximum packed single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数 点数の要素の各ペアの最大値を、 デスティネーション・レジスタに返す。 MAXSS (Maximum scalar single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点 数の最下位の要素のペアの最大値を、デステ ィ ネ ー シ ョ ン・レ ジスタ に返す。上位 3 フィー ルドは、 ソース ・ オペランドからデスティネーション ・ レジスタにそのまま渡される。 MINPS (Minimum packed single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点 数の要素の各ペアの最小値を、 デステ ィ ネ ー シ ョ ン ・ レ ジ ス タ に返す。 MINSS (Minimum scalar single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点 数の最下位の要素のペアの最小値を、デステ ィ ネ ー シ ョ ン・レ ジスタ に返す。上位 3 フィー ルドは、 ソース ・ オペランドからデスティネーション ・ レジスタにそのまま渡される。 3.6.1.2 論理演算命令 3.6.1.3 比較命令 ANDPS (Bit-wise packed logical AND for single-precision floating-point) 命令は、 2 つのオペラ ンドの間のビット単位のAND ( 論理積 ) を返す。 ANDNPS (Bit-wise packed logical AND NOT for single-precision floating-point) 命令は、 2 つの オペラ ン ド の間のビ ッ ト 単位の AND NOT ( 否定論理積 ) を返す。 ORPS (Bit-wise packed logical OR for single-precision floating-point) 命令は、 2 つのオペラン ド の間のビ ッ ト 単位の OR ( 論理和 ) を返す。 XORPS (Bit-wise packed logical XOR for single-precision floating-point) 命令は、 2 つのオペラ ンドの間のビット単位のXOR ( 排他的論理和 ) を返す。 CMPPS (Compare packed single-precision floating-point) 命令は、 プ レ デ ィ ケ ー ト に即値オペ ラ ン ド を使用して、 パ ッ ク ド 単精度浮動小数点数の要素の 4 つのペアを比較し、SP フィー ルドごとにその結果をすべて"1" の 32 ビッ ト ・マスクまたはすべて"0" の 32 ビット ・マ スクで返す。 この命令は、 12 の比較条件をすべてサポー ト している ( 等しい、 よ り小さ い、 よ り 小さ いか等しい、 よ り大きい、 よ り 大きいか等しい、 比較不能、 等し く ない、 よ り小さくない、 より小さくなく等しくない、 より大きくない、 より大きくなく等しくな い、 比較可能 )。 CMPSS (Compare scalar single-precision floating-point) 命令は、 CMPPS と同じよ うに、 プレ デ ィ ケ ー ト に即値オペラ ン ド を使用して、 パ ッ ク ド 単精度浮動小数点数の最下位の要素の ペアを比較し、 SP フィールドごとにその結果をすべて"1" の 32 ビット ・マスクまたはす べて "0" の 32 ビッ ト ・マスクで返す。 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス 3:851

図 3-3. パックド操作<br />

図 3-4. スカラ操作<br />

3.6.1 命令グループの概要<br />

3.6.1.1 算術演算命令<br />

X1 (SP) X2 (SP) X3 (SP) X4 (SP)<br />

Y1 (SP) Y2 (SP) Y3 (SP) Y4 (SP)<br />

OP<br />

OP<br />

X1 op Y1 (SP) X2 op Y2 (SP) X3 op Y3 (SP) X4 op Y4 (SP)<br />

パックド / スカラ・データの加算と減算<br />

ADDPS (Add packed single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点オペ<br />

ラ ン ド の要素の4つのペアを加算する。SUBPS (Subtract packed single-precision floating-point)<br />

命令は、 パ ッ ク ド 単精度浮動小数点オペラ ン ド の要素の 4 つのペアを減算する。<br />

ADDSS (Add scalar single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点オペ<br />

ラ ン ド の最下位の要素のペアを加算する。 SUBSS (Subtract scalar single-precision<br />

floating-point) 命令は、パ ッ ク ド 単精度浮動小数点オペラ ン ド の最下位の要素のペアを減算<br />

する。 上位3 フィールドは、 ソース・オペランドからそのまま渡される。<br />

パックド / スカラ・データの乗算と除算<br />

MULPS (Multiply packed single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点<br />

オペラ ン ド の要素の 4 つのペアを乗算する。<br />

MULSS (Multiply scalar single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点オ<br />

ペラ ン ド の最下位の要素のペアを乗算する。 上位 3 フィールドは、 ソース・オペランドか<br />

らそのまま渡される。<br />

DIVPS (Divide packed single-precision floating-point) 命令は、 パ ッ ク ド 単精度浮動小数点オ<br />

ペラン ドの要素の 4 つのペアを除算する。<br />

3:850 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス<br />

OP<br />

OP<br />

X1 (SP) X2 (SP) X3 (SP) X4 (SP)<br />

Y1 (SP) Y2 (SP) Y3 (SP) Y4 (SP)<br />

OP<br />

X1 (SP) X2 (SP) X3 (SP) X4 op Y4 (SP)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!