📄 filt_gen.asm
字号:
|| LDW .D1T1 *+A31(32),A14 ; |101|
|| LDDW .D2T2 *+SP(48),B13:B12 ; |101|
LDW .D2T1 *++SP(56),A15 ; |101|
NOP 4
; BRANCH OCCURS ; |101|
.sect ".text"
.global _unrollx1
;******************************************************************************
;* FUNCTION NAME: _unrollx1 *
;* *
;* Regs Modified : A0,A3,A4,A5,B0,B1,B4,B5 *
;* Regs Used : A0,A3,A4,A5,A6,B0,B1,B3,B4,B5,B6 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_unrollx1:
;** --------------------------------------------------------------------------*
CMPGT .L2 B6,0,B1 ; |107|
[!B1] RETNOP .S2 B3,4 ; |113|
MV .D1X B4,A3 ; |105|
|| MV .D2 B6,B0 ; |105|
; BRANCH OCCURS ; |113| ; chained return
;** --------------------------------------------------------------------------*
CMPGT .L1 A6,4,A0 ; |109|
;** --------------------------------------------------------------------------*
;** BEGIN LOOP L15
;** --------------------------------------------------------------------------*
L15:
[!A0] BNOP .S1 L19,4 ; |109|
[ A0] SUB .S1 A6,1,A5 ; |110|
|| [!A0] LDH .D1T1 *A4++,A5 ; |111|
; BRANCH OCCURS ; |109|
;** --------------------------------------------------------------------------*
SHR .S1 A5,2,A5 ; |110|
MVK .D2 0x4,B5
|| MV .S2X A3,B4
|| SUB .D1 A5,1,A0
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 110
;* Loop opening brace source line : 110
;* Loop closing brace source line : 110
;* Known Minimum Trip Count : 1
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 0
;* Unpartitioned Resource Bound : 1
;* Partitioned Resource Bound(*) : 1
;* Resource Partition:
;* A-side B-side
;* .L units 0 0
;* .S units 1* 0
;* .D units 0 1*
;* .M units 0 0
;* .X cross paths 0 0
;* .T address paths 0 1*
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 0 0 (.L or .S unit)
;* Addition ops (.LSD) 0 0 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1* 0
;* Bound(.L .S .D .LS .LSD) 1* 1*
;*
;* Searching for software pipeline schedule at ...
;* ii = 6 Schedule found with 1 iterations in parallel
;*
;* Register Usage Table:
;* +-----------------------------------------------------------------+
;* |AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB|
;* |00000000001111111111222222222233|00000000001111111111222222222233|
;* |01234567890123456789012345678901|01234567890123456789012345678901|
;* |--------------------------------+--------------------------------|
;* 0: |* | ** |
;* 1: |* | ** |
;* 2: |* | ** |
;* 3: |* | ** |
;* 4: |* | ** |
;* 5: |* | ** |
;* +-----------------------------------------------------------------+
;*
;* Done
;*
;* Loop is interruptible
;* Collapsed epilog stages : 0
;* Collapsed prolog stages : 0
;*
;* Minimum safe trip count : 1
;*----------------------------------------------------------------------------*
;* SINGLE SCHEDULED ITERATION
;*
;* C98:
;* 0 [ A0] BDEC .S1 C98,A0 ; |110|
;* 1 NOP 4
;* 5 STH .D2T2 B5,*B4++ ; |110|
;* ; BRANCH OCCURS ; |110|
;*----------------------------------------------------------------------------*
L16: ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L17: ; PIPED LOOP KERNEL
[ A0] BDEC .S1 L17,A0 ; |110| <0,0>
NOP 4
STH .D2T2 B5,*B4++ ; |110| <0,5>
;** --------------------------------------------------------------------------*
L18: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
LDH .D1T1 *A4++,A5 ; |111|
MV .D1X B4,A3
;** --------------------------------------------------------------------------*
L19:
SUB .D2 B0,1,B0 ; |112|
[ B0] BNOP .S1 L15,2 ; |112|
SUB .D1 A5,A6,A5 ; |111|
ADD .D1 4,A5,A5 ; |111|
STH .D1T1 A5,*A3++ ; |111|
|| [ B0] CMPGT .L1 A6,4,A0 ; |109|
; BRANCH OCCURS ; |112|
;** --------------------------------------------------------------------------*
RETNOP .S2 B3,5 ; |113|
; BRANCH OCCURS ; |113|
.sect ".text"
.global _unrollx2
;******************************************************************************
;* FUNCTION NAME: _unrollx2 *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,A16,A17,B31 *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,A16,A17,B31 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_unrollx2:
;** --------------------------------------------------------------------------*
MV .D2X A6,B7 ; |116|
MPYLH .M2 B7,B6,B8 ; |122|
MPYLH .M2 B6,B7,B5 ; |122|
|| CMPLT .L2X A6,4,B0 ; |127|
[ B0] B .S1 L23 ; |127|
MPYU .M2 B7,B6,B5 ; |122|
|| ADD .D2 B8,B5,B8 ; |122|
SHL .S2 B8,16,B4 ; |122|
|| MV .D1X B4,A16 ; |116|
SHR .S2 B7,2,B4 ; |120|
|| ADD .D2 B5,B4,B5 ; |122|
MV .D1 A4,A3 ; |116|
|| ZERO .S1 A17 ; |125|
MV .S1X B4,A7 ; |120|
|| SHR .S2 B5,2,B5 ; |122|
|| STNW .D1T1 A17,*A16 ; |125|
|| MV .L1 A4,A8 ; |116|
|| MV .D2 B3,B31 ; |116|
|| [ B0] CMPLT .L2 B6,2,B0 ; |130|
; BRANCH OCCURS ; |127|
;** --------------------------------------------------------------------------*
LDH .D1T1 *+A16(2),A4 ; |127|
SUB .D2 B4,1,B0
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 127
;* Loop opening brace source line : 127
;* Loop closing brace source line : 127
;* Known Minimum Trip Count : 1
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 0
;* Unpartitioned Resource Bound : 1
;* Partitioned Resource Bound(*) : 2
;* Resource Partition:
;* A-side B-side
;* .L units 0 0
;* .S units 0 1
;* .D units 2* 0
;* .M units 0 0
;* .X cross paths 0 0
;* .T address paths 1 0
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 0 0 (.L or .S unit)
;* Addition ops (.LSD) 0 0 (.L or .S or .D unit)
;* Bound(.L .S .LS) 0 1
;* Bound(.L .S .D .LS .LSD) 1 1
;*
;* Searching for software pipeline schedule at ...
;* ii = 6 Schedule found with 1 iterations in parallel
;*
;* Register Usage Table:
;* +-----------------------------------------------------------------+
;* |AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB|
;* |00000000001111111111222222222233|00000000001111111111222222222233|
;* |01234567890123456789012345678901|01234567890123456789012345678901|
;* |--------------------------------+--------------------------------|
;* 0: | ** |* |
;* 1: | *** |* |
;* 2: | *** |* |
;* 3: | *** |* |
;* 4: | *** |* |
;* 5: | *** |* |
;* +-----------------------------------------------------------------+
;*
;* Done
;*
;* Loop is interruptible
;* Collapsed epilog stages : 0
;* Collapsed prolog stages : 0
;*
;* Minimum safe trip count : 1
;*----------------------------------------------------------------------------*
;* SINGLE SCHEDULED ITERATION
;*
;* C158:
;* 0 LDH .D1T1 *A3++,A5 ; |127|
;* || [ B0] BDEC .S2 C158,B0 ; |127|
;* 1 NOP 4
;* 5 ADDAH .D1 A4,A5,A4 ; |127|
;* ; BRANCH OCCURS ; |127|
;*----------------------------------------------------------------------------*
L20: ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L21: ; PIPED LOOP KERNEL
[ B0] BDEC .S2 L21,B0 ; |127| <0,0>
|| LDH .D1T1 *A3++,A5 ; |127| <0,0>
NOP 4
ADDAH .D1 A4,A5,A4 ; |127| <0,5>
;** --------------------------------------------------------------------------*
L22: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
STH .D1T1 A4,*+A16(2)
CMPLT .L2 B6,2,B0 ; |130|
;** --------------------------------------------------------------------------*
L23:
[ B0] B .S1 L29 ; |130|
SHR .S2 B6,1,B6
|| ZERO .S1 A9 ; |121|
|| ADD .L1 4,A16,A3 ; |128|
|| [ B0] LDH .D1T1 *+A16(4),A4 ; |147|
|| [!B0] CMPLT .L2 B7,8,B0 ; |132|
NOP 4
; BRANCH OCCURS ; |130|
;** --------------------------------------------------------------------------*
;** BEGIN LOOP L24
;** --------------------------------------------------------------------------*
L24:
[ B0] BNOP .S1 L26,2 ; |132|
[!B0] SUB .D2 B7,4,B4 ; |134|
[!B0] SHR .S2 B4,2,B4 ; |134|
|| [ B0] CMPLT .L2 B7,0,B0 ; |139|
NOP 1
; BRANCH OCCURS ; |132|
;** --------------------------------------------------------------------------*
MV .D1X B4,A0 ; |134|
|| SUB .S1 A3,4,A3
MVKL .S1 __remi,A5 ; |134|
MVKH .S1 __remi,A5 ; |134|
LDH .D1T1 *+A8[A9],A4 ; |134|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: Loop contains a call
;*----------------------------------------------------------------------------*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -