Developer Guide and Reference

Contents

simd, Qsimd

Enables or disables compiler interpretation of
simd pragmas
.

Syntax

Linux and macOS:
-simd
-no-simd
Windows:
/Qsimd
/Qsimd-
Arguments
None
Default
-simd
or
/Qsimd
SIMD
pragmas
are enabled.
Description
This option enables or disables compiler interpretation of
simd pragmas
.
To disable interpretation of
simd pragmas
, specify
-no-simd
(Linux* and
macOS*
) or
/Qsimd-
(Windows*). Note that the compiler may still vectorize loops based on its own heuristics (leading to generation of SIMD instructions) even when
-no-simd
(or
/Qsimd-
) is specified.
To disable all compiler vectorization, use the "
-no-vec -no-simd
" (Linux* and
macOS*
) or "
/Qvec- /Qsimd-
" (Windows*) compiler options. The option
-no-vec
(and
/Qvec-
) disables all auto-vectorization, including vectorization of array notation statements. The option
-no-simd
(and
/Qsimd-
) disables vectorization of loops that have
simd pragmas
.
If you specify option
-mia32
(Linux*) or option
/arch:IA32
(Windows*),
simd pragmas
are disabled by default and vector instructions cannot be used. Therefore, you cannot explicitly enable SIMD
pragmas
by specifying option
[Q]simd
.