Index
Index-5
multicycle instruction, staggered accumulation, 6-37
multiple assignment, code example, 7-3
MUST_ITERATE, 3-25
N
O
–o compiler option, 3-5, 3-6, 3-41, 3-44
operands
placement in assembly code, 5-8
types of, 5-8
optimizing assembly code, introduction, 6-2
outer loop conditionally executed with inner loop,
P
parallel bars, in assembly code, 5-2
path in dependency graph, 6-11
performance analysis
of C code, 3-3
of dot product examples, 6-18, 6-28, 6-57
of FIR filter code, 6-129, 6-136, 6-150
of if-then-else code, 6-94, 6-101
–pm compiler option, 3-5, 3-6, 3-7, 3-12, 3-44
pragma, MUST_ITERATE, 3-44
priming the loop, described, 6-51
program-level optimization, 3-7
pseudo-code, for single-cycle accumulator with
ADDSP, 6-37
R
redundant
load elimination, 6-111
loops, 3-43
.reg directive, 2-25, 6-20, 6-21
register
allocation, 6-128
operands, 5-8
resource
conflicts
described, 6-65
live-too-long issues, 6-68, 6-102
table
FIR filter code, 6-115, 6-129, 6-147
if-then-else code, 6-90, 6-98
IIR filter code, 6-81
live-too-long code, 6-105
S
scheduling table.
See modulo iteration interval table
short
arrays, 3-26
data type, 3-2, 3-25
single assignment, code example, 7-4
accumulation, staggered results due to 3-cycle
delay, 6-38
described, 6-29
when not used, 3-50
software-pipelined schedule, creating, 6-34
split-join path, 6-102, 6-103, 6-105