# qsimd-serialize-fp-reduction, Qsimd-serialize-fp-reduction

Tells the compiler to serialize floating-point reduction when vectorizing SIMD loops.

## Syntax

Linux: | -qsimd-serialize-fp-reduction -qno-simd-serialize-fp-reduction

macOS: | -qsimd-serialize-fp-reduction -qno-simd-serialize-fp-reduction

Windows: | /Qsimd-serialize-fp-reduction /Qsimd-serialize-fp-reduction-

## Arguments

None

## Default

-qno-simd-serialize-fp-reduction or /Qsimd-serialize-fp-reduction- | The compiler does not attempt to serialize floating-point reduction in SIMD loops.

## Description

The OpenMP* SIMD reduction specification and the setting of compiler option -fp-model (Linux* and macOS) or /fp (Windows*) can contradict in requirements. When contradiction occurs, the default behavior of the compiler is to follow OpenMP* specification and therefore vectorize the loop, including floating-point reduction.

This option lets you override this default behavior - it causes the compiler to follow the -fp-model (or /fp) specification. This means that the compiler will serialize the floating-point reduction while vectorizing the rest of the loop.

### Note

When [q or Q]simd-honor-fp-model is specified and OpenMP* SIMD reduction specification is the only thing causing serialization of the entire loop, addition of option [q or Q]simd-serialize-fp-reduction will result in vectorization of the entire loop except for reduction calculation, which will be serialized.

### Note

This option does not affect automatic vectorization of loops. By default, the compiler uses -fp-model (Linux* and macOS) or /fp (Windows*) settings for this.

## IDE Equivalent

None

## Alternate Options

None

Parent topic: Floating-Point Options

## See Also

qsimd-honor-fp-model, Qsimd-honor-fp-model compiler option
fp-model, fp compiler option
simd pragma