This is a summary of the “Compatibility Warnings” throughout the document. These are cases where incorrect translation to C7x may occur.
- Pblock contents. Dispatch or Kernel Code that manipulates the pblock directly based on knowledge of its contents will not work. The tvals structure, which is the C7x analogue of the pblock, has different fields at different locations. (Section 2.3)
- Pblock size. The tvals structure for C7x tends to be larger than the pblock for VCOP. Programs which allocate the pblock without using the
kernel_pblock_size()
function may fail if the allocated space is too small. (Section 1.5) - Unsigned vector elements. If a kernel relies on vector elements being treated as unsigned when bit 31 is set, the translated code may not work properly. (Section 1.5)
- 40-bit vector elements. If a kernel depends on more than 32-bits of precision in vector elements, the translated code may not work properly. (Section 1.5)