This content has not been validated; it was AI-generated following the x86-64 ISA Documentation generation process to maintain high quality. However, as no human has verified this data, errors may exist. If the accuracy of this data is critical, please consult the Intel SDM. The model used to generate this is gemma4:31b
VPERM2F128
Permutes two 128-bit floating-point vectors based on an index provided by a third operand. The instruction selects four 32-bit floating-point elements from two source vectors according to the indices in the immediate or register operand, placing them into the destination vector.
The table after the description covers what the source and destinations can be.
| source | destination(s) |
|---|---|
| reg | reg |
| reg | reg |
| imm | reg |
DO NOT support LOCK
This instruction SHALL be executed in 64-bit mode or compatibility mode. It REQUIRES AVX support.
The indices provided in the control operand MUST be within the range of the available elements in the two source vectors; indices exceeding the bounds of the source registers result in the corresponding destination element being set to zero. Since this instruction operates on 128-bit vectors, it SHOULD be used with caution in mixed-width AVX code to avoid performance penalties associated with VEX-encoded transitions between 128-bit and 256-bit registers.