BLENDPD
Blend valores en coma flotante de precisión doble empaquetados
estableVMJITAOTinstruccion
Codificaciones
| Opcode | Instruccion | Op/En | 64 bits | Compat/Legacy | Descripcion |
|---|---|---|---|---|---|
66 0F 3A 0D /r ib | BLENDPD xmm1, xmm2/m128, imm8 | RMI | Valido | Valido | Seleccione valores en coma flotante de precisión doble empaquetados de xmm1 y xmm2/m128 de máscara especificada en imm8 y almacene los valores en xmm1. |
VEX.128.66.0F3A.WIG 0D /r ib | VBLENDPD xmm1, xmm2, xmm3/m128, imm8 | RVMI | Valido | Valido | Seleccione valores en coma flotante de precisión doble empaquetados de xmm2 y xmm3/m128 de máscara en imm8 y almacene los valores en xmm1. |
VEX.256.66.0F3A.WIG 0D /r ib | VBLENDPD ymm1, ymm2, ymm3/m256, imm8 | RVMI | Valido | Valido | Seleccione valores en coma flotante de precisión doble empaquetados de ymm2 y ymm3/m256 de máscara en imm8 y almacene los valores en ymm1. |
Codificacion de operandos
Cada modo es un valor de la columna Op/En de arriba. Dice en que campo de la instruccion codificada va cada operando, en el orden en que se escriben, y si la instruccion lo lee, lo escribe o ambas cosas.
RMI
modrm.reglectura y escriturabyte ModRM, campo reg (bits 5-3)modrm.rmlecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pideimm8byte inmediato que sigue a la instruccion
RVMI
modrm.regescriturabyte ModRM, campo reg (bits 5-3)vex.vvvvlecturaprefijo VEX, campo vvvv (invertido)modrm.rmlecturabyte ModRM, campo r/m (bits 2-0); con el byte SIB y el desplazamiento cuando el campo mod los pideimm8.low
Coste medido
Cargando las mediciones de arch-data...
Descripción
Valores en coma flotante de precisión doble del segundo operando de origen (tercer operando) se fusionan condicionalmente con valores del primer operando de origen (segundo operando) y escrito al operando de destino (primer operando). Los bits inmediatos [3:0] determinan si el valor en coma flotante de precisión doble correspondiente en el destino es copiado de la segunda fuente o primera fuente. Si un poco en la máscara, correspondiente a una palabra, es "1", entonces el valor en coma flotante de precisión doble en el segundo operando de origen es copiado, de lo contrario el valor en el primer operando de origen es copiado.
128-bit Legacy SSE versión: La segunda fuente puede ser un registro XMM o una ubicación de memoria de 128 bits. El destino no es distinto del registro XMM de primera fuente y los bits superiores (MAXVL-1:128) del destino de registro YMM correspondiente no son modificados.
VEX.128 versión codificada: el primer operando de origen es un registro XMM. El segundo operando de origen es un registro XMM o 128 bits ubicación de memoria. El operando de destino es un registro XMM. Los bits superiores (MAXVL-1:128) del destino de registro YMM correspondiente se ponen a cero.
VEX.256 versión codificada: El primer operando de origen es un registro YMM. El segundo operando de origen puede ser un registro YMM o una ubicación de memoria de 256 bits. El operando de destino es un registro YMM.
Operación
BLENDPD (128-bit Legacy SSE Version)
IF (IMM8[0] = 0)THEN DEST[63:0] := DEST[63:0]
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[MAXVL-1:128] (Unmodified)
VBLENDPD (VEX.128 Encoded Version)
IF (IMM8[0] = 0)THEN DEST[63:0] := SRC1[63:0]
ELSE DEST [63:0] := SRC2[63:0] FI
IF (IMM8[1] = 0) THEN DEST[127:64] := SRC1[127:64]
ELSE DEST [127:64] := SRC2[127:64] FI
DEST[MAXVL-1:128] := 0
VBLENDPD (VEX.256 Encoded Version)
IF (IMM8[0] = 0)THEN DEST[63:0] := SRC1[63:0]
ELSE DEST [63:0] := SRC2[63:0] FI
IF (IMM8[1] = 0) THEN DEST[127:64] := SRC1[127:64]
ELSE DEST [127:64] := SRC2[127:64] FI
IF (IMM8[2] = 0) THEN DEST[191:128] := SRC1[191:128]
ELSE DEST [191:128] := SRC2[191:128] FI
IF (IMM8[3] = 0) THEN DEST[255:192] := SRC1[255:192]
ELSE DEST [255:192] := SRC2[255:192] FIIntel C/C++ compilador intrínseco
BLENDPD __m128d _mm_blend_pd (__m128d v1, __m128d v2, const int mask);
VBLENDPD __m256d _mm256_blend_pd (__m256d a, __m256d b, const int mask);SIMD coma flotante Excepciones
None.
Otras excepciones
Ver Tabla 2-21, "Tipo 4 Condiciones de Excepción".