アンパック | |
UNPCKLPS VUNPCKLPS | 単精度アンパック (下位64bit) [SSE] |
---|---|
UNPCKHPS VUNPCKHPS | 単精度アンパック (上位64bit) [SSE] |
UNPCKLPD VUNPCKLPD | 倍精度アンパック (下位) [SSE2] |
UNPCKHPD VUNPCKHPD | 倍精度アンパック (上位) [SSE2] |
隣接した値の複製 | |
MOVSLDUP VMOVSLDUP | パック単精度の移動/複製 (下位) [SSE3] |
MOVSHDUP VMOVSHDUP | パック単精度の移動/複製 (上位) [SSE3] |
MOVDDUP VMOVDDUP | パック倍精度の移動/複製 (下位) [SSE3] |
下位or上位64bitにコピー | |
MOVLPS VMOVLPS | 単精度 下位64bitの値を下位64bitに移動 [SSE] |
MOVHPS VMOVHPS | 単精度 上位64bitの値を上位64bitに移動 [SSE] |
MOVLHPS VMOVLHPS | 単精度 下位64bitの値を上位64bitに移動 [SSE] |
MOVHLPS VMOVHLPS | 単精度 上位64bitの値を下位64bitに移動 [SSE] |
MOVLPD VMOVLPD | 倍精度 下位64bitの値を下位64bitに移動 [SSE2] |
MOVHPD VMOVHPD | 倍精度 上位64bitの値を上位64bitに移動 [SSE2] |
ブレンドコピー | |
BLENDPS VBLENDPS | パック単精度のブレンドコピー (即値) [SSE4.1] |
BLENDVPS VBLENDVPS | パック単精度のブレンドコピー (レジスタ) [SSE4.1] |
BLENDPD VBLENDPD | パック倍精度のブレンドコピー (即値) [SSE4.1] |
BLENDVPD VBLENDVPD | パック倍精度のブレンドコピー (レジスタ) [SSE4.1] |
シャッフルコピー | |
SHUFPS VSHUFPS | パック単精度のシャッフルコピー [SSE] |
SHUFPD VSHUFPD | パック倍精度のシャッフルコピー [SSE2] |
パック抽出/挿入 | |
EXTRACTPS VEXTRACTPS | パック単精度から抽出 [SSE4.1] |
INSERTPS VINSERTPS | パック単精度に挿入(クリア付き) [SSE4.1] |
符号抽出 | |
MOVMSKPS VMOVMSKPS | パック単精度の符号抽出 [SSE] |
MOVMSKPD VMOVMSKPD | パック倍精度の符号抽出 [SSE2] |
(単精度) 最大値/最小値 | |
MINSS VMINSS | 単一単精度の最小値 [SSE] |
MINPS VMINPS | パック単精度の最小値 [SSE] |
MAXSS VMAXSS | 単一単精度の最大値 [SSE] |
MAXPS VMAXPS | パック単精度の最大値 [SSE] |
(倍精度) 最小値/最大値 | |
MINSD VMINSD | 単一倍精度の最小値 [SSE2] |
MINPD VMINPD | パック倍精度の最小値 [SSE2] |
MAXSD VMAXSD | 単一倍精度の最大値 [SSE2] |
MAXPD VMAXPD | パック倍精度の最大値 [SSE2] |
アンパック
UNPCKLPS xmm1, xmm2/mem128 | 0F 14 /r VUNPCKLPS xmm1, xmm2, xmm3/mem128 | C4 RXB.01 X.src1.0.00 14 /r VUNPCKLPS ymm1, ymm2, ymm3/mem256 | C4 RXB.01 X.src1.1.00 14 /r
128bit 単位で行い、2つのソースの 128bit 中の下位 64bit から、順に単精度値を取り出し、宛先に交互に並べます。
src1 = x0.., src2 = y0.. * 128bit dst |y1|x1|y0|x0| * 256bit dst |y5|x5|y4|x4|y1|x1|y0|x0|
UNPCKHPS xmm1, xmm2/mem128 | 0F 15 /r | SSE VUNPCKHPS xmm1, xmm2, xmm3/mem128 | C4 RXB.01 X.src1.0.00 15 /r | AVX VUNPCKHPS ymm1, ymm2, ymm3/mem256 | C4 RXB.01 X.src1.1.00 15 /r | AVX
128bit 単位で行い、2つのソースの 128bit 中の上位 64bit から、順に単精度値を取り出し、宛先に交互に並べます。
UNPCKLPD xmm1, xmm2/mem128 | 66 0F 14 /r | SSE2 VUNPCKLPD xmm1, xmm2, xmm3/mem128 | C4 RXB.01 X.src1.0.01 14 /r | AVX VUNPCKLPD ymm1, ymm2, ymm3/mem256 | C4 RXB.01 X.src1.1.01 14 /r | AVX
128bit 単位で行い、128bit 中の下位 64bit (倍精度) を、2つのソースから取り出し、宛先に交互に並べます。
UNPCKHPD xmm1, xmm2/mem128 | 66 0F 15 /r | SSE2 VUNPCKHPD xmm1, xmm2, xmm3/mem128 | C4 RXB.01 X.src1.0.01 15 /r | AVX VUNPCKHPD ymm1, ymm2, ymm3/mem256 | C4 RXB.01 X.src1.1.01 15 /r | AVX
128bit 単位で行い、128bit 中の上位 64bit (倍精度) を、2つのソースから取り出し、宛先に交互に並べます。
隣接した値の複製
MOVSLDUP xmm1, xmm2/mem128 | F3 0F 12 /r | SSE3 VMOVSLDUP xmm1, xmm2/mem128 | C4 RXB.00001 X.1111.0.10 12 /r | AVX VMOVSLDUP ymm1, ymm2/mem256 | C4 RXB.00001 X.1111.1.10 12 /r | AVX
第2オペランドの、2つ単位で隣接した単精度の下位の方の値を、宛先の対応する位置の上位と下位にコピーします。
* 128bit op2 |4321| -> op1 |3311| * 256bit op2 |87654321| -> op1 |77553311|
MOVSHDUP xmm1, xmm2/mem128 | F3 0F 16 /r | SSE3 VMOVSHDUP xmm1, xmm2/mem128 | C4 RXB.00001 X.1111.0.10 16 /r | AVX VMOVSHDUP ymm1, ymm2/mem256 | C4 RXB.00001 X.1111.1.10 16 /r | AVX
第2オペランドの、2つ単位で隣接した単精度の上位の方の値を、宛先の対応する位置の上位と下位にコピーします。
* 128bit op2 |4321| -> op1 |4422| * 256bit op2 |87654321| -> op1 |88664422|
MOVDDUP xmm1, xmm2/mem64 | F2 0F 12 /r | SSE3 VMOVDDUP xmm1, xmm2/mem64 | C4 RXB.00001 X.1111.0.11 12 /r | AVX VMOVDDUP ymm1, ymm2/mem256 | C4 RXB.00001 X.1111.1.11 12 /r | AVX
第2オペランドの、2つ単位で隣接した倍精度の下位の方の値を、宛先の対応する位置の上位と下位にコピーします。
* 128bit op2 |21| -> op1 |11| * 256bit op2 |4321| -> op1 |3311|
下位or上位64bitにコピー
MOVLPS xmm1, mem64 | 0F 12 /r | SSE MOVLPS mem64, xmm1 | 0F 13 /r | SSE VMOVLPS xmm1, xmm2, mem64 | C4 RXB.00001 X.src.0.00 12 /r | AVX VMOVLPS mem64, xmm1 | C4 RXB.00001 X.1111.0.00 13 /r | AVX
下位 64bit (2つの単精度) の値を、宛先の下位 64bit にコピーします。
MOVLPS の場合、宛先の上位 64bit は変更されません。
VMOVLPS (レジスタが宛先) の場合、宛先の上位 64bit は、第2オペランドからコピーされます。
MOVLPS の場合、宛先の上位 64bit は変更されません。
VMOVLPS (レジスタが宛先) の場合、宛先の上位 64bit は、第2オペランドからコピーされます。
MOVHPS xmm1, mem64 | 0F 16 /r | SSE MOVHPS mem64, xmm1 | 0F 17 /r | SSE VMOVHPS xmm1, xmm2, mem64 | C4 RXB.00001 X.src.0.00 16 /r | AVX VMOVHPS mem64, xmm1 | C4 RXB.00001 X.1111.0.00 17 /r | AVX
上位 64bit (2つの単精度) の値を、宛先の上位 64bit にコピーします。
MOVHPS の場合、宛先の下位 64bit は変更されません。
VMOVHPS (レジスタが宛先) の場合、宛先の下位 64bit は、第2オペランドからコピーされます。
MOVHPS の場合、宛先の下位 64bit は変更されません。
VMOVHPS (レジスタが宛先) の場合、宛先の下位 64bit は、第2オペランドからコピーされます。
MOVLHPS xmm1, xmm2 | 0F 16 /r | SSE VMOVLHPS xmm1, xmm2, xmm3 | C4 RXB.00001 X.src.0.00 16 /r | AVX
ソースの下位 64bit (2つの単精度) の値を、宛先の上位 64bit にコピーします。
MOVLHPS の場合、宛先の下位 64bit は変更されません。
VMOVLHPS の場合、宛先の下位 64bit は、第2オペランドからコピーされます。
MOVLHPS の場合、宛先の下位 64bit は変更されません。
VMOVLHPS の場合、宛先の下位 64bit は、第2オペランドからコピーされます。
MOVHLPS xmm1, xmm2 | 0F 12 /r | SSE VMOVHLPS xmm1, xmm2, xmm3 | C4 RXB.00001 X.src.0.00 12 /r | AVX
ソースの上位 64bit (2つの単精度) の値を、宛先の下位 64bit にコピーします。
MOVHLPS の場合、宛先の上位 64bit は変更されません。
VMOVHLPS の場合、宛先の上位 64bit は、第2オペランドからコピーされます。
MOVHLPS の場合、宛先の上位 64bit は変更されません。
VMOVHLPS の場合、宛先の上位 64bit は、第2オペランドからコピーされます。
MOVLPD xmm1, mem64 | 66 0F 12 /r | SSE2 MOVLPD mem64, xmm1 | 66 0F 13 /r | SSE2 VMOVLPD xmm1, xmm2, mem64 | C4 RXB.00001 X.src.0.01 12 /r | AVX VMOVLPD mem64, xmm1 | C4 RXB.00001 X.1111.0.01 13 /r | AVX
ソースの下位 64bit (1つの倍精度) の値を、宛先の下位 64bit にコピーします。
MOVLPD の場合、宛先の上位 64bit は変更されません。
VMOVLPD (レジスタが宛先) の場合、宛先の上位 64bit は、第2オペランドからコピーされます。
MOVLPD の場合、宛先の上位 64bit は変更されません。
VMOVLPD (レジスタが宛先) の場合、宛先の上位 64bit は、第2オペランドからコピーされます。
MOVHPD xmm1, mem64 | 66 0F 16 /r | SSE2 MOVHPD mem64, xmm1 | 66 0F 17 /r | SSE2 VMOVHPD xmm1, xmm2, mem64 | C4 RXB.00001 X.src.0.01 16 /r | AVX VMOVHPD mem64, xmm1 | C4 RXB.00001 X.1111.0.01 17 /r | AVX
ソースの上位 64bit (1つの倍精度) の値を、宛先の上位 64bit にコピーします。
MOVHPD の場合、宛先の下位 64bit は変更されません。
VMOVHPD (レジスタが宛先) の場合、宛先の下位 64bit は、第2オペランドからコピーされます。
MOVHPD の場合、宛先の下位 64bit は変更されません。
VMOVHPD (レジスタが宛先) の場合、宛先の下位 64bit は、第2オペランドからコピーされます。
ブレンドコピー
BLENDPS xmm1, xmm2/mem128, imm8 | 66 0F 3A 0C /r ib | SSE4.1 VBLENDPS xmm1, xmm2, xmm3/mem128, imm8 | C4 RXB.00011 X.src.0.01 0C /r ib | AVX VBLENDPS ymm1, ymm2, ymm3/mem256, imm8 | C4 RXB.00011 X.src.1.01 0C /r ib | AVX
即値バイトの指定に従って、2つのソースのパック単精度のどちらかの値を、宛先の対応する位置にコピーします。
8bit 即値の値は、1bit 単位で、宛先の各位置に対応します。
ビットが 0 の場合は、第1ソースから、ビットが 1 の場合は、第2ソースからコピーします。
8bit 即値の値は、1bit 単位で、宛先の各位置に対応します。
ビットが 0 の場合は、第1ソースから、ビットが 1 の場合は、第2ソースからコピーします。
BLENDVPS xmm1, xmm2/mem128 | 66 0F 38 14 /r | SSE4.1 VBLENDVPS xmm1, xmm2, xmm3/mem128, xmm4 | C4 RXB.00011 X.src.0.01 4A /r | AVX VBLENDVPS ymm1, ymm2, ymm3/mem256, ymm4 | C4 RXB.00011 X.src.1.01 4A /r | AVX
マスクの指定に従って、2つのソースのパック単精度のどちらかの値を、宛先の対応する位置にコピーします。
マスク値は、BLENDVPS の場合は XMM0 レジスタで、VBLENDVPS の場合は最後のオペランドで指定します。
32bit 単位で、宛先の各位置に対応し、それぞれの最上位ビットで、どちらからコピーするかを指定します。
ビットが 0 の場合は、第1ソースから、ビットが 1 の場合は、第2ソースからコピーします。
マスク値は、BLENDVPS の場合は XMM0 レジスタで、VBLENDVPS の場合は最後のオペランドで指定します。
32bit 単位で、宛先の各位置に対応し、それぞれの最上位ビットで、どちらからコピーするかを指定します。
ビットが 0 の場合は、第1ソースから、ビットが 1 の場合は、第2ソースからコピーします。
BLENDPD xmm1, xmm2/mem128, imm8 | 66 0F 3A 0D /r ib | SSE4.1 VBLENDPD xmm1, xmm2, xmm3/mem128, imm8 | C4 RXB.00011 X.src.0.01 0D /r ib | AVX VBLENDPD ymm1, ymm2, ymm3/mem256, imm8 | C4 RXB.00011 X.src.1.01 0D /r ib | AVX
即値バイトの指定に従って、2つのソースのパック倍精度のどちらかの値を、宛先の対応する位置にコピーします。
8bit 即値の値は、1bit 単位で、宛先の各位置に対応します。
ビットが 0 の場合は、第1ソースから、ビットが 1 の場合は、第2ソースからコピーします。
8bit 即値の値は、1bit 単位で、宛先の各位置に対応します。
ビットが 0 の場合は、第1ソースから、ビットが 1 の場合は、第2ソースからコピーします。
BLENDVPD xmm1, xmm2/mem128 | 66 0F 38 15 /r | SSE4.1 VBLENDVPD xmm1, xmm2, xmm3/mem128, xmm4 | C4 RXB.00011 X.src.0.01 4B /r | AVX VBLENDVPD ymm1, ymm2, ymm3/mem256, ymm4 | C4 RXB.00011 X.src.1.01 4B /r | AVX
マスクの指定に従って、2つのソースのパック倍精度のどちらかの値を、宛先の対応する位置にコピーします。
マスク値は、BLENDVPD の場合は XMM0 レジスタで、VBLENDVPD の場合は最後のオペランドで指定します。
64bit 単位で、宛先の各位置に対応し、それぞれの最上位ビットで、どちらからコピーするかを指定します。
ビットが 0 の場合は、第1ソースから、ビットが 1 の場合は、第2ソースからコピーします。
マスク値は、BLENDVPD の場合は XMM0 レジスタで、VBLENDVPD の場合は最後のオペランドで指定します。
64bit 単位で、宛先の各位置に対応し、それぞれの最上位ビットで、どちらからコピーするかを指定します。
ビットが 0 の場合は、第1ソースから、ビットが 1 の場合は、第2ソースからコピーします。
シャッフルコピー
SHUFPS xmm1, xmm2/mem128, imm8 | 0F C6 /r ib | SSE VSHUFPS xmm1, xmm2, xmm3/mem128, imm8 | C4 RXB.01 X.src1.0.00 C6 /r | AVX VSHUFPS ymm1, ymm2, ymm3/mem256, imm8 | C4 RXB.01 X.src1.1.00 C6 /r | AVX
即値バイトで指定された値に従って、宛先の各単精度の値を、第2オペランドの任意の位置からコピーします。
即値バイトは、2bit x 4 で、宛先の各位置に対応し、コピーするソースの位置を 0〜3 で指定します (32bit 単位)。
256bit の場合、上位 128bit は、同じ即値を使って、同じように処理します (ソースの位置は上位 128bit が対象)。
即値バイトは、2bit x 4 で、宛先の各位置に対応し、コピーするソースの位置を 0〜3 で指定します (32bit 単位)。
256bit の場合、上位 128bit は、同じ即値を使って、同じように処理します (ソースの位置は上位 128bit が対象)。
SHUFPD xmm1, xmm2/mem128, imm8 | 66 0F C6 /r ib | SSE2 VSHUFPD xmm1, xmm2, xmm3/mem128, imm8 | C4 RXB.01 X.src1.0.01 C6 /r | AVX VSHUFPD ymm1, ymm2, ymm3/mem256, imm8 | C4 RXB.01 X.src1.1.01 C6 /r | AVX
即値バイトで指定された値に従って、宛先の各倍精度の値を、第2オペランドの任意の位置からコピーします。
即値バイトは、1bit x 2 or 4 で、宛先の各位置に対応し、コピーするソースの位置を 0 or 1 で指定します (64bit 単位)。
256bit の場合、bit 3:2 は、上位 128bit の宛先位置に対応します (ソースの位置は上位 128bit が対象)。
即値バイトは、1bit x 2 or 4 で、宛先の各位置に対応し、コピーするソースの位置を 0 or 1 で指定します (64bit 単位)。
256bit の場合、bit 3:2 は、上位 128bit の宛先位置に対応します (ソースの位置は上位 128bit が対象)。
パック抽出/挿入
EXTRACTPS reg32/mem32, xmm1 imm8 | 66 0F 3A 17 /r ib | SSE4.1 VEXTRACTPS reg32/mem32, xmm1, imm8 | C4 RXB.00011 X.1111.0.01 17 /r ib | AVX
ソースの、4つのパック単精度のうち、即値バイトで指定された位置 (0〜3) の値を、汎用レジスタまたは 32bit メモリ位置にコピーします。
INSERTPS xmm1, xmm2/mem32, imm8 | 66 0F 3A 21 /r ib | SSE4.1 VINSERTPS xmm1, xmm2, xmm3/mem128, imm8 | C4 RXB.00011 X.src.0.01 21 /r ib | AVX
ソースの、パック単精度 (128bit) の任意の位置の 32bit 値、または、32bit メモリ位置の値を、宛先の任意の位置にコピーし、オプションで、宛先の各位置の値を 0 をクリアします。
即値オペランドは、3つのフィールドに分かれます。
COUNT_S: 128bit のソースからコピーする値の位置 (0〜3)。ソースがメモリの場合、0 にします。
COUNT_D: 宛先にコピーする位置 (0〜3)。
ZMASK: 4つのビットが、それぞれ宛先の位置に対応します。ビットが 1 の場合、宛先の値を 0 にします。
即値オペランドは、3つのフィールドに分かれます。
| 7 6 | 5 4 | 3 0 | bit | COUNT_S | COUNT_D | ZMASK |
COUNT_S: 128bit のソースからコピーする値の位置 (0〜3)。ソースがメモリの場合、0 にします。
COUNT_D: 宛先にコピーする位置 (0〜3)。
ZMASK: 4つのビットが、それぞれ宛先の位置に対応します。ビットが 1 の場合、宛先の値を 0 にします。
符号抽出
MOVMSKPS reg, xmm | 0F 50 /r | SSE VMOVMSKPS reg, xmm | C4 RXB.00001 X.1111.0.00 50 /r | AVX VMOVMSKPS reg, ymm | C4 RXB.00001 X.1111.1.00 50 /r | AVX
パック単精度の各符号ビットを抽出し、汎用レジスタにゼロ拡張して書き込みます。
XMM は 4bit、YMM は 8bit。
XMM は 4bit、YMM は 8bit。
MOVMSKPD reg, xmm | 66 0F 50 /r | SSE2 VMOVMSKPD reg, xmm | C4 RXB.00001 X.1111.0.01 50 /r | AVX VMOVMSKPD reg, ymm | C4 RXB.00001 X.1111.1.01 50 /r | AVX
パック倍精度の各符号ビットを抽出し、汎用レジスタにゼロ拡張して書き込みます。
XMM は 2bit、YMM は 4bit。
XMM は 2bit、YMM は 4bit。
(単精度) 最大値/最小値
MINSS xmm1, xmm2/mem32 | F3 0F 5D /r | SSE VMINSS xmm1, xmm2, xmm3/mem32 | C4 RXB.00001 X.src.X.10 5D /r | AVX
第1ソースの下位 32bit の単精度値を、第2ソースの対応する値と比較し、小さい方の値を、宛先の下位 32bit に書き込みます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
MINPS xmm1, xmm2/mem128 | 0F 5D /r | SSE VMINPS xmm1, xmm2, xmm3/mem128 | C4 RXB.00001 X.src.0.00 5D /r | AVX VMINPS ymm1, ymm2, ymm3/mem256 | C4 RXB.00001 X.src.1.00 5D /r | AVX
第1ソースのパック単精度を、それぞれ第2ソースの対応する値と比較し、小さい方の値を、宛先の対応する場所に書き込みます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
MAXSS xmm1, xmm2/mem32 | F3 0F 5F /r | SSE VMAXSS xmm1, xmm2, xmm3/mem32 | C4 RXB.00001 X.src.X.10 5F /r | AVX
第1ソースの下位 32bit の単精度値を、第2ソースの対応する値と比較し、大きい方の値を、宛先の下位 32bit に書き込みます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
MAXPS xmm1, xmm2/mem128 | 0F 5F /r | SSE VMAXPS xmm1, xmm2, xmm3/mem128 | C4 RXB.00001 X.src.0.00 5F /r | AVX VMAXPS ymm1, ymm2, ymm3/mem256 | C4 RXB.00001 X.src.1.00 5F /r | AVX
第1ソースのパック単精度を、それぞれ第2ソースの対応する値と比較し、大きい方の値を、宛先の対応する場所に書き込みます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
(倍精度) 最小値/最大値
MINSD xmm1, xmm2/mem64 | F2 0F 5D /r | SSE2 VMINSD xmm1, xmm2, xmm3/mem64 | C4 RXB.00001 X.src.X.11 5D /r | AVX
第1ソースの下位 64bit 倍精度値を、第2ソースの対応する値と比較し、小さい方の値を、宛先の下位 64bit に書き込みます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
MINPD xmm1, xmm2/mem128 | 66 0F 5D /r | SSE2 VMINPD xmm1, xmm2, xmm3/mem128 | C4 RXB.00001 X.src.0.01 5D /r | AVX VMINPD ymm1, ymm2, ymm3/mem256 | C4 RXB.00001 X.src.1.01 5D /r | AVX
第1ソースのパック倍精度を、それぞれ第2ソースの対応する値と比較し、小さい方の値を、宛先の対応する場所に書き込みます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
MAXSD xmm1, xmm2/mem64 | F2 0F 5F /r | SSE2 VMAXSD xmm1, xmm2, xmm3/mem64 | C4 RXB.00001 X.src.X.11 5F /r | AVX
第1ソースの下位 64bit 倍精度値を、第2ソースの対応する値と比較し、大きい方の値を、宛先の下位 64bit に書き込みます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
MAXPD xmm1, xmm2/mem128 | 66 0F 5F /r | SSE2 VMAXPD xmm1, xmm2, xmm3/mem128 | C4 RXB.00001 X.src.0.01 5F /r | AVX VMAXPD ymm1, ymm2, ymm3/mem256 | C4 RXB.00001 X.src.1.01 5F /r | AVX
第1ソースのパック倍精度を、それぞれ第2ソースの対応する値と比較し、大きい方の値を、宛先の対応する場所に書き込みます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。
両方の値が 0 の場合、第2ソースの値が返されます。
いずれかのオペランドが NaN (SNaN or QNaN) で、無効な操作の例外がマスクされている場合、第2ソースが宛先に書き込まれます。