SPRUI04F july 2015 – april 2023
Specifying functional units has been deprecated by the ability to partition registers directly. (See Section 5.3.2 for details.) While you can use the unit specifier field in linear assembly, only the register side information is used by the compiler.
You specify a functional unit by following the assembler instruction with a period (.) and a functional unit specifier. One instruction can be assigned to each functional unit in a single instruction cycle. There are eight functional units, two of each functional type, and two address paths. The two of each functional type are differentiated by the data path each uses, A or B.
.D1 and .D2 | Data/addition/subtraction operations |
.L1 and .L2 | Arithmetic logic unit (ALU)/compares/long data arithmetic |
.M1 and .M2 | Multiply operations |
.S1 and .S2 | Shift/ALU/branch/field operations |
.T1 and .T2 | Address paths |
There are several ways to enter the unit specifier filed in linear assembly. Of these, only the specific register side information is recognized and used:
LDW .D1T2 *A3[A4], B3
LDW .D1T2 *src, dst
For more information on functional units refer to the TMS320C6000 CPU and Instruction Set Reference Guide.