⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filt_gen.asm

📁 基于DM642平台的视频缩小放大功能 程序源代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
||         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 + -