Lesson 5: Writing Linear Assembly
2-30
The following example shows the software pipeline feedback from
Example 2–16.
Example 2–17. Software Pipeline Feedback from Linear Assembly
;*––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop label : LOOP
;* Known Minimum Trip Count : 10
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 3
;* Unpartitioned Resource Bound : 4
;* Partitioned Resource Bound(*) : 4
;* Resource Partition:
;* A–side B–side
;* .L units 0 0
;* .S units 1 0
;* .D units 4* 2
;* .M units 4* 4*
;* .X cross paths 4* 4*
;* .T address paths 3 3
;* Long read paths 1 1
;* Long write paths 0 0
;* Logical ops (.LS) 0 2 (.L or .S unit)
;* Addition ops (.LSD) 5 5 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1 1
;* Bound(.L .S .D .LS .LSD) 4* 3
;*
;* Searching for software pipeline schedule at ...
;* ii = 4 Schedule found with 5 iterations in parallel
;* done
;*
;* Epilog not entirely removed
;* Collapsed epilog stages : 3
;*
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 24 bytes
;*
;* Minimum safe trip count : 2
;*
;*––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––*
Notice in Example 2–16 that each instruction is manually partitioned. From the
software pipeline feedback information in Example 2–17, you can see that a
software pipeline schedule is found at ii
=
4. This is a result of rewriting the
iircas4 ( ) function in linear assembly, as shown in Example 2–16.