# simd, Qsimd

Enables or disables compiler interpretation of simd pragmas.

## Syntax

Linux: | -simd -no-simd

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.

### Note

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.

## IDE Equivalent

None

## Alternate Options

None

Parent topic: Advanced Optimization Options

## See Also

vec, Qvec compiler option
Function Annotations and the SIMD Directive for Vectorization
simd pragma