The vectorizable operations are different for floating-point and integer data.
The statements within the loop body may be REAL operations (typically on arrays). The following arithmetic operations are supported: addition, subtraction, multiplication, division, negation, square root, MAX, MIN, and mathematical functions such as SIN and COS.
Conversion to/from some types of floats is not valid. Operation on DOUBLE PRECISION types is not valid, unless optimizing for a Pentium® 4 and Intel® Xeon™ processors system, using the -xW (Linux*) or /QxW (Windows*) or -axW (Linux) or /QaxW (Windows) compiler option.
The statements within the loop body may be arithmetic or logical operations (again, typically for arrays). Arithmetic operations are limited to such operations as addition, subtraction, ABS, MIN, and MAX. Logical operations include bitwise AND, OR, and XOR operators. You can mix data types only if the conversion can be done without a loss of precision. Some example operators where you can mix data types are multiplication, shift, or unary operators.
No statements other than the preceding floating-point and integer operations are valid. The loop body cannot contain any function calls other than the ones described above.