vextractf128

Extract Float 128-bit

VEXTRACTF128 xmm1/m128, ymm2, imm8

Extracts 128-bits from YMM register.

Details

Extracts a 128-bit float vector from a 256-bit YMM register based on an immediate selector and stores it to an XMM register or 128-bit memory location. The immediate byte (bit 0) selects which 128-bit lane to extract (0=lower, 1=upper). No flags are affected; this is a data extraction and movement operation only.

Pseudocode Operation

imm_index ← imm8[0];
if (imm_index == 0) {
  xmm1/m128[0:127] ← ymm2[0:127];
} else {
  xmm1/m128[0:127] ← ymm2[128:255];
}

Example

VEXTRACTF128 xmm1/m128, ymm2, 3

Encoding

Binary Layout
VEX
+0
opcode
+3
ModRM
+4
 
Format VEX
Opcode VEX.256.66.0F3A.W0 19 /r ib
Extension AVX

Operands

  • dest
    128-bit XMM SIMD register or Memory operand
  • src1
    256-bit YMM AVX register
  • src2
    8-bit signed immediate