Development Reference Guides

Contents

Debug Operations

The debug operations do not map to any compiler intrinsics for MMX™ instructions. 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.

Output Examples

  • The four 32-bit values of
    A
    are placed in the output buffer and printed in the following format (default in decimal):
    cout << Is32vec4 A; cout << Iu32vec4 A; cout << hex << Iu32vec4 A; /* print in hex format */ "[3]:A3 [2]:A2 [1]:A1 [0]:A0"
    Corresponding intrinsics: none
  • The two 32-bit values of
    A
    are placed in the output buffer and printed in the following format (default in decimal):
    cout << Is32vec2 A; cout << Iu32vec2 A; cout << hex << Iu32vec2 A; /* print in hex format */ "[1]:A1 [0]:A0"
    Corresponding intrinsics: none
  • The eight 16-bit values of
    A
    are placed in the output buffer and printed in the following format (default in decimal):
    cout << Is16vec8 A; cout << Iu16vec8 A; cout << hex << Iu16vec8 A; /* print in hex format */ "[7]:A7 [6]:A6 [5]:A5 [4]:A4 [3]:A3 [2]:A2 [1]:A1 [0]:A0"
    Corresponding intrinsics: none
  • The four 16-bit values of
    A
    are placed in the output buffer and printed in the following format (default in decimal):
    cout << Is16vec4 A; cout << Iu16vec4 A; cout << hex << Iu16vec4 A; /* print in hex format */ "[3]:A3 [2]:A2 [1]:A1 [0]:A0"
    Corresponding intrinsics: none
  • The sixteen 8-bit values of
    A
    are placed in the output buffer and printed in the following format (default is decimal):
    cout << Is8vec16 A; cout << Iu8vec16 A; cout << hex << Iu8vec8 A; /* print in hex format instead of decimal*/ "[15]:A15 [14]:A14 [13]:A13 [12]:A12 [11]:A11 [10]:A10 [9]:A9 [8]:A8 [7]:A7 [6]:A6 [5]:A5 [4]:A4 [3]:A3 [2]:A2 [1]:A1 [0]:A0"
    Corresponding intrinsics: none
  • The eight 8-bit values of
    A
    are placed in the output buffer and printed in the following format (default is decimal):
    cout << Is8vec8 A; cout << Iu8vec8 A;cout << hex << Iu8vec8 A; /* print in hex format instead of decimal*/ "[7]:A7 [6]:A6 [5]:A5 [4]:A4 [3]:A3 [2]:A2 [1]:A1 [0]:A0"
    Corresponding intrinsics: none

Element Access Operators

Access and read element
i
of
A
. If DEBUG is enabled and the user tries to access an element outside of
A
, a diagnostic message is printed and the program aborts.
Corresponding intrinsics: none
Examples:
int R = Is64vec2 A[i]; unsigned int R = Iu64vec2 A[i]; int R = Is32vec4 A[i]; unsigned int R = Iu32vec4 A[i]; int R = Is32vec2 A[i]; unsigned int R = Iu32vec2 A[i]; short R = Is16vec8 A[i]; unsigned short R = Iu16vec8 A[i]; short R = Is16vec4 A[i]; unsigned short R = Iu16vec4 A[i]; signed char R = Is8vec16 A[i]; unsigned char R = Iu8vec16 A[i]; signed char R = Is8vec8 A[i]; unsigned char R = Iu8vec8 A[i];

Element Assignment Operators

Assign
R
to element i of
A
. If
DEBUG
is enabled and the user tries to assign a value to an element outside of
A
, a diagnostic message is printed and the program aborts.
Corresponding intrinsics: none
Examples:
Is64vec2 A[i] = int R; Is32vec4 A[i] = int R; Iu32vec4 A[i] = unsigned int R; Is32vec2 A[i] = int R; Iu32vec2 A[i] = unsigned int R; Is16vec8 A[i] = short R; Iu16vec8 A[i] = unsigned short R; Is16vec4 A[i] = short R; Iu16vec4 A[i] = unsigned short R; Is8vec16 A[i] = signed char R; Iu8vec16 A[i] = unsigned char R; Is8vec8 A[i] = signed char R; Iu8vec8 A[i] = unsigned char R;

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.