Index
Index-2
FIR filter, 3-29, 3-47, 4-4, 6-111, 6-123
inner loop completely unrolled, 3-48
optimized form, 3-30
unrolled, 6-132, 6-137, 6-140
with redundant load elimination, 6-112
if-then-else, 6-87, 6-95
IIR filter, 6-78
live-too-long, 6-102
refining (phase 2 of flow), in flow diagram, 1-3
saturated add, 3-16
trip counters, 3-42
vector sum
with const keywords, _nassert, word reads,
with const keywords, _nassert, word reads,
with three memory operations, 3-45
word-aligned, 3-46
code development flow diagram
phase 1: develop C code, 1-3
phase 2: refine C code, 1-3
phase 3: write linear assembly, 1-3
comments in assembly code, 5-9
compiler options
conditional execution of outer loop with inner loop,
conditional instructions to execute if-then-else, 6-88
conditional SUB instruction, 6-29
conditions in assembly code, 5-3
const keyword, in vector sum, 3-25
D
dependency graph
dot product, fixed-point, 6-12
dot product, fixed-point
parallel execution, 6-15
with LDW, 6-22, 6-24, 6-30
dot product, floating-point, with LDW, 6-23, 6-25,
FIR filter
with arrays aligned on same loop cycle, 6-122
with no memory hits, 6-125
with redundant load elimination, 6-114
if-then-else, 6-89, 6-97
IIR filter, 6-80, 6-82
live-too-long code, 6-104, 6-107
showing resource conflict, 6-65
weighted, 6-61, 6-65, 6-69, 6-71
dot product
fixed-point, 6-9
translated to linear assembly, fixed-point, 6-10
with intrinsics, 3-28
dependency graph of basic, 6-12
fixed-point
assembly code with LDW before software pi-
assembly code with no extraneous loads, 6-46
assembly code with no prolog or epilog, 6-52
assembly code with smallest code size, 6-55
assembly code, fully pipelined, 6-42
assembly code, nonparallel, 6-14
C code with loop unrolling, 6-19
dependency graph of parallel assembly code,
dependency graph with LDW, 6-24
fully pipelined, 6-41
linear assembly for full code, 6-39
linear assembly for inner loop with conditional
linear assembly for inner loop with LDW, 6-20