SPRUIG6K January 2018 – March 2024
All intrinsics that are available with the C7000 compiler are available for use with C7000 Host Emulation. The following subsections address possible issues when using the following types of intrinsics with Host Emulation:
The following additional types of intrinsics are the same for C7000 Host Emulation and the C7000 compiler: intrinsics used for special loading and storing of vector and scalar elements, low-level direct-mapped intrinsics, intrinsics that are a part of the vector predicate to register interface, and intrinsics used to perform lookup table and histogram operations.
Intrinsics that modify control registers will do so in C7000 Host Emulation. All control registers that are available under C7000 Host Emulation can be referenced at any time as an unsigned 64-bit integer.
Reading and writing registers that rely on hardware information, such as execution mode and cycle count, is not fully supported in Host Emulation. While all symbols and intrinsics associated with these registers are defined for compilation purposes, their values cannot be depended upon to be accurate when using Host Emulation.
Some intrinsics may require special handling to be
used properly. For all intrinsics not mentioned in the subsections that follow,
their functionality remains exactly as it is on C7000. A comprehensive list of the
intrinsics available for use with the C7000 compiler can be found in the
c7x.h
file and the other header files provided in the C7000
Runtime Support Package.
Instruction execution emulates the hardware as closely as possible.