HSUBPD—Packed Double-FP Horizontal SubtractInstruction Operand EncodingDescriptionThe HSUBPD instruction subtracts horizontally the packed DP FP numbers of both operands. Subtracts the double-precision floating-point value in the high quadword of the destination operand from the low quadword of the destination operand and stores the result in the low quadword of the destination operand. Subtracts the double-precision floating-point value in the high quadword of the source operand from the low quad-word of the source operand and stores the result in the high quadword of the destination operand. In 64-bit mode, use of the REX.R prefix permits this instruction to access additional registers (XMM8-XMM15).See Figure3-20 for HSUBPD; see Figure3-21 for VHSUBPD.Opcode/InstructionOp/ En64/32-bit ModeCPUID Feature FlagDescription66 0F 7D /rHSUBPD xmm1,xmm2/m128RMV/VSSE3Horizontal subtract packed double-precision floating-point values from xmm2/m128 to xmm1.VEX.128.66.0F.WIG 7D /rVHSUBPD xmm1,xmm2, xmm3/m128RVMV/VAVXHorizontal subtract packed double-precision floating-point values from xmm2 and xmm3/mem.VEX.256.66.0F.WIG 7D /rVHSUBPD ymm1, ymm2, ymm3/m256RVMV/VAVXHorizontal subtract packed double-precision floating-point values from ymm2 and ymm3/mem.Op/EnOperand 1Operand 2Operand 3Operand 4RMModRM:reg (r, w)ModRM:r/m (r)NANARVMModRM:reg (w)VEX.vvvv (r)ModRM:r/m (r)NAFigure 3-20. HSUBPD—Packed Double-FP Horizontal SubtractOM15995HSUBPD xmm1, xmm2/m128xmm1xmm2/m128[63:0][127:64][127:64][63:0][63:0][127:64]Result:xmm1xmm2/m128[63:0] -xmm2/m128[127:64]xmm1[63:0] - xmm1[127:64]
This UNOFFICIAL reference was generated from the official Intel® 64 and IA-32 Architectures Software Developer’s Manual by a dumb script. There is no guarantee that some parts aren't mangled or broken and is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.