Functional Units
5-7
Structure of Assembly Code
Table 5–2. Functional Units and Operations Performed (Continued)
Functional Unit
Floating–Point Operations
Fixed–Point Operations
.M unit (.M1, .M2)
16 x 16 multiply operations
16 x 32 multiply operations
Quad 8 x 8 multiply operations
Dual 16 x 16 multiply operations
Dual 16 x 16 multiply with
add/subtract operations
Quad 8 x 8 multiply with add operation
Bit expansion
Bit interleaving/de-interleaving
Variable shift operations
Rotation
Galois Field Multiply
32 X 32–bit fixed–point multiply operations
Floating–point multiply operations
.D unit (.D1, .D2)
32-bit add, subtract, linear and circular
address calculation
Loads and stores with 5-bit constant offset
Loads and stores with 15-bit constant
offset (.D2 only)
Dual 16–bit arithmetic operations
Load and store double words with 5-bit
constant
Load and store non-aligned words and
double words
5-bit constant generation
32-bit logical operations
Load doubleword with 5–bit constant offset
Note:
Fixed-point operations are available on all three devices. Floating-point operations and 32 x 32-bit fixed-point multiply are
available only on the ’C67x. Additonal ’C64x functions are shown in bold.
Figure 5–6 shows the position of the unit in a line of assembly code.
Figure 5–6. Units in the Assembly Code
label:
[condition]
instruction unit
operands ; comments
parallel bars
Specifying the functional unit in the assembly code is optional. The functional
unit can be used to document which resource(s) each instruction uses.