📄 dsk_app.asm
字号:
NOP 4
; BRANCH OCCURS ; |883|
.endfunc 883,03c081c00h,32
.sect ".text"
.global _trainingRun
.sym _trainingRun,_trainingRun, 32, 2, 0
.func 788
;******************************************************************************
;* FUNCTION NAME: _trainingRun *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;* B6,B7,B8,B9,B10,B11,SP *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, *
;* B6,B7,B8,B9,B10,B11,DP,SP *
;* Local Frame Size : 0 Args + 0 Auto + 16 Save = 16 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_trainingRun:
;** --------------------------------------------------------------------------*
.line 2
.sym _framebuffer,4, 19, 17, 32
.sym _framebuffer,10, 19, 4, 32
STW .D2T2 B11,*SP--(16) ; |789|
STW .D2T2 B10,*+SP(12) ; |789|
STW .D2T2 B3,*+SP(8) ; |789|
STW .D2T1 A10,*+SP(4) ; |789|
MV .D1 A4,A10 ; |789|
.line 7
MVKL .S1 _memset,A0 ; |794|
MVKH .S1 _memset,A0 ; |794|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 796
;* Loop opening brace source line : 797
;* Loop closing brace source line : 797
;* Loop Unroll Multiple : 2x
;* Known Minimum Trip Count : 596
;* Known Maximum Trip Count : 596
;* Known Max Trip Count Factor : 596
;* Loop Carried Dependency Bound(^) : 0
;* Unpartitioned Resource Bound : 2
;* Partitioned Resource Bound(*) : 2
;* Resource Partition:
;* A-side B-side
;* .L units 0 2*
;* .S units 1 0
;* .D units 2* 2*
;* .M units 0 0
;* .X cross paths 0 2*
;* .T address paths 2* 2*
;* Long read paths 0 2*
;* Long write paths 0 0
;* Logical ops (.LS) 0 0 (.L or .S unit)
;* Addition ops (.LSD) 1 0 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1 1
;* Bound(.L .S .D .LS .LSD) 2* 2*
;*
;* Searching for software pipeline schedule at ...
;* ii = 2 Schedule found with 6 iterations in parallel
;* Done
;*
;* Epilog not removed
;* Collapsed epilog stages : 0
;* Collapsed prolog stages : 5
;* Minimum required memory pad : 0 bytes
;*
;* For further improvement on this loop, try option -mh20
;*
;* Minimum safe trip count : 5 (after unrolling)
;*----------------------------------------------------------------------------*
L5: ; PIPED LOOP PROLOG
CALL .S2X A0 ; |794|
NOP 2
MVK .S1 0x13e0,A6 ; |794|
MVKL .S1 _temp,A4 ; |794|
|| MVKL .S2 RL0,B3 ; |794|
ZERO .D2 B4 ; |794|
|| MVKH .S2 RL0,B3 ; |794|
|| MVKH .S1 _temp,A4 ; |794|
RL0: ; CALL OCCURS ; |794|
NOP 1
MVKL .S2 _temp+160,B6
MVKL .S2 _temp+164,B4
MVKH .S2 _temp+164,B4
SUB .D1 A10,4,A0
|| MVKH .S2 _temp+160,B6
.line 9
MVC .S2 CSR,B7
AND .S2 -2,B7,B5
MVC .S2 B5,CSR ; interrupts off
B .S1 L6 ; |797| (P) <0,5>
MVK .S1 0x254,A3 ; |796|
B .S1 L6 ; |797| (P) <1,5>
MVK .S1 0x5,A2 ; init prolog collapse predicate
|| MVK .S2 0x1,B0 ; init prolog collapse predicate
|| SUB .D1 A3,3,A1
;** --------------------------------------------------------------------------*
L6: ; PIPED LOOP KERNEL
[!A2] STW .D2T2 B5,*B6++(8) ; |797| <0,9>
|| INTSP .L2X A3,B5 ; |797| <2,5>
|| [ A1] B .S1 L6 ; |797| <2,5>
|| [!B0] LDH .D1T1 *+A0(2),A3 ; |797| <4,1>
[ B0] SUB .S2 B0,1,B0 ; <0,10>
|| [ A2] SUB .S1 A2,1,A2 ; <0,10>
|| [!A2] STW .D2T2 B5,*B4++(8) ; |797| <0,10>
|| INTSP .L2X A3,B5 ; |797| <2,6>
|| [ A1] SUB .L1 A1,1,A1 ; |797| <3,4>
|| LDH .D1T1 *++A0(4),A3 ; |797| <5,0>
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 803
;* Loop opening brace source line : 804
;* Loop closing brace source line : 807
;* Loop Unroll Multiple : 2x
;* Known Minimum Trip Count : 128
;* Known Maximum Trip Count : 128
;* Known Max Trip Count Factor : 128
;* Loop Carried Dependency Bound(^) : 0
;* Unpartitioned Resource Bound : 3
;* Partitioned Resource Bound(*) : 3
;* Resource Partition:
;* A-side B-side
;* .L units 0 0
;* .S units 1 0
;* .D units 3* 3*
;* .M units 0 0
;* .X cross paths 0 0
;* .T address paths 3* 3*
;* Long read paths 2 2
;* Long write paths 0 0
;* Logical ops (.LS) 0 0 (.L or .S unit)
;* Addition ops (.LSD) 0 1 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1 0
;* Bound(.L .S .D .LS .LSD) 2 2
;*
;* Searching for software pipeline schedule at ...
;* ii = 3 Schedule found with 3 iterations in parallel
;* Done
;*
;* Collapsed epilog stages : 2
;* Prolog not entirely removed
;* Collapsed prolog stages : 1
;*
;* Minimum required memory pad : 0 bytes
;*
;* For further improvement on this loop, try option -mh64
;*
;* Minimum safe trip count : 1 (after unrolling)
;*----------------------------------------------------------------------------*
L7: ; PIPED LOOP EPILOG AND PROLOG
INTSP .L2X A3,B5 ; |797| (E) <3,5>
|| LDH .D1T1 *+A0(2),A3 ; |797| (E) <5,1>
|| STW .D2T2 B5,*B6++(8) ; |797| (E) <1,9>
STW .D2T2 B5,*B4++(8) ; |797| (E) <1,10>
|| INTSP .L2X A3,B5 ; |797| (E) <3,6>
INTSP .L2X A3,B5 ; |797| (E) <4,5>
|| STW .D2T2 B5,*B6++(8) ; |797| (E) <2,9>
STW .D2T2 B5,*B4++(8) ; |797| (E) <2,10>
|| INTSP .L2X A3,B5 ; |797| (E) <4,6>
INTSP .L2X A3,B5 ; |797| (E) <5,5>
|| STW .D2T2 B5,*B6++(8) ; |797| (E) <3,9>
STW .D2T2 B5,*B4++(8) ; |797| (E) <3,10>
|| INTSP .L2X A3,B5 ; |797| (E) <5,6>
STW .D2T2 B5,*B6++(8) ; |797| (E) <4,9>
STW .D2T2 B5,*B4++(8) ; |797| (E) <4,10>
MVC .S2 B7,CSR ; interrupts on
|| STW .D2T2 B5,*B6++(8) ; |797| (E) <5,9>
STW .D2T2 B5,*B4++(8) ; |797| (E) <5,10>
.line 7
MVKL .S1 _temp,A0 ; |794|
MVKH .S1 _temp,A0 ; |794|
MV .S2X A0,B10 ; |794|
.line 12
MV .L1X B10,A4 ; |799|
|| MVKL .S1 _rx,A10 ; |799|
|| MVKL .S2 _DSPF_sp_convol,B5 ; |799|
MVKH .S1 _rx,A10 ; |799|
|| MVKH .S2 _DSPF_sp_convol,B5 ; |799|
MVK .S1 0x4d0,A8 ; |799|
|| MV .D1 A10,A6 ; |799|
|| CALL .S2 B5 ; |799|
MVKL .S2 _cos_filter,B4 ; |799|
MVKL .S2 RL1,B3 ; |799|
MVKH .S2 RL1,B3 ; |799|
MVKH .S2 _cos_filter,B4 ; |799|
MVK .S2 0x28,B6 ; |799|
RL1: ; CALL OCCURS ; |799|
.line 14
NOP 1
MV .D1 A10,A4 ; |801|
|| MVKL .S2 RL2,B3 ; |801|
|| MVKL .S1 _sync,A0 ; |801|
MVKL .S2 _training,B4 ; |801|
|| MVKH .S1 _sync,A0 ; |801|
CALL .S2X A0 ; |801|
MVKH .S2 _training,B4 ; |801|
MVKH .S2 RL2,B3 ; |801|
NOP 3
RL2: ; CALL OCCURS ; |801|
NOP 1
SUB .D2 B10,16,B7
|| EXT .S1 A4,16,16,A0 ; |801|
|| MVKL .S2 _RefIndex,B4 ; |801|
MVK .S1 512,A3
|| ADDAW .D1 A10,A0,A0
|| MVKH .S2 _RefIndex,B4 ; |801|
ADD .D1 A3,A0,A4
|| MVK .S2 528,B4
|| STH .D2T1 A4,*B4 ; |801|
ZERO .D2 B4
|| ADD .S2X B4,A0,B6
.line 16
MV .L1X B4,A3
|| MVK .S2 0x80,B5 ; |803|
ADD .D2 4,B7,B7
|| LDW .D1T1 *A4++(32),A5 ; |805| (P) <0,0>
|| B .S1 L8 ; |807| (P) <0,3>
|| MV .L1X B7,A0
|| MVK .S2 0x1,B1 ; init prolog collapse predicate
|| SUB .L2 B5,1,B0
SUB .S1X B5,1,A1
ADD .S1X 1,B0,A2
;** --------------------------------------------------------------------------*
L8: ; PIPED LOOP KERNEL
[ A2] LDW .D2T2 *B6++(32),B5 ; |805| <1,3>
|| [ B0] B .S1 L8 ; |807| <1,3>
|| [ A1] LDW .D1T1 *A4++(32),A5 ; |805| <2,0>
[!B1] STW .D2T2 B4,*++B7(16) ; |806| <0,7>
|| [!B1] STW .D1T1 A5,*++A0(16) ; |805| <0,7>
[ B1] SUB .S2 B1,1,B1 ; <0,8>
|| [ A2] SUB .S1 A2,1,A2 ; <0,8>
|| [ A1] SUB .L1 A1,1,A1 ; <0,8>
|| [!B1] STW .D2T2 B5,*+B7(4) ; |805| <0,8>
|| [!B1] STW .D1T1 A3,*+A0(12) ; |806| <0,8>
|| [ B0] SUB .L2 B0,1,B0 ; |807| <2,2>
;** --------------------------------------------------------------------------*
L9: ; PIPED LOOP EPILOG
.line 23
NOP 1
MV .L1X B10,A4 ; |810|
|| MVKL .S2 _workbuffer,B11 ; |810|
|| MVKL .S1 _dft_DSP,A0 ; |810|
MVKH .S2 _workbuffer,B11 ; |810|
|| MVKH .S1 _dft_DSP,A0 ; |810|
MV .D2 B11,B4 ; |810|
|| CALL .S2X A0 ; |810|
MVKL .S2 RL3,B3 ; |810|
MVKH .S2 RL3,B3 ; |810|
NOP 3
RL3: ; CALL OCCURS ; |810|
NOP 1
MV .D2 B11,B4 ; |810|
.line 26
MVKL .S2 _pilots_prod,B5 ; |813|
|| MVKL .S1 _filter_estimation,A3 ; |813|
MVKL .S2 _pilots,B7 ; |813|
|| MVKH .S1 _filter_estimation,A3 ; |813|
MVKH .S2 _pilots,B7 ; |813|
|| MVKL .S1 _lambda,A0 ; |813|
MV .L1X B7,A4 ; |813|
|| MVKH .S1 _lambda,A0 ; |813|
|| CALL .S2X A3 ; |813|
MVKL .S1 _h_hat,A10 ; |813|
|| MVKH .S2 _pilots_prod,B5 ; |813|
|| LDW .D1T2 *A0,B6 ; |813|
MV .L1X B5,A6 ; |813|
|| MVKL .S2 _beta,B8 ; |813|
|| MVKL .S1 _alpha,A8 ; |813|
MVKH .S1 _alpha,A8 ; |813|
|| MVKL .S2 RL4,B3 ; |813
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -