| 
 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 |