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

VFNMSUB231PS



Subtracts the product of the second and third source operands from the first source operand for each corresponding 32-bit floating-point element. The operation is defined as: $destination = source1 - (source2 \times source3)$.

The following table describes the supported source and destination operands.

source destination(s)
xmm/ymm/zmm xmm/ymm/zmm
m32/m64/m128/m256/m512 xmm/ymm/zmm

DO NOT support LOCK

This instruction is only available in 64-bit mode or 32-bit mode when the AVX-512 foundation is supported. It requires the VEX or EVEX prefix. If the EVEX prefix is used, the instruction may employ masking (k-registers) to conditionally update elements of the destination register.

The instruction supports the execution of the operation using the specified rounding mode in the MXCSR register. It may trigger floating-point exceptions including #D, #O, #U, and #P based on the result of the fused multiply-subtract operation. To avoid precision loss, note that the operation is performed with infinite precision before rounding to the destination format. Use of the EVEX encoded version is REQUIRED for operations on zmm registers.