16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

SHUFPS—Shuffle Single-FP<br />

オペコード 命令 説明<br />

0F,C6,/r, ib SHUFPS xmm1, xmm2/m128,<br />

imm8<br />

単精度値をシャッフルする。<br />

操作<br />

fp_select = (imm8 >> 0) & 0x3;<br />

xmm1[31-0] = (fp_select == 0) ? xmm1[31-0] :<br />

(fp_select == 1) ? xmm1[63-32] :<br />

(fp_select == 2) ? xmm1[95-64] :<br />

xmm1[127-96];<br />

fp_select = (imm8 >> 2) & 0x3;<br />

xmm1[63-32] = (fp_select == 0) ? xmm1[31-0] :<br />

(fp_select == 1) ? xmm1[63-32] :<br />

(fp_select == 2) ? xmm1[95-64] :<br />

xmm1[127-96];<br />

fp_select = (imm8 >> 4) & 0x3;<br />

xmm1[95-64] = (fp_select == 0) ? xmm2/m128[31-0] :<br />

(fp_select == 1) ? xmm2/m128[63-32] :<br />

(fp_select == 2) ? xmm2/m128[95-64] :<br />

xmm2/m128[127-96];<br />

fp_select = (imm8 >> 6) & 0x3;<br />

xmm1[127-96] = (fp_select == 0) ? xmm2/m128[31-0] :<br />

(fp_select == 1) ? xmm2/m128[63-32] :<br />

(fp_select == 2) ? xmm2/m128[95-64] :<br />

xmm2/m128[127-96];<br />

説明<br />

SHUFPS 命令は、 xmm1 の 4 つの単精度浮動小数点値を シ ャ ッ フ ルして下位の 2 つのデ<br />

スティネーション・フィールドを生成し、 xmm2/m128 の 4 つの単精度浮動小数点値を<br />

シャッフルして上位の2 つのデス テ ィ ネ ー シ ョ ン ・ フ ィ ー ル ド を生成する。 SHUFPS は、<br />

両方のソース ・ オペラン ド に対して同じレジスタを使用して、 そのレジスタの 4 つの単<br />

精度浮動小数点値を自由に組み合わせて返す こ と がで き る。 即値フ ィ ー ル ド の ビ ッ ト 1<br />

とビッ ト 0 を使用して、 4 つの入力単精度浮動小数点値の う ち ど の値が、 結果の最初の<br />

単精度浮動小数点値に入れられる かを選択する。 即値フ ィ ー ル ド の ビ ッ ト 3 とビット 2<br />

を使用して、 4 つの入力単精度浮動小数点値の う ち ど の値が、 結果の 2 番目の単精度浮<br />

動小数点値に入れ ら れる かを選択す る。 以下同様に、 結果の 3 番目、 4 番目の値を指定<br />

する。<br />

第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス 3:957

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!