Modulo Scheduling of Multicycle Loops
6-76
Example 6–40. Assembly Code for Weighted Vector Sum (Continued)
STH
.D2
B9,*B0++[2]
; store ci+1
||
SHR
.S2
B5,15,B7
;* (m * ai+1) >> 15
||
STH
.D1
A9,*A6++[2]
;* store ci
||
SHR
.S1
A5,15,A7
;** (m * ai) >> 15
||
AND
.L2
B2,B10,B8
;** bi
||[A1] SUB
.L1
A1,1,A1
;*** decrement loop counter
||
MPY
.M1X
A2,B6,A5
;*** m * ai
; Branch occurs here
ADD
.L2
B7,B1,B9
; ci+1 = (m * ai+1) >> 15 + bi+1
STH
.D2
B9,*B0
; store ci+1