📄 un_autocameracontrol.asm
字号:
;* Collapsed epilog stages : 0
;* Collapsed prolog stages : 1
;* Minimum required memory pad : 0 bytes
;*
;* For further improvement on this loop, try option -mh2
;*
;* Minimum safe trip count : 1
;*----------------------------------------------------------------------------*
;* SINGLE SCHEDULED ITERATION
;*
;* C228:
;* 0 LDBU .D1T1 *++A3(2),A6 ; |317|
;* 1 LDBU .D2T2 *++B17(2),B16 ; |318|
;* || LDBU .D1T1 *+A3(1),A7 ; |318|
;* 2 LDBU .D2T2 *+B17(1),B19 ; |319|
;* 3 NOP 2
;* 5 ADDU .L1 A6,A5:A4,A5:A4 ; |317|
;* || MV .D2 B5,B18 ; |318| ^
;* || [ A0] BDEC .S1 C228,A0 ; |321|
;* 6 ADD .D2X A7,B16,B5 ; |318|
;* 7 SHR .S2 B5,1,B6 ; |318|
;* || ADDU .L2 B19,B9:B8,B9:B8 ; |319|
;* 8 SHR .S2 B6,31,B7 ; |318|
;* 9 ADDU .L2 B4,B7:B6,B5:B4 ; |318| ^
;* 10 ADD .D2 B18,B5,B5 ; |318| ^
;* ; BRANCH OCCURS ; |321|
;*----------------------------------------------------------------------------*
L29: ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L30: ; PIPED LOOP KERNEL
[!A1] ADDU .L1 A6,A5:A4,A5:A4 ; |317| <0,5>
|| MV .D2 B5,B18 ; |318| <0,5> ^
|| [ A0] BDEC .S1 L30,A0 ; |321| <0,5>
[!A1] ADD .D2X A7,B16,B5 ; |318| <0,6>
|| LDBU .D1T1 *++A3(2),A6 ; |317| <1,0>
[!A1] ADDU .L2 B19,B9:B8,B9:B8 ; |319| <0,7>
|| SHR .S2 B5,1,B6 ; |318| <0,7>
|| LDBU .D2T2 *++B17(2),B16 ; |318| <1,1>
|| LDBU .D1T1 *+A3(1),A7 ; |318| <1,1>
SHR .S2 B6,31,B7 ; |318| <0,8>
|| LDBU .D2T2 *+B17(1),B19 ; |319| <1,2>
[!A1] ADDU .L2 B4,B7:B6,B5:B4 ; |318| <0,9> ^
[ A1] SUB .D1 A1,1,A1 ; <0,10>
|| [!A1] ADD .D2 B18,B5,B5 ; |318| <0,10> ^
;** --------------------------------------------------------------------------*
L31: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
ADDU .L1 A6,A5:A4,A5:A4 ; |317| (E) <1,5>
|| MV .D2 B5,B18 ; |318| (E) <1,5> ^
MV .D1 A4,A12
|| MV .S1 A5,A13
|| ADD .D2X A7,B16,B5 ; |318| (E) <1,6>
ADDU .L2 B19,B9:B8,B9:B8 ; |319| (E) <1,7>
|| SHR .S2 B5,1,B6 ; |318| (E) <1,7>
SHR .S2 B6,31,B7 ; |318| (E) <1,8>
MV .D1X B9,A11
|| ADDU .L2 B4,B7:B6,B5:B4 ; |318| (E) <1,9> ^
MV .D1X B8,A10
|| ADD .D2 B18,B5,B5 ; |318| (E) <1,10> ^
MV .D1X B4,A20
MV .D1X B5,A21
SUB .D2 B1,1,B1 ; |322|
;** --------------------------------------------------------------------------*
L32:
[ B1] BNOP .S1 L28,4 ; |322|
ADD .D1 A16,A8,A8 ; |322|
|| [ B1] CMPGT .L1 A22,0,A0 ; |315|
; BRANCH OCCURS ; |322|
;** --------------------------------------------------------------------------*
BNOP .S1 L46,3 ; |322|
MVKL .S2 __divul,B6 ; |367|
MVKH .S2 __divul,B6 ; |367|
; BRANCH OCCURS ; |322|
;** --------------------------------------------------------------------------*
L33:
[!B2] B .S1 L46 ; |297|
ADD .D1X 1,B5,A3 ; |299|
ADD .D2X 1,A22,B9
SHR .S2X A3,1,B1 ; |299|
|| ADD .D1 A22,A22,A19
|| MV .S1X B0,A24
[!B2] MVKL .S2 __divul,B6 ; |367|
[!B2] MVKH .S2 __divul,B6 ; |367|
; BRANCH OCCURS ; |297|
;** --------------------------------------------------------------------------*
CMPGT .L1 A22,0,A0 ; |300|
;** --------------------------------------------------------------------------*
;** BEGIN LOOP L34
;** --------------------------------------------------------------------------*
L34:
[!A0] BNOP .S1 L41,3 ; |300|
MV .D1 A24,A17 ; |299|
|| [ A0] SHR .S2 B9,1,B0 ; |302|
|| [!A0] SUB .D2 B1,1,B1 ; |307|
[ A0] CMPGT .L2 B0,1,B2
; BRANCH OCCURS ; |300|
;** --------------------------------------------------------------------------*
[ B2] BNOP .S1 L36,1
ADD .D1X B0,A23,A23 ; |305|
|| ADD .S1 A22,A17,A3
[ B2] LDBU .D1T1 *+A17(1),A16 ; |302| (P) <0,0>
[ B2] MV .D2X A3,B6
[ B2] LDBU .D2T2 *+B6(1),B7 ; |303| (P) <0,1>
|| [ B2] LDBU .D1T1 *A17++(2),A3 ; |303| (P) <0,1>
; BRANCH OCCURS
;** --------------------------------------------------------------------------*
;** BEGIN LOOP L35
;** --------------------------------------------------------------------------*
L35:
LDBU .D1T1 *+A17(1),A8 ; |302|
LDBU .D1T1 *+A3(1),A4 ; |303|
LDBU .D1T1 *A17++(2),A5 ; |303|
SUB .D2 B0,1,B0 ; |306|
LDBU .D1T1 *A3++(2),A7 ; |304|
ADDU .L1 A8,A13:A12,A13:A12 ; |302|
[ B0] B .S1 L35 ; |306|
ADD .D1 A4,A5,A4 ; |303|
SHR .S1 A4,1,A4 ; |303|
SHR .S1 A4,31,A5 ; |303|
ADDU .L1 A20,A5:A4,A21:A20 ; |303|
|| MV .D1 A21,A6 ; |303|
ADD .D1 A6,A21,A21 ; |303|
|| ADDU .L1 A7,A11:A10,A11:A10 ; |304|
; BRANCH OCCURS ; |306|
;** --------------------------------------------------------------------------*
BNOP .S1 L41,4
SUB .D2 B1,1,B1 ; |307|
; BRANCH OCCURS
;** --------------------------------------------------------------------------*
L36:
MV .D2X A10,B4
MV .D1 A12,A8
SUB .D2 B0,2,B0
|| MV .D1 A13,A9
|| MV .S2X A11,B5
|| MV .S1 A21,A7
|| MV .L1 A20,A6
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 300
;* Loop opening brace source line : 301
;* Loop closing brace source line : 306
;* Known Minimum Trip Count : 1
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 2
;* Unpartitioned Resource Bound : 3
;* Partitioned Resource Bound(*) : 3
;* Resource Partition:
;* A-side B-side
;* .L units 2 1
;* .S units 2 1
;* .D units 2 2
;* .M units 0 0
;* .X cross paths 1 0
;* .T address paths 2 2
;* Long read paths 2 1
;* Long write paths 0 0
;* Logical ops (.LS) 0 0 (.L or .S unit)
;* Addition ops (.LSD) 3 0 (.L or .S or .D unit)
;* Bound(.L .S .LS) 2 1
;* Bound(.L .S .D .LS .LSD) 3* 2
;*
;* Searching for software pipeline schedule at ...
;* ii = 6 Schedule found with 2 iterations in parallel
;*
;* Register Usage Table:
;* +-----------------------------------------------------------------+
;* |AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB|
;* |00000000001111111111222222222233|00000000001111111111222222222233|
;* |01234567890123456789012345678901|01234567890123456789012345678901|
;* |--------------------------------+--------------------------------|
;* 0: | * **** ** |* **** |
;* 1: | * * ** ** |* ***** |
;* 2: | * * ** *** |* *** * |
;* 3: | ** * ** *** |* ***** |
;* 4: | **** ** *** |* ***** |
;* 5: | * **** *** |* ***** |
;* +-----------------------------------------------------------------+
;*
;* Done
;*
;* Loop is interruptible
;* 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 -mh2
;*
;* Minimum safe trip count : 2
;*----------------------------------------------------------------------------*
;* SINGLE SCHEDULED ITERATION
;*
;* C277:
;* 0 LDBU .D1T1 *+A17(1),A16 ; |302|
;* 1 LDBU .D1T1 *A17++(2),A3 ; |303|
;* || LDBU .D2T2 *+B6(1),B7 ; |303|
;* 2 NOP 3
;* 5 ADDU .L1 A16,A9:A8,A9:A8 ; |302|
;* || MV .D1 A7,A18 ; |303| ^
;* || LDBU .D2T2 *B6++(2),B8 ; |304|
;* || [ B0] BDEC .S2 C277,B0 ; |306|
;* 6 ADD .S1X B7,A3,A3 ; |303|
;* 7 SHR .S1 A3,1,A4 ; |303|
;* 8 SHR .S1 A4,31,A5 ; |303|
;* 9 ADDU .L1 A6,A5:A4,A7:A6 ; |303| ^
;* 10 ADD .D1 A18,A7,A7 ; |303| ^
;* || ADDU .L2 B8,B5:B4,B5:B4 ; |304|
;* ; BRANCH OCCURS ; |306|
;*----------------------------------------------------------------------------*
L37: ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L38: ; PIPED LOOP KERNEL
ADDU .L1 A16,A9:A8,A9:A8 ; |302| <0,5>
|| MV .D1 A7,A18 ; |303| <0,5> ^
|| LDBU .D2T2 *B6++(2),B8 ; |304| <0,5>
|| [ B0] BDEC .S2 L38,B0 ; |306| <0,5>
ADD .S1X B7,A3,A3 ; |303| <0,6>
|| LDBU .D1T1 *+A17(1),A16 ; |302| <1,0>
SHR .S1 A3,1,A4 ; |303| <0,7>
|| LDBU .D2T2 *+B6(1),B7 ; |303| <1,1>
|| LDBU .D1T1 *A17++(2),A3 ; |303| <1,1>
SHR .S1 A4,31,A5 ; |303| <0,8>
ADDU .L1 A6,A5:A4,A7:A6 ; |303| <0,9> ^
ADDU .L2 B8,B5:B4,B5:B4 ; |304| <0,10>
|| ADD .D1 A18,A7,A7 ; |303| <0,10> ^
;** --------------------------------------------------------------------------*
L39: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
ADDU .L1 A16,A9:A8,A9:A8 ; |302| (E) <1,5>
|| MV .D1 A7,A18 ; |303| (E) <1,5> ^
|| LDBU .D2T2 *B6++(2),B8 ; |304| (E) <1,5>
MV .D1 A9,A13
|| MV .S1 A8,A12
|| ADD .L1X B7,A3,A3 ; |303| (E) <1,6>
SHR .S1 A3,1,A4 ; |303| (E) <1,7>
SHR .S1 A4,31,A5 ; |303| (E) <1,8>
ADDU .L1 A6,A5:A4,A7:A6 ; |303| (E) <1,9> ^
ADD .D1 A18,A7,A21 ; |303|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -