BLENDPD — Blend Packed Double Precision Floating-Point Values
sse4_1
BLENDPD xmm1, xmm2/m128, imm8
from xmm1 and
xmm2/m128 from mask
specified in imm8 and store
the values into xmm1.
ELSE DEST [63:0] SRC[63:0] FI
IF (IMM8[1] = 0) THEN DEST[127:64] DEST[127:64]
ELSE DEST [127:64] SRC[127:64] FI
DEST[VLMAX-1:128] (Unmodified)
Note:blend 从 imm8 的低2位选择dest 是保持,还是选择src的相应的值。
2.
BLENDPS — Blend Packed Single Precision Floating-Point Values
低4位来选择
3. BLENDVPD — Variable Blend Packed Double Precision Floating-Point
Values
BLENDVPD xmm1, xmm2/m128 ,<XMM0>
A V/V SSE4_1 Select packed DP FP values
from xmm1 and xmm2 from
mask specified in XMM0 and
store the values in xmm1.
MASK XMM0
IF (MASK[63] = 0) THEN DEST[63:0] DEST[63:0]
ELSE DEST [63:0] SRC[63:0] FI
IF (MASK[127] = 0) THEN DEST[127:64] DEST[127:64]
ELSE DEST [127:64] SRC[127:64] FI
DEST[VLMAX-1:128] (Unmodified)
从xmm0中的63和127位选择时保持原值还是使用src 中的。
4.
BLENDVPS — Variable Blend Packed Single Precision Floating-Point
Values