24531904_j

24531904_j 24531904_j

16.02.2013 Aufrufe

MOVAPS—Move Aligned Four Packed Single-FP オペコード 命令 説明 0F,28,/r MOVAPS xmm1, xmm2/m128 4 つのパックド単精度データを表す 128 ビットを、 XMM2/Mem から XMM1 レジスタに移動する。 0F,29,/r MOVAPS xmm2/m128, xmm1 4 つのパックド単精度データを表す 128 ビットを、 XMM1 レジスタから XMM2/Mem に移動する。 操作 if (destination == xmm1) { if (source == m128) { // load instruction xmm1[127-0] = m128; } else { // move instruction xmm1[127=0] = xmm2[127-0]; } } else { if (destination == m128) { // store instruction m128 = xmm1[127-0]; } else { // move instruction xmm2[127-0] = xmm1[127-0]; } } 説明 リ ニア ・ ア ド レ ス は、 参照 さ れる メ モ リ ・ デー タ の最下位バイ ト のア ド レ ス に対応す る。 メモリ ・ アド レスが指定される と、 メモリ ・ ロケーシ ョン m128 の 16 バイ ト のデータが ロード またはストアされる。 この操作をレジスタ-レ ジ ス タ形式で使用す る と 、 128 ビッ トのソース・レジスタの内容が、 128 ビッ トのデスティネーション・レジスタにコピー される。 FP 例外 セグメン ト を問わず、 16 バイ ト 境界にアラ イ メ ン ト が合 っ ていない場合は、 一般保護例 外。 数値例外 なし。 3:926 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス

MOVAPS—Move Aligned Four Packed Single-FP ( 続き ) 保護モード例外 #GP(0) CS、 DS、 ES、 FS、 または GS セグメン ト 内のメモ リ ・ オ ペラン ドの実効アドレスが無効の場合。 #SS(0) SS セグメン ト 内のアド レスが無効の場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #UD CR0.EM = 1 の場合。 #NM CR0 の TS ビ ッ ト がセ ッ ト さ れた場合。 #UD CRCR4.OSFXSR ( ビッ ト 9) = 0 の場合。 #UD CPUID.XMM (EDX ビッ ト 25) = 0 の場合。 実アドレス・モード例外 割り込み 13 オペラン ド の一部が 0 ~ 0FFFFH の実効ア ド レス空間の範 囲外の場合。 #UD CR0.EM = 1 の場合。 #NM CR0 の TS ビ ッ ト がセ ッ ト さ れた場合。 #UD CRCR4.OSFXSR ( ビッ ト 9) = 0 の場合。 #UD CPUID.XMM (EDX ビッ ト 25) = 0 の場合。 仮想 8086 モード例外 実ア ド レ ス ・ モー ド と 同じ例外。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト Itanium アーキテクチャ ・ メモリ ・ フォル ト 浮動小数点レ ジ ス タ無効フ ォ ル ト (PSR.dfl が 1 の場合 )、 NaT レ ジ ス タ参照フ ォ ル ト 。 VHPT データ ・ フォル ト、 データ TLB フォルト、 代替 データ TLB フォルト、 データ・ページ不在フォルト、 データ NaT ページ参照アボー ト、 データ ・ キー ・ ミ ス ・ フォルト、 データ・キー許可フォルト、 データ・アクセス 権フォルト、 データ・アクセス・ビット ・フォルト。 コメント MOVAPS 命令は、 16 バ イ ト にア ラ イ メ ン ト の合 っ た単精度浮動小数点値を処理する場合 に使用 さ れる。 デー タ のア ラ イ メ ン ト が確実でない場合は、 MOVAPS の代わ り に MOVUPS を使用する必要がある。 MOVAPS 命令の使用は、 アラ イ メ ン ト の制約条件が 簡単に満た さ れる場合に限られる。 ス ト リ ー ミ ン グ SIMD 拡張命令をサポ ー ト す る プ ロ セッサ上では、 アライメントの合ったデータに対してはMOVAPS 命令が最適なパフ ォ ー マン ス を発揮す る。 MOVAPS での リ ピー ト ・ プ リ フ ィ ッ ク ス (F2H,F3H) の使用は予約済みである。 こ のプ リ フ ィ ッ ク スの処理は、 プ ロ セ ッ サに よ っ て変わ る可能性があ る。 MOVAPS でこのプリ フ ィ ッ ク ス を使用す る と 、 将来のプ ロ セ ッ サ と の互換性を損な う おそれがある。 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス 3:927

MOVAPS—Move Aligned Four Packed Single-FP ( 続き )<br />

保護モード例外<br />

#GP(0) CS、 DS、 ES、 FS、 または GS セグメン ト 内のメモ リ ・ オ<br />

ペラン ドの実効アドレスが無効の場合。 #SS(0) SS セグメン ト 内のアド レスが無効の場合。<br />

#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />

#UD CR0.EM = 1 の場合。<br />

#NM CR0 の TS ビ ッ ト がセ ッ ト さ れた場合。<br />

#UD CRCR4.OSFXSR ( ビッ ト 9) = 0 の場合。<br />

#UD CPUID.XMM (EDX ビッ ト 25) = 0 の場合。<br />

実アドレス・モード例外<br />

割り込み 13 オペラン ド の一部が 0 ~ 0FFFFH の実効ア ド レス空間の範<br />

囲外の場合。<br />

#UD CR0.EM = 1 の場合。<br />

#NM CR0 の TS ビ ッ ト がセ ッ ト さ れた場合。<br />

#UD CRCR4.OSFXSR ( ビッ ト 9) = 0 の場合。<br />

#UD CPUID.XMM (EDX ビッ ト 25) = 0 の場合。<br />

仮想 8086 モード例外<br />

実ア ド レ ス ・ モー ド と 同じ例外。<br />

#PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。<br />

追加の Itanium ベース・システム環境例外<br />

Itanium アーキテクチャ ・<br />

レジスタ ・ フォルト<br />

Itanium アーキテクチャ ・<br />

メモリ ・ フォル ト<br />

浮動小数点レ ジ ス タ無効フ ォ ル ト (PSR.dfl が 1 の場合 )、<br />

NaT レ ジ ス タ参照フ ォ ル ト 。<br />

VHPT データ ・ フォル ト、 データ TLB フォルト、 代替<br />

データ TLB フォルト、 データ・ページ不在フォルト、<br />

データ NaT ページ参照アボー ト、 データ ・ キー ・ ミ ス ・<br />

フォルト、 データ・キー許可フォルト、 データ・アクセス<br />

権フォルト、 データ・アクセス・ビット ・フォルト。<br />

コメント<br />

MOVAPS 命令は、 16 バ イ ト にア ラ イ メ ン ト の合 っ た単精度浮動小数点値を処理する場合<br />

に使用 さ れる。 デー タ のア ラ イ メ ン ト が確実でない場合は、 MOVAPS の代わ り に<br />

MOVUPS を使用する必要がある。 MOVAPS 命令の使用は、 アラ イ メ ン ト の制約条件が<br />

簡単に満た さ れる場合に限られる。 ス ト リ ー ミ ン グ SIMD 拡張命令をサポ ー ト す る プ ロ<br />

セッサ上では、 アライメントの合ったデータに対してはMOVAPS 命令が最適なパフ ォ ー<br />

マン ス を発揮す る。<br />

MOVAPS での リ ピー ト ・ プ リ フ ィ ッ ク ス (F2H,F3H) の使用は予約済みである。 こ のプ リ<br />

フ ィ ッ ク スの処理は、 プ ロ セ ッ サに よ っ て変わ る可能性があ る。 MOVAPS でこのプリ<br />

フ ィ ッ ク ス を使用す る と 、 将来のプ ロ セ ッ サ と の互換性を損な う おそれがある。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!