24531904_j
24531904_j 24531904_j
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
- Seite 888 und 889: ANDPS—Bit-wise Logical And for Si
- Seite 890 und 891: CMPPS—Packed Single-FP Compare (
- Seite 892 und 893: CMPPS—Packed Single-FP Compare (
- Seite 894 und 895: CMPSS—Scalar Single-FP Compare (
- Seite 896 und 897: CMPSS—Scalar Single-FP Compare (
- Seite 898 und 899: COMISS—Scalar Ordered Single-FP C
- Seite 900 und 901: CVTPI2PS—Packed Signed INT32 to P
- Seite 902 und 903: CVTPS2PI—Packed Single-FP to Pack
- Seite 904 und 905: CVTPS2PI—Packed Single-FP to Pack
- Seite 906 und 907: CVTSI2SS—Scalar Signed INT32 to S
- Seite 908 und 909: CVTSS2SI—Scalar Single-FP to Sign
- Seite 910 und 911: CVTTPS2PI—Packed Single-FP to Pac
- Seite 912 und 913: CVTTSS2SI—Scalar Single-FP to Sig
- Seite 914 und 915: DIVPS—Packed Single-FP Divide オ
- Seite 916 und 917: DIVSS—Scalar Single-FP Divide オ
- Seite 918 und 919: FXRSTOR—Restore FP and Intel ® M
- Seite 920 und 921: FXRSTOR—Restore FP And Intel ® M
- Seite 922 und 923: FXSAVE—Store FP and Intel ® MMX
- Seite 924 und 925: FXSAVE—Store FP and Intel ® MMX
- Seite 926 und 927: FXSAVE—Store FP and Intel ® MMX
- Seite 928 und 929: LDMXCSR—Load Streaming SIMD Exten
- Seite 930 und 931: MAXPS—Packed Single-FP Maximum
- Seite 932 und 933: MAXSS—Scalar Single-FP Maximum
- Seite 934 und 935: MINPS—Packed Single-FP Minimum
- Seite 936 und 937: MINSS—Scalar Single-FP Minimum
- Seite 940 und 941: MOVHLPS—Move High to Low Packed S
- Seite 942 und 943: MOVHPS—Move High Packed Single-FP
- Seite 944 und 945: MOVLHPS—Move Low to High Packed S
- Seite 946 und 947: MOVLPS—Move Low Packed Single-FP
- Seite 948 und 949: MOVMSKPS—Move Mask To Integer オ
- Seite 950 und 951: MOVSS—Move Scalar Single-FP オ
- Seite 952 und 953: MOVUPS—Move Unaligned Four Packed
- Seite 954 und 955: MOVUPS—Move Unaligned Four Packed
- Seite 956 und 957: MULPS—Packed Single-FP Multiply (
- Seite 958 und 959: MULSS—Scalar Single-FP Multiply (
- Seite 960 und 961: ORPS—Bit-wise Logical OR for Sing
- Seite 962 und 963: RCPPS—Packed Single-FP Reciprocal
- Seite 964 und 965: RCPSS—Scalar Single-FP Reciprocal
- Seite 966 und 967: RSQRTPS—Packed Single-FP Square R
- Seite 968 und 969: RSQRTSS—Scalar Single-FP Square R
- Seite 970 und 971: SHUFPS—Shuffle Single-FP ( 続き
- Seite 972 und 973: SQRTPS—Packed Single-FP Square Ro
- Seite 974 und 975: SQRTSS—Scalar Single-FP Square Ro
- Seite 976 und 977: STMXCSR—Store Streaming SIMD Exte
- Seite 978 und 979: SUBPS—Packed Single-FP Subtract
- Seite 980 und 981: SUBSS—Scalar Single-FP Subtract
- Seite 982 und 983: UCOMISS—Unordered Scalar Single-F
- Seite 984 und 985: UNPCKHPS—Unpack High Packed Singl
- Seite 986 und 987: UNPCKLPS—Unpack Low Packed Single
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