Index
Index-3
linear assembly for inner loop with LDW and
nonparallel assembly code, 6-14
parallel assembly code, 6-15
floating-point
assembly code with LDW before software pi-
assembly code with no extraneous loads, 6-48
assembly code with no prolog or epilog, 6-53
assembly code with smallest code size, 6-56
assembly code, fully pipelined, 6-43
C code with loop unrolling, 6-20
linear assembly for inner loop with conditional
fully pipelined, 6-43
linear assembly for full code, 6-40
linear assembly for inner loop with LDW, 6-21
linear assembly for inner loop with LDW and
E
execution cycles, reducing number of, 6-9
extraneous instructions, removing, 6-45
F
feedback, from compiler or assembly optimizer, 1-8
FIR filter
optimized form, 3-30
unrolled, 6-137, 6-140
with inner loop unrolled, 6-132
with redundant load elimination, 6-112
final assembly, 6-148
for inner loop, 6-121
with redundant load elimination, 6-117
with redundant load elimination, no memory
with redundant load elimination, no memory
hits, outer loop software-pipelined, 6-134
linear assembly
for inner loop, 6-113
for outer loop, 6-139
for unrolled inner loop, 6-124
for unrolled inner loop with .mptr directive,
with inner loop unrolled, 6-138
with outer loop conditionally executed with in-
software pipelining the outer loop, 6-132
using word access in, 3-29
with inner loop unrolled, 6-123
fixed-point, dot product
linear assembly for inner loop with LDW, 6-20
linear assembly for inner loop with LDW and allo-
float data type, 3-2
floating-point, dot product
dependency graph with LDW, 6-25
linear assembly for inner loop with LDDW, 6-21
linear assembly for inner loop with LDDW with
flow diagram, code development, 1-3
functional units
fixed-point operations, 5-6
in assembly code, 5-7
list of, 5-6
operations performed on, 5-6
reassigning for parallel execution, 6-14, 6-16
functions
I
if-then-else
branching versus conditional instructions, 6-87
C code, 6-87, 6-95
final assembly, 6-92, 6-93, 6-100
linear assembly, 6-88, 6-91, 6-96, 6-99
IIR filter, C code, 6-78
in-flight value, 7-3
inserting moves, 6-106
instructions, placement in assembly code, 5-4
int data type, 3-2
interrupt subroutines, 7-11–7-14
hand-coded assembly allowing nested interrupts,