24531904_j
24531904_j 24531904_j
CVTPS2PI—Packed Single-FP to Packed INT32 Conversion オペコード 命令 説明 0F,2D,/r CVTPS2PI mm, xmm/m64 XMM/Mem の下位の 2 つの単精度浮動小数点値を、MM の 下位の 2 つの符号付き 32 ビット整数に変換し、MXCSR で指定された方法で丸める。 操作 mm[31-0] = (int) (xmm/m64[31-0]); mm[63-32] = (int) (xmm/m64[63-32]); 説明 CVTPS2PI 命令は、 xmm/m64 の下位の 2 つの単精度浮動小数点値を、 mm の 2 つの符号 付き 32 ビ ッ ト 整数に変換する。 変換が不正確な場合は、 MXCSR に従って丸めた値が返 される。 変換された結果が符号付き 32 ビ ッ ト 整数の最大値 よ り 大き い場合は、 整数不定 値 (0x80000000) が返される。 FP 例外 なし。 数値例外 無効、 精度。 保護モード例外 #GP(0) CS、 DS、 ES、 FS、 または GS セグメン ト 内のメモ リ ・ オ ペラン ドの実効アドレスが無効の場合。 #SS(0) SS セグメン ト 内のアド レスが無効の場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 #UD CR0.EM = 1 の場合。 #NM CR0 の TS ビ ッ ト がセ ッ ト さ れた場合。 #MF 未処理の FPU 例外がある場合。 #AC アライメントの合っていないメモリ参照を行った場合。 #AC 例外を イ ネ ー ブルにす る には、 3 つの条件に該当しな ければならない(CR0.AMがセ ッ ト されている、EFLAGS.AC がセ ッ ト さ れてい る、 現在の CPL が 3 である )。 #XM マスク されていないスト リ ー ミ ング SIMD 拡張命令数値例 外が発生した場合 (CR4.OSXMMEXCPT = 1)。 #UD マスク されていないスト リ ー ミ ング SIMD 拡張命令数値例 外が発生した場合 (CR4.OSXMMEXCPT = 0)。 #UD CRCR4.OSFXSR ( ビッ ト 9) = 0 の場合。 #UD CPUID.XMM (EDX ビッ ト 25) = 0 の場合。 3:890 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス
CVTPS2PI—Packed Single-FP to Packed INT32 Conversion ( 続き ) 実アドレス・モード例外 割り込み 13 オペラン ド の一部が 0 ~ 0FFFFH の実効ア ド レス空間の範 囲外の場合。 #UD CR0.EM = 1 の場合。 #NM CR0 の TS ビ ッ ト がセ ッ ト さ れた場合。 #MF 未処理の FPU 例外がある場合。 #XM マスク されていないスト リ ー ミ ング SIMD 拡張命令数値例 外が発生した場合 (CR4.OSXMMEXCPT = 1)。 #UD マスク されていないスト リ ー ミ ング SIMD 拡張命令数値例 外が発生した場合 (CR4.OSXMMEXCPT = 0)。 #UD CRCR4.OSFXSR ( ビッ ト 9) = 0 の場合。 #UD CPUID.XMM (EDX ビッ ト 25) = 0 の場合。 仮想 8086 モード例外 実ア ド レ ス ・ モー ド と 同じ例外。 #AC 現行特権レベルが 3 のときに、 アライメントの合っていな い メ モ リ 参照を行 っ た場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 追加の Itanium ベース・システム環境例外 Itanium アーキテクチャ ・ レジスタ ・ フォルト Itanium アーキテクチャ ・ メモリ ・ フォル ト 浮動小数点レ ジ ス タ無効フ ォ ル ト (PSR.dfl が 1 の場合 )、 NaT レ ジ ス タ参照フ ォ ル ト 。 VHPT データ ・ フォル ト、 データ TLB フォルト、 代替 データ TLB フォルト、 データ・ページ不在フォルト、 データ NaT ページ参照アボー ト、 データ ・ キー ・ ミ ス ・ フォルト、 データ・キー許可フォルト、 データ・アクセス 権フォルト、 データ・アクセス・ビット ・フォルト。 コメント x87-FP 命令がある場合は、 この命令は次のよ う に元の MMX 命令 と 同じ動作をす る。 • x87-FP から MMX テクノロジへのトランジション (TOS=0、 FP 有効ビ ッ ト はすべて 有効に設定 )。 • MMX 命令は、 対応す る x87-FP レジスタの指数部にすべて1 を書き込む。 CVTPS2PI の フ ォ ル ト 動作お よ び支援動作の優先順位は次の と お り であ る。 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス 3:891
- Seite 852 und 853: PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ—Unp
- Seite 854 und 855: PUNPCKLBW/PUNPCKLWD/PUNPCKLDQ—Unp
- Seite 856 und 857: PXOR—Logical Exclusive OR オペ
- Seite 858 und 859: 3:846 第 3 巻 : IA-32 MMX ® テ
- Seite 860 und 861: 令テ ク ノ ロジを組み込
- Seite 862 und 863: 図 3-3. パックド操作 図 3-4
- Seite 864 und 865: COMISS (Compare scalar single-preci
- Seite 866 und 867: scalar 32-bit integer) 命令は、
- Seite 868 und 869: MASKMOVQ (Non-temporal byte mask st
- Seite 870 und 871: 3.7.1 実数体系 図 3-8 に示
- Seite 872 und 873: て異なる。 バイアス定数
- Seite 874 und 875: 極端な場合には、 先頭の
- Seite 876 und 877: 3.8 データ・フォーマット
- Seite 878 und 879: 3.10 命令プリフィックス
- Seite 880 und 881: •xmm/m64: 128 ビット ・マル
- Seite 882 und 883: ADDPS—Packed Single-FP Add ( 続
- Seite 884 und 885: ADDSS—Scalar Single-FP Add ( 続
- Seite 886 und 887: ANDNPS—Bit-wise Logical And Not F
- 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 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 938 und 939: MOVAPS—Move Aligned Four Packed S
- 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 オ
CVTPS2PI—Packed Single-FP to Packed INT32 Conversion<br />
オペコード 命令 説明<br />
0F,2D,/r CVTPS2PI mm, xmm/m64 XMM/Mem の下位の 2 つの単精度浮動小数点値を、MM の<br />
下位の 2 つの符号付き 32 ビット整数に変換し、MXCSR<br />
で指定された方法で丸める。<br />
操作<br />
mm[31-0] = (int) (xmm/m64[31-0]);<br />
mm[63-32] = (int) (xmm/m64[63-32]);<br />
説明<br />
CVTPS2PI 命令は、 xmm/m64 の下位の 2 つの単精度浮動小数点値を、 mm の 2 つの符号<br />
付き 32 ビ ッ ト 整数に変換する。 変換が不正確な場合は、 MXCSR に従って丸めた値が返<br />
される。 変換された結果が符号付き 32 ビ ッ ト 整数の最大値 よ り 大き い場合は、 整数不定<br />
値 (0x80000000) が返される。<br />
FP 例外<br />
なし。<br />
数値例外<br />
無効、 精度。<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 />
#MF 未処理の FPU 例外がある場合。<br />
#AC アライメントの合っていないメモリ参照を行った場合。<br />
#AC 例外を イ ネ ー ブルにす る には、 3 つの条件に該当しな<br />
ければならない(CR0.AMがセ ッ ト されている、EFLAGS.AC<br />
がセ ッ ト さ れてい る、 現在の CPL が 3 である )。<br />
#XM マスク されていないスト リ ー ミ ング SIMD 拡張命令数値例<br />
外が発生した場合 (CR4.OSXMMEXCPT = 1)。<br />
#UD マスク されていないスト リ ー ミ ング SIMD 拡張命令数値例<br />
外が発生した場合 (CR4.OSXMMEXCPT = 0)。<br />
#UD CRCR4.OSFXSR ( ビッ ト 9) = 0 の場合。<br />
#UD CPUID.XMM (EDX ビッ ト 25) = 0 の場合。<br />
3:890 第 3 巻 : IA-32 ストリーミング SIMD 拡張命令リファレンス