Intel® C++ Compiler Classic Developer Guide and Reference

ID 767249
Date 7/13/2023
Public
Document Table of Contents

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

See Also