Outer Loop Conditionally Executed With Inner Loop
Example 6–77. Linear Assembly for FIR With Outer Loop Conditionally Executed
With Inner Loop (With Functional Units) (Continued)
MV
MPYLH
[sctr]
ADD
MPYHL
ADD
MPYLH
ADD
MPYHL
ADD
MPYLH
ADD
MPYHL
ADD
MPYLH
ADD
MPYHL
ADD
MPY
[sctr]
ADD
MPYH
ADD
MPY
ADD
MPYH
ADD
MPY
ADD
MPYH
ADD
6-144
.L2X
x01,x01b
.M2X
h01,x01b,p10
.L2
p10,sum17,p10
.M1X
h01,x23,p11
.L2X
p11,p10,sum11
.M2
h23,x23,p12
.L2
p12,sum11,sum12
.M1X
h23,x45,p13
.L2X
p13,sum12,sum13
.M1
h45,x45,p14
.L2X
p14,sum13,sum14
.M2X
h45,x67,p15
.S2
p15,sum14,sum15
.M2
h67,x67,p16
.L2
p16,sum15,sum16
.M1X
h67,x8,p17
.L2X
p17,sum16,sum17
.M1
h01,x01,p00
.L1
p00,sum07,p00
.M1
h01,x01,p01
.L1
p01,p00,sum01
.M2
h23,x23,p02
.L1X
p02,sum01,sum02
.M2
h23,x23,p03
.L1X
p03,sum02,sum03
.M1
h45,x45,p04
.L1
p04,sum03,sum04
.M1
h45,x45,p05
.L1
p05,sum04,sum05
; move to other reg file
; p10 = h[i+0]*x[j+i+1]
; sum1(p10) = p10 + sum1
; p11 = h[i+1]*x[j+i+2]
; sum1 += p11
; p12 = h[i+2]*x[j+i+3]
; sum1 +=
p12
; p13 = h[i+3]*x[j+i+4]
; sum1 += p13
; p14 = h[i+4]*x[j+i+5]
; sum1 += p14
; p15 = h[i+5]*x[j+i+6]
; sum1 += p15
; p16 = h[i+6]*x[j+i+7]
; sum1 += p16
; p17 = h[i+7]*x[j+i+8]
; sum1 += p17
; p00 = h[i+0]*x[j+i+0]
; sum0(p00) = p00 + sum0
; p01 = h[i+1]*x[j+i+1]
; sum0 += p01
; p02 = h[i+2]*x[j+i+2]
; sum0 += p02
; p03 = h[i+3]*x[j+i+3]
; sum0 += p03
; p04 = h[i+4]*x[j+i+4]
; sum0 += p04
; p05 = h[i+5]*x[j+i+5]
; sum0 += p05
Need help?
Do you have a question about the TMS320C6000 and is the answer not in the manual?
Questions and answers