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

VFMADDSUB132PS



Computes the product of two floating-point values and adds or subtracts the result to/from a third floating-point value. The operation is performed as $f32 = (f1 \times f2) + f3$ or $f32 = (f1 \times f2) - f3$ based on the instruction variant and the sign of the operands. It operates on packed single-precision floating-point values.

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

source destination(s)
reg reg
reg m128
m128 reg
m128 m128

DO NOT support LOCK

This instruction SHALL be executed in 64-bit mode or 32-bit mode. It is NOT available in compatibility mode. It REQUIRES the AVX and FMA support in the processor.

To avoid precision loss or unexpected #P (Inexact result) exceptions, ensure that the floating-point control word is configured correctly. The instruction uses a single rounding step at the end of the fused operation, which prevents intermediate rounding errors typically found in separate multiplication and addition instructions. Use of this instruction on unsupported hardware SHALL result in an invalid opcode exception.