📄 sobel1.asm
字号:
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop label : loop
;* Loop source line : 111
;* Loop closing brace source line : 235
;* Known Minimum Trip Count : 4
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 0
;* Unpartitioned Resource Bound : 12
;* Partitioned Resource Bound(*) : 12
;* Resource Partition:
;* A-side B-side
;* .L units 6 2
;* .S units 2 1
;* .D units 3 4
;* .M units 11 11
;* .X cross paths 6 3
;* .T address paths 7 7
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 10 10 (.L or .S unit)
;* Addition ops (.LSD) 15 14 (.L or .S or .D unit)
;* Bound(.L .S .LS) 9 7
;* Bound(.L .S .D .LS .LSD) 12* 11
;*
;* Searching for software pipeline schedule at ...
;* ii = 12 Schedule found with 4 iterations in parallel
;*
;* Register Usage Table:
;* +-----------------------------------------------------------------+
;* |AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB|
;* |00000000001111111111222222222233|00000000001111111111222222222233|
;* |01234567890123456789012345678901|01234567890123456789012345678901|
;* |--------------------------------+--------------------------------|
;* 0: |****** *** ****************|* ******* ****************|
;* 1: |** *** ** * ****************|* ******* ****************|
;* 2: |* ***** * ** ****************|** **** ****************|
;* 3: |*********** * **************|***** ** *********** ****|
;* 4: |************ ****************|******** ****************|
;* 5: |************ ****************|******* ** ****************|
;* 6: |** ********* ****************|********** ****************|
;* 7: |** ********* ****************|*********** ****************|
;* 8: |********** ****************|*** ****** ************** *|
;* 9: | ********** ****************|********** ************* **|
;* 10: | ********** *************** |********** ****************|
;* 11: | ********** ****************|********** ****************|
;* +-----------------------------------------------------------------+
;*
;* Done
;*
;* Epilog not removed
;* Collapsed epilog stages : 0
;*
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 0 bytes
;*
;* For further improvement on this loop, try option -mh24
;*
;* Minimum safe trip count : 4
;*----------------------------------------------------------------------------*
;* SINGLE SCHEDULED ITERATION
;*
;* loop:
;* 0 LDNDW .D1T1 *A24++(8),A5:A4 ; |111| A load, line 3
;* 1 LDNDW .D1T1 *A26++(8),A9:A8 ; |113| A load, line 1
;* 2 NOP 1
;* 3 LDNDW .D2T2 *B19++(8),B9:B8 ; |115| B load, line 3
;* 4 LDNDW .D2T2 *B18++(8),B7:B6 ; |116| B load, line 2
;* 5 LDNDW .D2T2 *B16++(8),B5:B4 ; |117| B load, line 1
;* || UNPKHU4 .L1 A4,A3 ; |183|
;* 6 LDNDW .D1T1 *A20++(8),A17:A16 ; |112| A load, line 2
;* || DOTPSU4 .M1 A22,A5,A31 ; |146|
;* || UNPKLU4 .S2X A4,B27 ; |178|
;* || UNPKHU4 .L1 A5,A11 ; |201|
;* 7 DOTPSU4 .M1 A28,A5,A30 ; |145|
;* || UNPKLU4 .S1 A8,A18 ; |176|
;* 8 DOTPSU4 .M1 A22,A4,A16 ; |126|
;* || DOTPSU4 .M2 B25,B8,B6 ; |135|
;* || UNPKHU4 .S2 B9,B31 ; |209|
;* 9 DOTPSU4 .M1 A28,A4,A27 ; |125|
;* || DOTPSU4 .M2 B17,B8,B29 ; |136|
;* || UNPKLU4 .S1X B8,A19 ; |188|
;* 10 MPYU4 .M2 B6,B26,B7:B6 ; |172|
;* || UNPKHU4 .L2 B8,B2 ; |193|
;* || MVD .M1 A11,A31 ; |201| Split a long life
;* 11 DOTPSU4 .M2 B25,B9,B6 ; |155|
;* || MPYU4 .M1 A16,A29,A5:A4 ; |171|
;* || UNPKHU4 .S1 A8,A10 ; |181|
;* || UNPKLU4 .S2 B9,B30 ; |205|
;* 12 PACK2 .S1 A30,A31,A30 ; |147|
;* || DOTPSU4 .M2 B17,B9,B7 ; |156|
;* || MPYU4 .M1 A17,A29,A19:A18 ; |169|
;* || UNPKLU4 .S2 B4,B9 ; |186|
;* 13 DOTPSU4 .M1 A23,A8,A10 ; |121|
;* || PACK2 .S1 A27,A16,A27 ; |127|
;* || PACK2 .S2 B6,B29,B29 ; |137|
;* || MPYU4 .M2 B7,B26,B7:B6 ; |173|
;* || UNPKHU4 .L2 B4,B1 ; |191|
;* 14 DOTPSU4 .M1 A23,A9,A1 ; |141|
;* || DOTPSU4 .M2 B22,B5,B2 ; |151|
;* || ADD2 .L2 B9,B6,B7 ; |187|
;* || ADD2 .S2 B1,B7,B8 ; |192|
;* || UNPKLU4 .S1 A5,A0 ; |197|
;* 15 MPYU4 .M1 A9,A25,A17:A16 ; |170|
;* || MPYU4 .M2 B5,B24,B5:B4 ; |174|
;* || ADD2 .S1 A18,A4,A11 ; |177|
;* || ADD2 .D1 A10,A5,A4 ; |182|
;* || ADD2 .L2X B7,A19,B8 ; |189|
;* || ADD2 .S2 B8,B2,B9 ; |194|
;* 16 DOTPSU4 .M1 A21,A9,A16 ; |142|
;* || DOTPSU4 .M2 B21,B5,B5 ; |152|
;* || PACK2 .S2 B6,B7,B1 ; |157|
;* || ADD2 .S1 A4,A3,A2 ; |184|
;* || SUB2 .L2 B9,B8,B5 ; |215|
;* 17 DOTPSU4 .M1 A21,A8,A17 ; |122|
;* || DOTPSU4 .M2 B21,B4,B3 ; |132|
;* || ADD2 .S2X A11,B27,B3 ; |179|
;* || ABS2 .L2 B5,B28 ; |216|
;* 18 DOTPSU4 .M2 B22,B4,B10 ; |131|
;* 19 ADD2 .L1 A16,A18,A19 ; |196|
;* || ADD2 .D1 A17,A19,A17 ; |200|
;* || ADD2 .S2 B4,B6,B4 ; |204|
;* || ADD2 .D2 B5,B7,B6 ; |208|
;* 20 PACK2 .S1 A1,A16,A1 ; |143|
;* || PACK2 .L2 B2,B5,B5 ; |153|
;* || ADD2 .L1 A17,A31,A16 ; |202|
;* || ADD2 .D2 B6,B31,B2 ; |210|
;* || SUB2 .D1X A2,B3,A31 ; |212|
;* 21 ADD2 .L2 B5,B1,B1 ; |159|
;* || ADD2 .D1 A19,A0,A0 ; |198|
;* || ADD2 .D2 B4,B30,B30 ; |206|
;* || ABS2 .L1 A31,A4 ; |213|
;* 22 PACK2 .S1 A10,A17,A0 ; |123|
;* || PACK2 .S2 B10,B3,B6 ; |133|
;* || ADD2 .D1 A1,A30,A1 ; |149|
;* || SUB2 .L1 A16,A0,A2 ; |218|
;* || SUB2 .D2 B2,B30,B8 ; |221|
;* 23 ADD2 .D1 A0,A27,A27 ; |129|
;* || ADD2 .D2 B6,B29,B3 ; |139|
;* || ABS2 .L1 A1,A1 ; |163|
;* || ABS2 .L2 B8,B8 ; |222|
;* 24 ABS2 .L1 A27,A17 ; |161|
;* 25 ABS2 .L1X B1,A16 ; |164|
;* 26 ADD2 .L1 A17,A4,A16 ; |224|
;* || ADD2 .D1X A16,B8,A17 ; |227|
;* 27 ABS2 .L1 A2,A5 ; |219|
;* 28 ABS2 .L1X B3,A6 ; |162|
;* || ADD2 .D1 A1,A5,A3 ; |226|
;* 29 ADD2 .D1X A6,B28,A6 ; |225|
;* || SPACKU4 .S1 A17,A3,A7 ; |230|
;* 30 SPACKU4 .S1 A6,A16,A6 ; |229|
;* 31 NOP 2
;* 33 BDEC .S2 loop,B23 ; |235|
;* 34 NOP 3
;* 37 ADD .D2 0xffffffff,B0,B0 ; |232|
;* 38 [ B0] STNDW .D2T1 A7:A6,*B20++(8) ; |233|
;* ; BRANCH OCCURS ; |235|
;*----------------------------------------------------------------------------*
L1: ; PIPED LOOP PROLOG
MV .D2X A22,B17
|| DOTPSU4 .M1 A22,A4,A16 ; |126| (P) <0,8>
|| UNPKHU4 .S2 B9,B2 ; |209| (P) <0,8>
|| DOTPSU4 .M2 B25,B8,B6 ; |135| (P) <0,8>
MV .D2X A29,B26
|| UNPKHU4 .S1 A5,A11 ; |201| (P) <0,6>
|| DOTPSU4 .M2 B17,B8,B8 ; |136| (P) <0,9>
|| UNPKLU4 .L1X B8,A19 ; |188| (P) <0,9>
|| DOTPSU4 .M1 A28,A4,A4 ; |125| (P) <0,9>
MVD .M1 A11,A27 ; |201| (P) <0,10> Split a long life
|| UNPKHU4 .S2 B8,B28 ; |193| (P) <0,10>
|| MPYU4 .M2 B6,B26,B7:B6 ; |172| (P) <0,10>
UNPKHU4 .S1 A4,A3 ; |183| (P) <0,5>
|| UNPKLU4 .S2X A4,B27 ; |178| (P) <0,6>
|| UNPKLU4 .L2 B9,B29 ; |205| (P) <0,11>
|| UNPKHU4 .L1 A8,A10 ; |181| (P) <0,11>
|| MPYU4 .M1 A16,A29,A5:A4 ; |171| (P) <0,11>
|| DOTPSU4 .M2 B25,B9,B6 ; |155| (P) <0,11>
MV .D2X A21,B21
|| UNPKLU4 .S1 A8,A18 ; |176| (P) <0,7>
|| PACK2 .L1 A7,A6,A0 ; |147| (P) <0,12>
|| DOTPSU4 .M2 B17,B9,B7 ; |156| (P) <0,12>
|| UNPKLU4 .S2 B4,B9 ; |186| (P) <0,12>
|| LDNDW .D1T1 *A24++(8),A5:A4 ; |111| (P) <1,0> A load, line 3
|| MPYU4 .M1 A17,A29,A19:A18 ; |169| (P) <0,12>
MV .D2X A23,B22
|| PACK2 .S1 A4,A16,A6 ; |127| (P) <0,13>
|| PACK2 .S2 B6,B8,B30 ; |137| (P) <0,13>
|| MPYU4 .M2 B7,B26,B7:B6 ; |173| (P) <0,13>
|| UNPKHU4 .L2 B4,B8 ; |191| (P) <0,13>
|| LDNDW .D1T1 *A26++(8),A9:A8 ; |113| (P) <1,1> A load, line 1
|| DOTPSU4 .M1 A23,A8,A10 ; |121| (P) <0,13>
MV .D2X A25,B24
|| UNPKLU4 .S1 A5,A31 ; |197| (P) <0,14>
|| ADD2 .S2 B8,B7,B8 ; |192| (P) <0,14>
|| ADD2 .L2 B9,B6,B7 ; |187| (P) <0,14>
|| DOTPSU4 .M2 B22,B5,B31 ; |151| (P) <0,14>
|| DOTPSU4 .M1 A23,A9,A30 ; |141| (P) <0,14>
ADD2 .S2 B8,B28,B9 ; |194| (P) <0,15>
|| ADD2 .L2X B7,A19,B8 ; |189| (P) <0,15>
|| ADD2 .D1 A10,A5,A4 ; |182| (P) <0,15>
|| ADD2 .S1 A18,A4,A11 ; |177| (P) <0,15>
|| MPYU4 .M1 A9,A25,A17:A16 ; |170| (P) <0,15>
|| LDNDW .D2T2 *B19++(8),B9:B8 ; |115| (P) <1,3> B load, line 3
|| MPYU4 .M2 B5,B24,B5:B4 ; |174| (P) <0,15>
SUB2 .L2 B9,B8,B5 ; |215| (P) <0,16>
|| PACK2 .S2 B6,B7,B3 ; |157| (P) <0,16>
|| ADD2 .D1 A4,A3,A7 ; |184| (P) <0,16>
|| DOTPSU4 .M1 A21,A9,A16 ; |142| (P) <0,16>
|| LDNDW .D2T2 *B18++(8),B7:B6 ; |116| (P) <1,4> B load, line 2
|| DOTPSU4 .M2 B21,B5,B5 ; |152| (P) <0,16>
DOTPSU4 .M2 B21,B4,B2 ; |132| (P) <0,17>
|| ADD2 .S2X A11,B27,B1 ; |179| (P) <0,17>
|| DOTPSU4 .M1 A21,A8,A17 ; |122| (P) <0,17>
|| UNPKHU4 .S1 A4,A3 ; |183| (P) <1,5>
|| LDNDW .D2T2 *B16++(8),B5:B4 ; |117| (P) <1,5> B load, line 1
|| ABS2 .L2 B5,B28 ; |216| (P) <0,17>
DOTPSU4 .M2 B22,B4,B10 ; |131| (P) <0,18>
|| UNPKHU4 .S1 A5,A11 ; |201| (P) <1,6>
|| UNPKLU4 .S2X A4,B27 ; |178| (P) <1,6>
|| LDNDW .D1T1 *A20++(8),A17:A16 ; |112| (P) <1,6> A load, line 2
|| DOTPSU4 .M1 A22,A5,A7 ; |146| (P) <1,6>
ADD2 .D2 B5,B7,B6 ; |208| (P) <0,19>
|| ADD2 .S2 B4,B6,B4 ; |204| (P) <0,19>
|| ADD2 .D1 A17,A19,A17 ; |200| (P) <0,19>
|| ADD2 .L1 A16,A18,A19 ; |196| (P) <0,19>
|| UNPKLU4 .S1 A8,A18 ; |176| (P) <1,7>
|| DOTPSU4 .M1 A28,A5,A27 ; |145| (P) <1,7>
ADD2 .D2 B6,B2,B1 ; |210| (P) <0,20>
|| PACK2 .S2 B31,B5,B5 ; |153| (P) <0,20>
|| PACK2 .S1 A30,A16,A27 ; |143| (P) <0,20>
|| SUB2 .D1X A7,B1,A7 ; |212| (P) <0,20>
|| ADD2 .L1 A17,A27,A16 ; |202| (P) <0,20>
|| DOTPSU4 .M1 A22,A4,A16 ; |126| (P) <1,8>
|| UNPKHU4 .L2 B9,B31 ; |209| (P) <1,8>
|| DOTPSU4 .M2 B25,B8,B6 ; |135| (P) <1,8>
ADD2 .D2 B4,B29,B3 ; |206| (P) <0,21>
|| ADD2 .S2 B5,B3,B29 ; |159| (P) <0,21>
|| ADD2 .D1 A19,A31,A30 ; |198| (P) <0,21>
|| DOTPSU4 .M1 A28,A4,A6 ; |125| (P) <1,9>
|| DOTPSU4 .M2 B17,B8,B1 ; |136| (P) <1,9>
|| UNPKLU4 .S1X B8,A19 ; |188| (P) <1,9>
|| ABS2 .L1 A7,A4 ; |213| (P) <0,21>
PACK2 .S2 B10,B2,B6 ; |133| (P) <0,22>
|| SUB2 .D2 B1,B3,B8 ; |221| (P) <0,22>
|| ADD2 .D1 A27,A0,A30 ; |149| (P) <0,22>
|| SUB2 .L1 A16,A30,A2 ; |218| (P) <0,22>
|| PACK2 .S1 A10,A17,A31 ; |123| (P) <0,22>
|| MPYU4 .M2 B6,B26,B7:B6 ; |172| (P) <1,10>
|| UNPKHU4 .L2 B8,B2 ; |193| (P) <1,10>
|| MVD .M1 A11,A31 ; |201| (P) <1,10> Split a long life
ADD2 .D2 B6,B30,B3 ; |139| (P) <0,23>
|| ABS2 .L2 B8,B8 ; |222| (P) <0,23>
|| ADD2 .D1 A31,A6,A6 ; |129| (P) <0,23>
|| UNPKLU4 .S2 B9,B30 ; |205| (P) <1,11>
|| DOTPSU4 .M2 B25,B9,B6 ; |155| (P) <1,11>
|| UNPKHU4 .S1 A8,A10 ; |181| (P) <1,11>
|| MPYU4 .M1 A16,A29,A5:A4 ; |171| (P) <1,11>
|| ABS2 .L1 A30,A1 ; |163| (P) <0,23>
PACK2 .S1 A27,A7,A30 ; |147| (P) <1,12>
|| DOTPSU4 .M2 B17,B9,B7 ; |156| (P) <1,12>
|| MPYU4 .M1 A17,A29,A19:A18 ; |169| (P) <1,12>
|| UNPKLU4 .S2 B4,B9 ; |186| (P) <1,12>
|| LDNDW .D1T1 *A24++(8),A5:A4 ; |111| (P) <2,0> A load, line 3
|| ABS2 .L1 A6,A17 ; |161| (P) <0,24>
ABS2 .L1X B29,A16 ; |164| (P) <0,25>
|| PACK2 .S1 A6,A16,A27 ; |127| (P) <1,13>
|| PACK2 .S2 B6,B1,B29 ; |137| (P) <1,13>
|| DOTPSU4 .M1 A23,A8,A10 ; |121| (P) <1,13>
|| UNPKHU4 .L2 B4,B1 ; |191| (P) <1,13>
|| LDNDW .D1T1 *A26++(8),A9:A8 ; |113| (P) <2,1> A load, line 1
|| MPYU4 .M2 B7,B26,B7:B6 ; |173| (P) <1,13>
ADD2 .D1X A16,B8,A17 ; |227| (P) <0,26>
|| ADD2 .L1 A17,A4,A16 ; |224| (P) <0,26>
|| UNPKLU4 .S1 A5,A0 ; |197| (P) <1,14>
|| ADD2 .D2 B1,B7,B8 ; |192| (P) <1,14>
|| ADD2 .S2 B9,B6,B7 ; |187| (P) <1,14>
|| DOTPSU4 .M1 A23,A9,A1 ; |141| (P) <1,14>
|| DOTPSU4 .M2 B22,B5,B2 ; |151| (P) <1,14>
;** --------------------------------------------------------------------------*
loop: ; PIPED LOOP KERNEL
ABS2 .L1 A2,A5 ; |219| <0,27>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -