The addsubpd instruction performs a packed operation involving double-precision addition and subtraction on 128-bit data. Each 128-bit operand consists of two 64-bit data elements, numbered from 0 to 1, with 1 being the high-order element. The operation subtracts the numbers in the low-order data elements and adds the numbers in the high-order elements. Thus, if the input is { A0, A1 } and { B0, B1 }, then the output is { A0–B0, A1+B1 }.
This routine is only available as an intrinsic.