Index
Index-1
Index
A
_add2 intrinsic, 3-25
allocating resources
conflicts, 6-65
dot product, 6-23
if-then-else, 6-91, 6-98
IIR filter, 6-83
in writing parallel code, 6-11
live-too-long resolution, 6-107
weighted vector sum, 6-62
AND instruction, mask for, 6-75
arrays, controlling alignment, 6-121
assembly code
comments in, 5-9
conditions in, 5-3
directives in, 5-4
dot product, fixed-point
nonparallel, 6-14
parallel, 6-15
final
dot product, fixed-point, 6-26, 6-46, 6-52, 6-55
dot product, floating-point, 6-48, 6-53, 6-56
FIR filter, 6-121, 6-130, 6-134–6-137,
FIR filter with redundant load elimination,
if-then-else, 6-92, 6-93, 6-100
IIR filter, 6-86
live-too-long, with move instructions, 6-109
weighted vector sum, 6-76
functional units in, 5-5
instructions in, 5-4
labels in, 5-2
linear
dot product, fixed-point, 6-10, 6-20, 6-24,
dot product, floating-point, 6-21, 6-25, 6-31,
FIR filter, 6-113, 6-115, 6-124, 6-126
FIR filter, outer loop, 6-139
FIR filter, outer loop conditionally executed
FIR filter, unrolled, 6-138
if-then-else, 6-88, 6-91, 6-96, 6-99
IIR filter, 6-79, 6-83
live-too-long, 6-103, 6-108
weighted vector sum, 6-58, 6-60, 6-62
mnemonics in, 5-4
operands in, 5-8
optimizing (phase 3 of flow), description, 6-2
parallel bars in, 5-2
structure of, 5-1–5-11
writing parallel code, 6-4, 6-9
assembly optimizer
for dot product, 6-41
tutorial, 2-25
using to create optimized loops, 6-39
B
big-endian mode, and MPY operation, 6-21
branch target, for software-pipelined dot product,
branching to create if-then-else, 6-87
C
C code
analyzing performance of, 3-3
basic vector sum, 3-8
dot product, 3-28