asm/reference

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

ADDSUBPS



Adds or subtracts packed single-precision floating-point values from the source to the destination. The operation is determined by the sign bit of a control register or a specific immediate/prefix depending on the implementation, performing destination = destination ± source for each corresponding f32 element in the XMM registers.

The following table covers what the source and destinations can be.

source destination(s)
xmm xmm
m128 xmm

DO NOT support LOCK

This instruction requires the SSE3 instruction set extension. It SHALL NOT be used in environments where SSE3 is not supported. It operates on XMM registers and is available in both 64-bit mode and compatibility mode.

Alignment of the m128 operand SHALL be 16-byte aligned to avoid general protection faults unless the processor supports unaligned memory access. Failure to ensure alignment may result in performance degradation or application crashes.

The instruction may trigger the following floating-point exceptions: