📄 distancetranformb_l.asm
字号:
;* 9: |** ***** * * * ****| ****** ***** ** ***** |
;* 10: |** ***** * ** * * ****| *** ** ************** |
;* 11: |** ****** * ** *** *******| ****** *************** |
;* 12: |********** * ******** *******| ** ****** *************** |
;* 13: |************ ****************|*** ****** ****************|
;* 14: |************ ********** ****|*** ******* ****************|
;* 15: |************ *********** ****|*********** ****************|
;* 16: |************ ********* ****|** ******** ****************|
;* 17: |************ ********* ****|* ******** ****************|
;* 18: |********** * ********* ****| ******** ****************|
;* 19: |********** * ****** * ****| ******** ****************|
;* 20: |********** * ***** ** ****| ******** ****************|
;* 21: |********** * ******* ****| ******* ****************|
;* 22: |********** * ******* ****| ******* ****************|
;* 23: |********** * ******* * ****| ****** ***** **********|
;* 24: |********** * ****** * ****| ****** ****************|
;* 25: |** ******* * ****** * ****| ****** ******** ***** *|
;* 26: |** ******* * ** *** * ****| ****** ************** *|
;* 27: |** ******* * ** * * * ****| ****** ***** ******** *|
;* 28: |** ****** * ** * * * ****| ****** ***** ** ***** *|
;* 29: |** ****** * ** * ****| ****** * *** ******** *|
;* 30: |** ******* * * * ****| ****** * *** ** ***** |
;* +-----------------------------------------------------------------+
;*
;* Done
;*
;* Epilog not removed
;* Collapsed epilog stages : 0
;*
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 0 bytes
;*
;* Minimum safe trip count : 2
;*----------------------------------------------------------------------------*
;* SETUP CODE
;*
;* MV A31,B26
;*
;* SINGLE SCHEDULED ITERATION
;*
;* loop:
;* 0 LDNDW .D2T2 *B28,B21:B20 ; |97| A load, line 2
;* || SUB .S2 B28,4,B28 ; |97|
;* || ZERO .L2 B17:B16 ; |103|
;* 1 LDNDW .D1T1 *A28,A21:A20 ; |98| A load, line 1
;* || SUB .S1 A28,4,A28 ; |98|
;* || ZERO .L2 B5:B4 ; |107|
;* 2 LDNDW .D1T1 *A29,A19:A18 ; |96| A load, line 3
;* || SUB .S1 A29,4,A29 ; |96|
;* || ZERO .L1 A5:A4 ; |102|
;* 3 ZERO .L2 B9:B8 ; |105|
;* || ZERO .L1 A7:A6 ; |109|
;* 4 ZERO .L1 A17:A16 ; |106|
;* 5 ZERO .L2 B7:B6 ; |104|
;* || ZERO .L1 A9:A8 ; |108|
;* || AND .D1X B21,A1,A25 ; |133|
;* || AND .D2 B21,B26,B30 ; |145|
;* 6 AND .L1X A21,B29,A3 ; |114|
;* || AND .D1 A20,A1,A23 ; |125|
;* || SHRU .S1 A25,0x10,A2 ; |135|
;* || AND .D2 B21,B29,B19 ; |138|
;* || AND .L2 B20,B29,B1 ; |166|
;* 7 SHL .S1 A3,0x8,A24 ; |115|
;* || SHRU .S2 B19,0x8,B19 ; |139|
;* || AND .D2 B20,B27,B31 ; |152|
;* || AND .L2X B20,A1,B0 ; |160|
;* || AND .D1 A19,A1,A10 ; |193|
;* || AND .L1X A18,B29,A3 ; |213|
;* 8 AND .L2X A21,B26,B10 ; |118|
;* || AND .D2 B21,B27,B21 ; |129|
;* || SHL .S2 B19,0x10,B2 ; |141|
;* || SHRU .S1 A3,0x8,A3 ; |214|
;* 9 SHRU .S2 B21,0x8,B3 ; |130|
;* || OR .D2 B2,B9,B9 ; |143|
;* || AND .L1X A19,B29,A22 ; |196|
;* || AND .L2X A19,B26,B21 ; |200|
;* || AND .D1 A18,A1,A19 ; |210|
;* 10 OR .L2X A25,B7,B7 ; |134|
;* || OR .D2 B2,B16,B16 ; |142|
;* || OR .S2 B30,B9,B9 ; |147|
;* || OR .L1X B0,A16,A16 ; |161|
;* || OR .D1 A19,A6,A6 ; |211|
;* 11 OR .D2 B30,B16,B16 ; |146|
;* || SHL .S1X B30,0x10,A21 ; |148|
;* || SHRU .S2 B1,0x8,B30 ; |167|
;* || ADD2 .L2 B9,B22,B9 ; |179|
;* || OR .D1 A3,A6,A6 ; |215| the third line finished
;* 12 OR .L1 A21,A17,A17 ; |150|
;* || SHRU .S1X B31,0x8,A19 ; |153|
;* || SHRU .S2 B0,0x10,B31 ; |162|
;* || ADD2 .D2 B16,B23,B16 ; |176|
;* || OR .D1 A10,A9,A9 ; |194|
;* 13 OR .D1 A24,A5,A5 ; |116|
;* || OR .L2 B19,B7,B7 ; |140|
;* || OR .D2X A21,B6,B6 ; |149|
;* || OR .L1X B30,A16,A16 ; |168|
;* || SHRU .S1 A22,0x8,A21 ; |197|
;* 14 OR .D2X A19,B8,B8 ; |155|
;* || SHRU .S1 A19,0x10,A22 ; |156|
;* || SHL .S2 B30,0x10,B30 ; |169|
;* || OR .D1 A21,A9,A9 ; |198|
;* || AND .L1X A18,B27,A18 ; |205|
;* 15 SHRU .S1 A23,0x10,A21 ; |126|
;* || OR .D2 B3,B17,B17 ; |131|
;* || OR .D1 A22,A17,A17 ; |158|
;* || OR .S2 B31,B8,B8 ; |163|
;* || ADD2 .L1X A9,B23,A9 ; |217|
;* 16 OR .D2X A22,B6,B6 ; |157|
;* || AND .L2 B20,B26,B20 ; |172|
;* || ADD2 .L1 A17,A30,A17 ; |181|
;* || ADD2 .D1 A16,A30,A16 ; |182|
;* || SHL .S1X B21,0x10,A22 ; |201|
;* 17 OR .S1X B10,A5,A5 ; |119|
;* || ADD2 .D2X B6,A30,B6 ; |178|
;* || ADD2 .L2 B8,B22,B8 ; |180|
;* || ZERO .D1 A26 ; |231|
;* 18 ZERO .L2 B19:B18 ; |101|
;* || MIN2 .L1X B9,A17,A17 ; |188|
;* || OR .S1 A22,A7,A7 ; |202|
;* || OR .D1 A22,A8,A8 ; |203|
;* 19 AND .D1X A20,B27,A20 ; |121|
;* || OR .S2X A2,B17,B17 ; |136|
;* || OR .D2 B30,B4,B4 ; |170|
;* 20 ADD2 .D2 B17,B23,B17 ; |175|
;* || SHRU .S2X A18,0x18,B9 ; |206|
;* || ADD2 .D1X A6,B23,A6 ; |220|
;* 21 SHRU .S1 A20,0x8,A3 ; |122|
;* || MIN2 .L2 B16,B6,B6 ; |187| compare
;* 22 OR .D1 A3,A4,A4 ; |123|
;* || ADD2 .S2X B7,A30,B7 ; |177|
;* || OR .S1X B9,A7,A7 ; |207|
;* 23 OR .D1 A21,A4,A4 ; |127| the first line finished
;* || OR .D2X A19,B5,B5 ; |154|
;* || MIN2 .L2 B17,B7,B7 ; |186|
;* || ADD2 .S1X A7,B23,A7 ; |219|
;* 24 SHL .S2 B24,0x10,B16 ; |111| ^
;* || OR .D2 B31,B5,B5 ; |164|
;* || MIN2 .L2X B8,A16,B8 ; |189| compare
;* 25 OR .S2 B20,B4,B4 ; |173| the second line finnished
;* || ADD2 .L2 B5,B23,B5 ; |183|
;* || MIN2 .L1X A17,B7,A3 ; |226|
;* || ADD .D1 0xffffffff,A0,A0 ; |266|
;* 26 OR .D2 B16,B19,B19 ; |112| ^
;* || ADD2 .S2 B4,B23,B4 ; |184| add finished
;* || OR .D1X B9,A8,A8 ; |208|
;* || MIN2 .L1 A9,A7,A7 ; |221|
;* || MIN2 .L2 B8,B6,B7 ; |227| compare
;* 27 MIN2 .L1X A5,B5,A5 ; |190|
;* || ADD2 .D2 B19,B22,B6 ; |232| ^
;* 28 MIN2 .L1X A4,B4,A4 ; |191| compare
;* 29 ADD2 .D1X A8,B23,A8 ; |218|
;* || MIN2 .L1 A5,A7,A5 ; |224|
;* 30 MIN2 .L1 A5,A3,A22 ; |228|
;* 31 MIN2 .L1 A8,A6,A3 ; |222|
;* 32 MIN2 .L1 A4,A3,A3 ; |225| compare
;* 33 MIN2 .L2X B6,A22,B6 ; |233| ^ compare
;* 34 AND .D2X B6,A1,B20 ; |234| ^
;* 35 MIN2 .L2X A3,B7,B24 ; |229| compare
;* || AND .D1X B6,A1,A3 ; |234| Define a twin register
;* || SHRU .S2 B20,0x10,B6 ; |237| ^
;* 36 SHL .S1 A3,0x8,A27 ; |235|
;* || OR .S2 B6,B19,B19 ; |238| ^
;* 37 ADD .S2 B19,B22,B2 ; |240| ^
;* 38 NOP 1
;* 39 OR .D1 A27,A26,A21 ; |236|
;* || MIN2 .L1X B2,A22,A22 ; |241| ^
;* 40 AND .S1 A22,A31,A26 ; |242| ^
;* 41 SHL .S1 A26,0x10,A19 ; |243| ^
;* 42 OR .L1 A19,A21,A3 ; |244|
;* 43 OR .L2X A19,B18,B18 ; |245| ^
;* 44 ADD .S2 B18,B22,B19 ; |247| ^
;* 45 MIN2 .L2 B19,B24,B19 ; |248| ^
;* 46 AND .L2X B19,A1,B19 ; |249| ^
;* 47 SHRU .S2 B19,0x10,B21 ; |252| ^
;* 48 OR .S2 B21,B18,B18 ; |253| ^
;* 49 SHRU .S2 B19,0x8,B21 ; |250|
;* || ADD .D2 B18,B22,B9 ; |255| ^
;* 50 MIN2 .L2 B9,B24,B9 ; |256| ^
;* 51 AND .L2 B9,B26,B24 ; |257| ^
;* || BDEC .S1 loop,A11 ; |269|
;* 52 OR .D2X B21,A3,B16 ; |251|
;* 53 OR .D2 B24,B16,B16 ; |258| ^
;* 54 AND .S2 B16,B26,B24 ; |260| ^ Define a twin register
;* 55 MV .D1X B16,A3 ; |258| Define a twin register
;* 56 [ A0] STW .D2T1 A3,*B25-- ; |267|
;* ; BRANCH OCCURS ; |269|
;*----------------------------------------------------------------------------*
L1: ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
loop: ; PIPED LOOP KERNEL
MIN2 .L2 B8,B6,B7 ; |227| <0,26> compare
|| OR .D2 B16,B19,B19 ; |112| <0,26> ^
|| ADD2 .S2 B4,B23,B4 ; |184| <0,26> add finished
|| OR .D1X B9,A8,A8 ; |208| <0,26>
|| MIN2 .L1 A9,A7,A7 ; |221| <0,26>
ADD2 .D2 B19,B22,B6 ; |232| <0,27> ^
|| MIN2 .L1X A5,B5,A5 ; |190| <0,27>
MIN2 .L1X A4,B4,A4 ; |191| <0,28> compare
ADD2 .D1X A8,B23,A8 ; |218| <0,29>
|| MIN2 .L1 A5,A7,A5 ; |224| <0,29>
MIN2 .L1 A5,A3,A22 ; |228| <0,30>
MIN2 .L1 A8,A6,A3 ; |222| <0,31>
|| SUB .S2 B28,4,B28 ; |97| <1,0>
|| ZERO .L2 B17:B16 ; |103| <1,0>
|| LDNDW .D2T2 *B28,B21:B20 ; |97| <1,0> A load, line 2
MIN2 .L1 A4,A3,A3 ; |225| <0,32> compare
|| SUB .S1 A28,4,A28 ; |98| <1,1>
|| ZERO .L2 B5:B4 ; |107| <1,1>
|| LDNDW .D1T1 *A28,A21:A20 ; |98| <1,1> A load, line 1
MIN2 .L2X B6,A22,B6 ; |233| <0,33> ^ compare
|| SUB .S1 A29,4,A29 ; |96| <1,2>
|| ZERO .L1 A5:A4 ; |102| <1,2>
|| LDNDW .D1T1 *A29,A19:A18 ; |96| <1,2> A load, line 3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -