SPRUIG6L January   2018  – March 2025

 

  1.   1
  2.   C7000 Host Emulation
  3. About This Document
    1. 1.1 Related Documentation
    2. 1.2 Disclaimer
    3. 1.3 Trademarks
  4. Getting Started with Host Emulation
    1. 2.1 System Requirements
    2. 2.2 Installation Instructions
    3. 2.3 Host Emulation Library Versions
    4. 2.4 Summary of Differences: Host Emulation Coding vs. Native C7000 Coding
  5. General Coding Requirements
    1. 3.1 Required Header Files
    2. 3.2 Package Dependencies
    3. 3.3 Example Program
  6. Intrinsics
    1. 4.1 OpenCL-Like Intrinsics
    2. 4.2 Streaming Address Generator Intrinsics
    3. 4.3 C6000 Legacy Intrinsics
    4. 4.4 Memory System Intrinsics
  7. TI Vector Types
    1. 5.1 Constructors
    2. 5.2 Accessors
    3. 5.3 Vector Operators
    4. 5.4 Print Debug Function
  8. Streaming Engine and Streaming Address Generator
  9. Lookup Table and Histogram Interface
    1. 7.1 Lookup Table and Histogram Data
  10. C6000 Migration
    1. 8.1 __float2_t Legacy Data Type
  11. Matrix Multiply Accelerator (MMA) Interface
  12. 10Compiler Errors and Warnings
    1. 10.1 Key Terms Found in Compiler Errors and Warnings
    2. 10.2 Host Emulation Specific Syntax
  13. 11Revision History
  14.   36

TI Vector Types

The C7000 Host Emulation package generally allows for the use of TI vector types (for example, int16) to be used in the same way as with the C7000 compiler. Boolean vectors, such as bool16, are also supported.

However, due to C7000 Host Emulation being written in C++, there are limitations. The following sections discuss and provide examples of these limitations. Where limitations exist, usage and syntax changes may be required.

Note: If a TI vector type feature is not mentioned here but is permissible with the C7000 compiler, the feature is permissible with C7000 Host Emulation.

As with the C7000 compiler, C7000 Host Emulation enables support for vector data types by default. Instead of using the --vectypes=off C7000 compiler option to disable vector data type names, to disable vector data type names that are not prefixed with a double-underscore you should define the TI_VECTYPES_OFF macro. For example, the __int4 type is always available, but defining TI_VECTYPES_OFF on the command line, such as with g++ -DTI_VECTYPES_OFF, disables the int4 type. (The syntax to define a macro varies depending on your compiler.)