📄 distancetranform_l.asm
字号:
;* 11: |* *** *** * * * * | ****** ********* **** |
;* 12: |* *** ** * * * * | ****** *************** |
;* 13: |* ** *** * * * * | ****** *** *********** |
;* 14: |* ** *** * * ** | ****** ****************|
;* 15: |* *** *** * ** ** |* ****** ****************|
;* 16: |* ******* * ****** | ****** ****************|
;* 17: |* ******* * ****** | ****** ********** *****|
;* 18: |* ******* * ******* | ****** ****************|
;* 19: |* ******* * ******* * | ****** ****************|
;* 20: |* ******* * ********* | ****** ****************|
;* 21: |* ******* ******* * * | ****** ************** *|
;* +-----------------------------------------------------------------+
;*
;* 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 -mh4
;*
;* Minimum safe trip count : 3
;*----------------------------------------------------------------------------*
;* SINGLE SCHEDULED ITERATION
;*
;* loop:
;* 0 LDNDW .D2T2 *B8,B5:B4 ; |112| A load, line 2
;* 1 NOP 4
;* 5 AND .S2 B5,B23,B24 ; |147|
;* 6 OR .S2 B24,B9,B24 ; |148|
;* 7 LDNDW .D1T1 *A20,A5:A4 ; |113| A load, line 1
;* 8 AND .D2 B4,B18,B27 ; |192|
;* 9 ADD .D2 4,B8,B8 ; |112|
;* 10 AND .S2 B4,B23,B4 ; |171|
;* || AND .D2 B4,B21,B31 ; |180|
;* || AND .D1X B4,A3,A22 ; |187|
;* 11 AND .D2 B5,B21,B9 ; |150|
;* 12 AND .L1 A5,A3,A6 ; |120|
;* || AND .D1 A4,A3,A21 ; |139|
;* || SHRU .S1X B4,0x8,A18 ; |173|
;* 13 OR .D2 B9,B24,B4 ; |151|
;* || SHL .S2 B9,0x8,B9 ; |152|
;* || OR .D1X B4,A19,A19 ; |172|
;* 14 LDNDW .D1T1 *A8,A7:A6 ; |111| A load, line 3
;* || AND .D2X B21,A5,B28 ; |116|
;* || AND .L1X A5,B18,A24 ; |124|
;* || SHRU .S1 A22,0x8,A5 ; |189|
;* 15 SHL .S1 A24,0x8,A26 ; |127|
;* || AND .S2X B5,A3,B24 ; |155|
;* || AND .D2 B5,B18,B5 ; |162|
;* 16 SHL .S1 A24,0x18,A25 ; |125|
;* || OR .D2 B9,B19,B19 ; |153|
;* || OR .L2 B24,B4,B4 ; |156|
;* || SHL .S2 B5,0x8,B9 ; |164|
;* 17 OR .S1 A25,A7,A24 ; |126|
;* || AND .D2X A4,B21,B24 ; |136|
;* || SHL .S2 B24,0x8,B5 ; |157|
;* || OR .L2 B5,B4,B4 ; |163|
;* 18 SHL .S1 A6,0x8,A25 ; |121|
;* || OR .L2 B5,B19,B29 ; |158|
;* || SHL .S2 B9,0x8,B19 ; |166|
;* 19 OR .D2 B9,B29,B25 ; |165|
;* || SHL .S2 B19,0x8,B29 ; |168|
;* || SHL .S1 A18,0x8,A28 ; |175|
;* || AND .L2X A6,B23,B9 ; |215|
;* 20 AND .D2X A4,B23,B5 ; |130|
;* || SHL .S2 B5,0x8,B29 ; |159|
;* || OR .L2 B29,B16,B16 ; |169|
;* || SHL .S1 A28,0x8,A19 ; |177|
;* || OR .D1X B31,A19,A4 ; |181|
;* 21 SHL .S2 B28,0x8,B29 ; |117|
;* || OR .L2 B29,B7,B28 ; |160|
;* || SHRU .S1X B31,0x8,A27 ; |182|
;* 22 SHRU .S2 B5,0x8,B19 ; |131|
;* || OR .L2 B19,B28,B28 ; |167|
;* || OR .D1X A18,B16,A18 ; |174|
;* || SHL .S1 A27,0x8,A29 ; |184|
;* 23 OR .L2 B29,B26,B25 ; |118|
;* || SHRU .S1 A21,0x8,A19 ; |140|
;* || OR .D1X A19,B25,A18 ; |178|
;* || OR .L1 A27,A18,A6 ; |183|
;* || AND .D2X A6,B21,B26 ; |219|
;* 24 OR .L1X B19,A24,A6 ; |132|
;* || OR .D1 A5,A6,A5 ; |190|
;* || SHL .S1 A19,0x10,A21 ; |208|
;* || SHRU .S2 B26,0x10,B19 ; |220|
;* 25 OR .D2X A25,B25,B26 ; |122|
;* || OR .S1X A28,B28,A9 ; |176|
;* || ADD4 .L2 B4,B22,B9 ; |195|
;* || OR .D1 A21,A9,A21 ; |209|
;* || SHRU .S2 B9,0x10,B25 ; |216|
;* 26 SHRU .S2 B5,0x18,B28 ; |133|
;* || OR .D1 A29,A9,A5 ; |185|
;* || ADD4 .L2X A5,B20,B16 ; |198|
;* || SHL .S1 A19,0x10,A9 ; |212|
;* 27 ADD .D1 4,A20,A20 ; |113|
;* || OR .D2X A26,B26,B26 ; |128|
;* || OR .S1X B24,A6,A6 ; |137|
;* 28 OR .D2 B28,B26,B28 ; |134|
;* || OR .L1 A22,A4,A4 ; |188|
;* || AND .D1X A7,B21,A9 ; |204|
;* || OR .S1 A9,A21,A7 ; |213|
;* 29 OR .S1 A19,A6,A7 ; |141| the first line finished
;* || ADD4 .L2X A5,B17,B7 ; |197|
;* || OR .L1X B25,A7,A5 ; |217|
;* 30 OR .D1X B27,A4,A4 ; |193| the second line finnished
;* || MINU4 .L2 B7,B16,B30 ; |202| compare
;* || SHRU .S2X A9,0x10,B25 ; |205| element 18
;* 31 OR .D1X B19,A5,A9 ; |221| the third line finished
;* 32 ADD4 .L2X A18,B20,B19 ; |196|
;* 33 ADD .D1 4,A8,A8 ; |111|
;* || ADD4 .L1X A4,B22,A19 ; |199| add finished
;* || MINU4 .L2 B9,B19,B29 ; |201| compare
;* 34 MINU4 .L2 B30,B29,B29 ; |226| compare
;* 35 MINU4 .L1 A19,A9,A23 ; |223|
;* 36 ADD .L2 B28,B22,B26 ; |143|
;* 37 ADD .D1X A7,B22,A7 ; |144| add finished
;* 38 MINU4 .L1X B26,A7,A24 ; |145| compare
;* 39 MINU4 .L1 A24,A23,A7 ; |225| compare
;* 40 MINU4 .L1X A7,B29,A23 ; |227| ^ compare
;* 41 MINU4 .L1X B25,A23,A27 ; |229| ^ compare
;* 42 NOP 1
;* 43 AND .D2X A27,B23,B7 ; |230| ^
;* 44 NOP 1
;* 45 SHRU .S2 B7,0x8,B16 ; |232| ^
;* 46 OR .D2X B7,A17,B7 ; |231|
;* 47 NOP 1
;* 48 MINU4 .L1X B16,A23,A17 ; |233| ^
;* 49 NOP 1
;* 50 AND .L2X A17,B21,B26 ; |234| ^
;* 51 OR .D2 B26,B7,B26 ; |235|
;* || SHRU .S2 B26,0x8,B29 ; |236| ^
;* 52 NOP 1
;* 53 MINU4 .L2X B29,A23,B29 ; |237| ^
;* 54 NOP 1
;* 55 AND .S2X B29,A3,B0 ; |238| ^
;* 56 OR .D2 B0,B26,B30 ; |239|
;* || SHRU .S2 B0,0x8,B26 ; |240| ^
;* 57 MINU4 .L2X B26,A23,B24 ; |241| ^
;* || BDEC .S1 loop,A16 ; |252|
;* 58 AND .S2 B24,B18,B24 ; |242|
;* 59 OR .L2 B24,B30,B30 ; |243|
;* 60 ADD .D1 0xffffffff,A0,A0 ; |249|
;* 61 MV .D1X B30,A17 ; |243| Define a twin register
;* 62 [ A0] STW .D2T1 A17,*B6++ ; |250|
;* ; BRANCH OCCURS ; |252|
;*----------------------------------------------------------------------------*
L1: ; PIPED LOOP PROLOG
SHL .S2 B7,0x8,B16 ; |152| (P) <0,13>
|| OR .D2 B16,B19,B19 ; |148| (P) <0,6>
|| AND .L2X B21,A5,B27 ; |116| (P) <0,14>
|| AND .L1X A5,B18,A22 ; |124| (P) <0,14>
|| SHRU .S1 A19,0x8,A5 ; |189| (P) <0,14>
|| LDNDW .D1T1 *A8,A7:A6 ; |111| (P) <0,14> A load, line 3
OR .D1X B4,A20,A20 ; |172| (P) <0,13>
|| OR .D2 B7,B19,B4 ; |151| (P) <0,13>
|| AND .S2 B5,B18,B5 ; |162| (P) <0,15>
|| AND .L2X B5,A3,B7 ; |155| (P) <0,15>
|| SHL .S1 A22,0x8,A21 ; |127| (P) <0,15>
OR .D2 B16,B9,B9 ; |153| (P) <0,16>
|| OR .L2 B7,B4,B4 ; |156| (P) <0,16>
|| SHL .S2 B5,0x8,B16 ; |164| (P) <0,16>
|| SHL .S1 A22,0x18,A22 ; |125| (P) <0,16>
AND .D2X A4,B21,B7 ; |136| (P) <0,17>
|| OR .L2 B5,B4,B4 ; |163| (P) <0,17>
|| OR .D1 A22,A7,A22 ; |126| (P) <0,17>
|| SHL .S2 B7,0x8,B5 ; |157| (P) <0,17>
OR .D2 B5,B9,B19 ; |158| (P) <0,18>
|| SHL .S2 B16,0x8,B9 ; |166| (P) <0,18>
|| SHL .S1 A6,0x8,A24 ; |121| (P) <0,18>
OR .D2 B16,B19,B19 ; |165| (P) <0,19>
|| AND .L2X A6,B23,B16 ; |215| (P) <0,19>
|| SHL .S2 B9,0x8,B30 ; |168| (P) <0,19>
|| SHL .S1 A25,0x8,A28 ; |175| (P) <0,19>
AND .D1 A4,A3,A20 ; |139| (P) <0,12>
|| OR .L1X B28,A20,A4 ; |181| (P) <0,20>
|| AND .D2X A4,B23,B5 ; |130| (P) <0,20>
|| SHL .S2 B5,0x8,B30 ; |159| (P) <0,20>
|| OR .L2 B30,B26,B26 ; |169| (P) <0,20>
|| SHL .S1 A28,0x8,A23 ; |177| (P) <0,20>
ADD .D2 4,B8,B8 ; |112| (P) <0,9>
|| OR .L2 B30,B29,B27 ; |160| (P) <0,21>
|| SHL .S2 B27,0x8,B28 ; |117| (P) <0,21>
|| SHRU .S1X B28,0x8,A27 ; |182| (P) <0,21>
OR .L2 B9,B27,B26 ; |167| (P) <0,22>
|| SHL .S1 A27,0x8,A29 ; |184| (P) <0,22>
|| OR .D1X A25,B26,A25 ; |174| (P) <0,22>
|| LDNDW .D2T2 *B8,B5:B4 ; |112| (P) <1,0> A load, line 2
|| SHRU .S2 B5,0x8,B9 ; |131| (P) <0,22>
OR .D1X A23,B19,A23 ; |178| (P) <0,23>
|| AND .D2X A6,B21,B24 ; |219| (P) <0,23>
|| OR .S2 B28,B24,B19 ; |118| (P) <0,23>
|| OR .L1 A27,A25,A6 ; |183| (P) <0,23>
|| SHRU .S1 A20,0x8,A25 ; |140| (P) <0,23>
OR .D1 A5,A6,A5 ; |190| (P) <0,24>
|| OR .L1X B9,A22,A6 ; |132| (P) <0,24>
|| SHRU .S2 B24,0x10,B9 ; |220| (P) <0,24>
|| SHL .S1 A25,0x10,A20 ; |208| (P) <0,24>
OR .D1 A20,A18,A18 ; |209| (P) <0,25>
|| OR .S1X A28,B26,A20 ; |176| (P) <0,25>
|| OR .D2X A24,B19,B27 ; |122| (P) <0,25>
|| SHRU .S2 B16,0x10,B26 ; |216| (P) <0,25>
|| ADD4 .L2 B4,B22,B19 ; |195| (P) <0,25>
OR .D1 A29,A20,A5 ; |185| (P) <0,26>
|| SHL .S1 A25,0x10,A22 ; |212| (P) <0,26>
|| ADD4 .L2X A5,B20,B16 ; |198| (P) <0,26>
|| SHRU .S2 B5,0x18,B24 ; |133| (P) <0,26>
OR .D2X A21,B27,B7 ; |128| (P) <0,27>
|| OR .D1X B7,A6,A6 ; |137| (P) <0,27>
|| AND .S2 B5,B23,B27 ; |147| (P) <1,5>
|| ADD .S1 4,A9,A20 ; |113| (P) <0,27>
OR .D2 B24,B7,B24 ; |134| (P) <0,28>
|| OR .D1 A22,A18,A7 ; |213| (P) <0,28>
|| OR .S1 A19,A4,A4 ; |188| (P) <0,28>
|| OR .S2 B27,B19,B28 ; |148| (P) <1,6>
|| AND .L1X A7,B21,A9 ; |204| (P) <0,28>
OR .S1 A25,A6,A7 ; |141| (P) <0,29> the first line finished
|| ADD4 .L2X A5,B17,B7 ; |197| (P) <0,29>
|| OR .L1X B26,A7,A5 ; |217| (P) <0,29>
|| LDNDW .D1T1 *A20,A5:A4 ; |113| (P) <1,7> A load, line 1
MINU4 .L2 B7,B16,B30 ; |202| (P) <0,30> compare
|| OR .D1X B25,A4,A4 ; |193| (P) <0,30> the second line finnished
|| AND .D2 B4,B18,B27 ; |192| (P) <1,8>
|| SHRU .S2X A9,0x10,B25 ; |205| (P) <0,30> element 18
ADD .D2 4,B8,B8 ; |112| (P) <1,9>
|| OR .D1X B9,A5,A9 ; |221| (P) <0,31> the third line finished
AND .D2 B4,B21,B31 ; |180| (P) <1,10>
|| AND .S2 B4,B23,B4 ; |171| (P) <1,10>
|| AND .D1X B4,A3,A22 ; |187| (P) <1,10>
|| ADD4 .L2X A23,B20,B9 ; |196| (P) <0,32>
ADD .D1 4,A8,A8 ; |111| (P) <0,33>
|| MINU4 .L2 B19,B9,B19 ; |201| (P) <0,33> compare
|| AND .D2 B5,B21,B26 ; |150| (P) <1,11>
|| ADD4 .L1X A4,B22,A19 ; |199| (P) <0,33> add finished
SHRU .S1X B4,0x8,A18 ; |173| (P) <1,12>
|| AND .D1 A4,A3,A21 ; |139| (P) <1,12>
|| AND .L1 A5,A3,A6 ; |120| (P) <1,12>
|| MINU4 .L2 B30,B19,B19 ; |226| (P) <0,34> compare
OR .D1X B4,A19,A19 ; |172| (P) <1,13>
|| OR .D2 B26,B28,B4 ; |151| (P) <1,13>
|| SHL .S2 B26,0x8,B29 ; |152| (P) <1,13>
|| MINU4 .L1 A19,A9,A25 ; |223| (P) <0,35>
ADD .D2 B24,B22,B26 ; |143| (P) <0,36>
|| AND .S2X B21,A5,B28 ; |116| (P) <1,14>
|| AND .L1X A5,B18,A23 ; |124| (P) <1,14>
|| LDNDW .D1T1 *A8,A7:A6 ; |111| (P) <1,14> A load, line 3
|| SHRU .S1 A22,0x8,A5 ; |189| (P) <1,14>
ADD .D1X A7,B22,A7 ; |144| (P) <0,37> add finished
|| AND .D2 B5,B18,B5 ; |162| (P) <1,15>
|| AND .S2X B5,A3,B24 ; |155| (P) <1,15>
|| SHL .S1 A23,0x8,A26 ; |127| (P) <1,15>
OR .D2 B29,B9,B29 ; |153| (P) <1,16>
|| OR .L2 B24,B4,B4 ; |156| (P) <1,16>
|| SHL .S2 B5,0x8,B9 ; |164| (P) <1,16>
|| SHL .S1 A23,0x18,A23 ; |125| (P) <1,16>
|| MINU4 .L1X B26,A7,A24 ; |145| (P) <0,38> compare
AND .D2X A4,B21,B24 ; |136| (P) <1,17>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -