VECTOR TEMPORAL and VECTOR NONTEMPORAL (i32, i64em)

General Compiler Directive: Controls how the "stores" of register contents to storage are performed (streaming versus non-streaming). These directives are only available on IA-32 architecture and Intel® 64 architecture.

Syntax

cDEC$ VECTOR TEMPORAL

cDEC$ VECTOR NONTEMPORAL [(var[, var]...)]

c

Is one of the following: C (or c), !, or *. (See Syntax Rules for Compiler Directives.)

val

Is an optional memory reference in the form of a variable name.

Description

VECTOR NONTEMPORAL directs the compiler to use non-temporal (that is, streaming) stores. VECTOR TEMPORAL directs the compiler to use temporal (that is, non-streaming) stores.

By default, the compiler automatically determines whether a streaming store should be used for each variable.

Streaming stores may cause significant performance improvements over non-streaming stores for large numbers on certain processors. However, the misuse of streaming stores can significantly degrade performance.

For more information on this directive, including an example, see Optimizing Applications: Vectorization Support.

See Also