# fma, Qfma

Determines whether the compiler generates fused multiply-add (FMA) instructions if such instructions exist on the target processor.

## Syntax

Linux: | -fma -no-fma

macOS: | -fma -no-fma

Windows: | /Qfma /Qfma-

## Arguments

None

## Default

-fma or /Qfma | If the instructions exist on the target processor, the compiler generates fused multiply-add (FMA) instructions. However, if you specify -fp-model strict (Linux* and macOS) or /fp:strict (Windows*), but do not explicitly specify -fma or /Qfma, the default is -no-fma or /Qfma-.

## Description

This option determines whether the compiler generates fused multiply-add (FMA) instructions if such instructions exist on the target processor. When the [Q]fma option is specified, the compiler may generate FMA instructions for combining multiply and add operations. When the negative form of the [Q]fma option is specified, the compiler must generate separate multiply and add instructions with intermediate rounding.

This option has no effect unless setting CORE-AVX2 or higher is specified for option [Q]x,-march (Linux and macOS), or /arch (Windows).

## IDE Equivalent

None
Parent topic: Floating-Point Options

## See Also

fp-model, fp compiler option
x, Qx compiler option
ax, Qax compiler option
march compiler option
arch compiler option