Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save elliotpotts/d701aac970a517462b4870259855b303 to your computer and use it in GitHub Desktop.
Save elliotpotts/d701aac970a517462b4870259855b303 to your computer and use it in GitHub Desktop.
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop found in file : ../stereo_vision_c.c
;* Loop source line : 13
;* Loop opening brace source line : 13
;* Loop closing brace source line : 26
;* Known Minimum Trip Count : 60
;* Known Maximum Trip Count : 60
;* Known Max Trip Count Factor : 60
;* Loop Carried Dependency Bound(^) : 4
;* Unpartitioned Resource Bound : 6
;* Partitioned Resource Bound(*) : 7
;* Resource Partition:
;* A-side B-side
;* .L units 6 6
;* .S units 2 3
;* .D units 3 2
;* .M units 2 3
;* .X cross paths 0 0
;* .T address paths 5 5
;* Logical ops (.LS) 0 0 (.L or .S unit)
;* Addition ops (.LSD) 8 9 (.L or .S or .D unit)
;* Bound(.L .S .LS) 4 5
;* Bound(.L .S .D .LS .LSD) 7* 7*
;*
;* Searching for software pipeline schedule at ...
;* ii = 7 Schedule found with 4 iterations in parallel
;*
;* Register Usage Table:
;* +-----------------------------------------------------------------+
;* |AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB|
;* |00000000001111111111222222222233|00000000001111111111222222222233|
;* |01234567890123456789012345678901|01234567890123456789012345678901|
;* |--------------------------------+--------------------------------|
;* 0: |* ******* ******** |* *** * ************* |
;* 1: |* **** ** ******** | ****** ************* |
;* 2: |* ******* ********* | ** ** ************* |
;* 3: |* ******* ******* * | ** ** ************ |
;* 4: |* ******* ******** | ***** ************ |
;* 5: |* ** **** ******** |* ****** ************ |
;* 6: |* ******* ********* |* **** ************* |
;* +-----------------------------------------------------------------+
;*
;* Done
;*
;* Loop will be splooped
;* Collapsed epilog stages : 0
;* Collapsed prolog stages : 0
;* Minimum required memory pad : 0 bytes
;*
;* Minimum safe trip count : 1
;* Min. prof. trip count (est.) : 3
;*
;* Mem bank conflicts/iter(est.) : { min 0.000, est 0.000, max 0.000 }
;* Mem bank perf. penalty (est.) : 0.0%
;*
;*
;* Total cycles (est.) : 21 + min_trip_cnt * 7 = 441
;*----------------------------------------------------------------------------*
;* SINGLE SCHEDULED ITERATION
;*
;* $C$C293:
;* 0 LDNDW .D2T2 *B26++(-1),B5:B4 ; [B_D64P] |../stereo_vision_c.c:18|
;* 1 LDNDW .D1T1 *A22++(-1),A5:A4 ; [A_D64P] |../stereo_vision_c.c:18|
;* 2 LDNDW .D2T2 *B27++(-1),B5:B4 ; [B_D64P] |../stereo_vision_c.c:18|
;* 3 LDNDW .D1T2 *A21++(-1),B7:B6 ; [A_D64P] |../stereo_vision_c.c:18|
;* 4 LDNDW .D1T1 *A20++(-1),A7:A6 ; [A_D64P] |../stereo_vision_c.c:18|
;* 5 SUBABS4 .L2 B18,B4,B4 ; [B_L66] |../stereo_vision_c.c:19|
;* 6 SUBABS4 .L1 A18,A4,A4 ; [A_L66] |../stereo_vision_c.c:19|
;* || SUBABS4 .L2 B17,B5,B6 ; [B_L66] |../stereo_vision_c.c:19|
;* || DOTPU4 .M2 B4,B22,B7 ; [B_M66] |../stereo_vision_c.c:20|
;* 7 DOTPU4 .M1X A4,B22,A7 ; [A_M66] |../stereo_vision_c.c:20|
;* || SUBABS4 .L2 B19,B4,B9 ; [B_L66] |../stereo_vision_c.c:19|
;* || EXTU .S2 B6,24,24,B4 ; [B_Sb66] |../stereo_vision_c.c:20|
;* 8 SUBABS4 .L2 B21,B6,B5 ; [B_L66] |../stereo_vision_c.c:19|
;* || SUBABS4 .L1X A16,B5,A24 ; [A_L66] |../stereo_vision_c.c:19|
;* || DOTPU4 .M2 B9,B22,B9 ; [B_M66] |../stereo_vision_c.c:20|
;* 9 SUBABS4 .L2 B20,B7,B5 ; [B_L66] |../stereo_vision_c.c:19|
;* || DOTPU4 .M2 B5,B22,B6 ; [B_M66] |../stereo_vision_c.c:20|
;* || SUBABS4 .L1 A9,A6,A4 ; [A_L66] |../stereo_vision_c.c:19|
;* 10 EXTU .S2 B5,24,24,B16 ; [B_Sb66] |../stereo_vision_c.c:20|
;* || MV .L2X A24,B6 ; [B_L66] |../stereo_vision_c.c:19| Define a twin register
;* || SUBABS4 .L1 A8,A7,A6 ; [A_L66] |../stereo_vision_c.c:19|
;* 11 SUBABS4 .L1 A17,A5,A4 ; [A_L66] |../stereo_vision_c.c:19|
;* || EXTU .S2 B6,24,24,B6 ; [B_Sb66] |../stereo_vision_c.c:20|
;* || DOTPU4 .M1X A4,B22,A4 ; [A_M66] |../stereo_vision_c.c:20|
;* || EXTU .S1 A6,24,24,A6 ; [A_S66] |../stereo_vision_c.c:20|
;* || ADD .D2 B4,B7,B7 ; [B_D64P] |../stereo_vision_c.c:20|
;* 12 EXTU .S1 A4,24,24,A23 ; [A_S66] |../stereo_vision_c.c:20|
;* || ADD .S2 B6,B9,B28 ; [B_Sb66] |../stereo_vision_c.c:20|
;* 13 ADD .D2 B16,B6,B8 ; [B_D64P] |../stereo_vision_c.c:20|
;* || MV .S2X A6,B16 ; [B_Sb66] |../stereo_vision_c.c:20| Define a twin register
;* || MV .D1X B7,A3 ; [A_D64P] |../stereo_vision_c.c:20| Define a twin register
;* 14 ADD .S1 A23,A7,A23 ; [A_S66] |../stereo_vision_c.c:20|
;* 15 NOP 1 ; [A_L66]
;* 16 ADD .S1X A23,B8,A6 ; [A_S66] |../stereo_vision_c.c:20|
;* || ADD .S2X B16,A4,B8 ; [B_Sb66] |../stereo_vision_c.c:20|
;* 17 ADD .S1X A6,B28,A23 ; [A_S66] |../stereo_vision_c.c:20|
;* || SUB .D2 B25,B23,B5 ; [B_D64P] |../stereo_vision_c.c:22| ^
;* 18 CMPLT .L2 B5,2,B0 ; [B_L66] |../stereo_vision_c.c:22| ^
;* 19 ADD .L1X A23,B8,A24 ; [A_L66] |../stereo_vision_c.c:20|
;* || [ B0] ZERO .D1 A0 ; [A_D64P] |../stereo_vision_c.c:22| ^
;* 20 ADD .S1 A24,A3,A6 ; [A_S66] |../stereo_vision_c.c:20|
;* 21 [!B0] CMPLT .L1 A6,A19,A0 ; [A_L66] |../stereo_vision_c.c:22| ^
;* 22 [ A0] MV .S1 A6,A19 ; [A_S66] |../stereo_vision_c.c:23|
;* || [ A0] MV .D2 B23,B24 ; [B_D64P] |../stereo_vision_c.c:24| ^
;* || ADD .S2 1,B23,B23 ; [B_Sb66] |../stereo_vision_c.c:13| ^
;* || SPBR $C$C293 ; []
;* 23 NOP 5 ; [A_L66]
;* 28 ; BRANCHCC OCCURS {$C$C293} ; [] |../stereo_vision_c.c:13|
;*
;* (Performance) If you know that this loop will always execute at a
;* multiple of <120> and at least <120> times, try adding "#pragma
;* MUST_ITERATE(120, ,120)" just before the loop.
;*----------------------------------------------------------------------------*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment