The #pragma nosimd directive instructs the compiler to not generate VMX (Vector Multimedia Extension) instructions in the loop immediately following this directive.
>>-#--pragma--nosimd-------------------------------------------><
This directive has effect only for architectures that support VMX and when used with -qhot=simd option. With these compiler options in effect, the compiler will convert certain operations that are performed in a loop on successive elements of an array into a call to VMX (Vector Multimedia Extension) instruction. This call calculates several results at one time, which is faster than calculating each result sequentially.
The #pragma nosimd directive applies only to while, do while, and for loops.
The #pragma nosimd directive applies only to the loops immediately following it. The directive has no effect on other loops that may be nested within the specified loop.
The #pragma nosimd directive can be mixed with loop optimization and OpenMP directives without requiring any specific optimization level.
Related information