2 general grouping rules, General grouping rules -8, Vles word count exceeds eight -8 – Freescale Semiconductor StarCore SC140 User Manual
Page 258: Too many agu instructions -8

7-8
SC140 DSP Core Reference Manual
Static Programming Rules
•
The SAn register contains the starting address of the first VLES of long loop n.
These assumptions ensure the LOOPSTARTn and LOOPENDn directives are consistent with the hardware
loop state machine’s decoding of the LPMARKx bits. The assembler may not detect hardware loop rules if
these assumptions are violated.
7.5.2 General Grouping Rules
Rule G.G.1
Up to 6 instructions can be grouped in a VLES. Prefix instructions (IFc, LPMARKx, and NOP) are not
counted for this rule.
Rule G.G.2
Up to eight instruction words (including prefix words) can be grouped in a VLES.
Example 7-3. VLES Word Count Exceeds Eight
jmpd r5 adr d0,d12 adr d1,d2 adr d2,d3 adr d5,d6 move.l #$12345678,r0
This example is not allowed. There are six instruction words plus two MOVE extension words and two
prefix words.
Rule G.G.3
Instructions grouped in a VLES cannot exceed the available execution units. The maximum number of
instructions in a VLES is:
•
DALU instructions listed in
Table A-7: DALU Arithmetic Instructions (MAC)
on page A-13 and
Table A-8: DALU Logical Instructions (BFU)
•
Two AGU instructions, including:
— All AGU arithmetic instructions listed in
Table A-9: AGU Arithmetic Instructions
— All AGU move instructions listed in
Table A-10: AGU Move Instructions
.
— All AGU stack support instructions listed in
Table A-11: AGU Stack Support Instructions
— All control instructions listed in
Table A-13: AGU Non-Loop Change-of-Flow Instructions
Table A-14: AGU Loop Control (Including Loop COF) Instructions
and
Table A-15: AGU Program Control Instructions
•
One bit-mask (BMU) instruction listed in
Table A-12: AGU Bit-Mask Instructions (BMU)
A-17. This instruction is also counted as an AGU instruction.
•
One ISAP opcode (2-w prefix encoding) per VLES. An ISAP can be defined to support more than
one instruction per ISAP opcode,
Section 6.3, “ISAP instructions and instruction encoding.”
•
This rule does not apply to prefix instructions listed in
Table A-16: Prefix Instructions
because they do not allocate execution units.
Example 7-4 Too Many AGU Instructions
bmtsts #$eb22,d5.h
move.w r2,(r0)+
move.w r2,(r5)
;not allowed