Structure of ISR assembly code#

To aid programming, and support instruction co-issue, program instruction groups are used.

Instruction co-issue is where multiple instructions are issued, in a single clock cycle, to run in the multiple phases of the Unified Shading Cluster (USC) Pipeline Datapath (USCPD).

The Arithmetic Logic Unit (ALU) pipeline allows up to 6 instructions (1 per phase + backend) to be issued within a clock. These instructions are presented to the assembler as a “group” of instructions.

The general layout of an instruction group can be seen below:

[n] : [if (cond)] # n is group number (if is optional)
 [Op 0] # First op
 [Op 1] # Second op (optional)
 ..
 [Op N] # Nth operation (optional)

Note

Some of the commands are removed in the interest of clarity. However, the main instructions are still there, so it is sufficient to optimise code based on the disassembly output.