Option |
Description |
---|---|
-ax{i|M|K|W} | Enables the vectorizer and generates specialized and generic IA-32 code. The generic code is usually slower than the specialized code. -vec- disables vectorization, but processor-specific code continues to be generated. |
-vec_reportn | Controls the vectorizer's level of diagnostic messages: n =0 no diagnostic information is displayed. n =1 display diagnostics indicating loops successfully vectorized (default). n =2 same as n =1, plus diagnostics indicating loops not successfully vectorized. n =3 same as n =2, plus additional information about any proven or assumed dependences. |
-x{i|M|K|W} | Turns on the vectorizer and generates processor-specific specialized code. -vec- disables vectorization, but processor-specific code continues to be generated. |
Option | Description |
---|---|
-ax{i|M|K|W} | Generates, on a single binary, code specialized to the extensions specified by {i|M|K|W} but also generates generic IA-32 code. The generic code is usually slower. See Specialized Code with -ax for details. The -ax{M|K|W} options turn on the vectorizer (note that -axi does not). |
-vec_reportn | Controls the vectorizer's level of diagnostic messages: n = 0 no diagnostic information is displayed. n = 1display diagnostics indicating loops successfully vectorized (default). n = 2 same as n = 1, plus diagnostics indicating loops not successfully vectorized. n = 3 same as n = 2, plus additional information about any proven or assumed dependences. |
-x{i|M|K|W} | Generates specialized code to run exclusively on processors with the extensions specified by {i|M|K|W}. See Optimizing for Processors and Extensions Sets (IA-32 Only) for details. The -Qx{M|K|W} options turn on vectorizer with -O2 which is on by default. |
Option | Description |
---|---|
__declspec(align(n)) |
Directs the compiler to align the variable var-name to an n -byte boundary. Address of the variable is address mod n = 0. |
__declspec(align(n,off)) |
Directs the compiler to align the variable var-name to an n -byte boundary with offset off within each n -byte boundary. Address of the variable is address mod n = off. |
-restrict | Permits the disambiguator flexibility in alias assumptions, which enables more vectorization. |
__assume_aligned(a,n) |
Instructs the compiler to assume that array a is aligned on an n -byte boundary; used in cases where the compiler has failed to obtain alignment information. |
#pragma ivdep | Instructs the compiler to ignore assumed vector dependencies. |
#pragma vector {aligned | unaligned} | Specifies how to vectorize the loop and indicates that efficiency heuristics should be ignored. |
#pragma novector | Specifies that the loop should never be vectorized |