Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference

ID 767253
Date 3/22/2024
Public
Document Table of Contents

Debug Operations

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.

Output Operations

  • The two single, double-precision floating-point values of A are placed in the output buffer and printed in decimal format as follows:
    cout << F64vec2 A;
    "[1]:A1 [0]:A0"
    
    Corresponding intrinsics: none
  • The four, single-precision floating-point values of A are placed in the output buffer and printed in decimal format as follows:
    cout << F32vec4 A;
    "[3]:A3 [2]:A2 [1]:A1 [0]:A0"
    
    Corresponding intrinsics: none
  • The lowest, single-precision floating-point value of A is placed in the output buffer and printed.
    cout << F32vec1 A;
    Corresponding intrinsics: none

Element Access Operations

  • 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.
    Corresponding intrinsics: none

Element Assignment Operations

  • 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;
  • Modify one of the four, single-precision floating-point values of A. Permitted values of int i are 0, 1, 2, and 3. For example:
    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.
    Corresponding intrinsics: none.