The debug operations do not map to any compiler intrinsics for MMX™ technology or Intel® Streaming SIMD Extensions . They are provided for debugging programs only. Use of these operations may result in loss of performance, so you should not use them outside of debugging.
cout << F64vec2 A; "[1]:A1 [0]:A0"Corresponding intrinsics: none
cout << F32vec4 A; "[3]:A3 [2]:A2 [1]:A1 [0]:A0"Corresponding intrinsics: none
cout << F32vec1 A;Corresponding intrinsics: none
double d = F64vec2 A[int i]Read one of the two, double-precision floating-point values of A without modifying the corresponding floating-point value. Permitted values of i are 0 and 1. For example:
double d = F64vec2 A[1];If DEBUG is enabled and i is not one of the permitted values (0 or 1), a diagnostic message is printed and the program aborts. Corresponding intrinsics: none
float f = F32vec4 A[int i]Read one of the four, single-precision floating-point values of A without modifying the corresponding floating point value. Permitted values of i are 0, 1, 2, and 3. For example:
float f = F32vec4 A[2];If DEBUG is enabled and i is not one of the permitted values (0-3), a diagnostic message is printed and the program aborts.
F64vec4 A[int i] = double d;Modify one of the two, double-precision floating-point values of A. Permitted values of int i are 0 and 1. For example:
F32vec4 A[1] = double d; F32vec4 A[int i] = float f;
F32vec4 A[3] = float f;If DEBUG is enabled and int i is not one of the permitted values (0-3), a diagnostic message is printed and the program aborts.