📄 scale_h2_h.asm
字号:
*S Avg. para calc @ II: 7.500000
*S Live Too Long : 0
*S Unroll Factor : 0
*S-------------------------------------------------------------------------S*
*S Total register usage: 29 (a:14 b:15)
* ===================== SYMBOLIC REGISTER ASSIGNMENTS ===================== *
.asg A4, A_inp ; Preferred
.asg B6, B_inp ; Preferred
.asg A6, A_outp ; Preferred
.asg B8, B_outp ; Preferred
.asg B4, B_cols ; Preferred
.asg A0, A_pd ; Preferred
.asg A9, A_in7654_0
.asg A8, A_in3210_0
.asg B19, B_inFEDC_0
.asg B18, B_inBA98_0
.asg A5, A_in2103_0
.asg A19, A_in6547_0
.asg B22, B_inA98B_0
.asg B20, B_inEDCF_0
.asg A20, A_in6420_0
.asg A3, A_in7531_0
.asg B20, B_inECA8_0
.asg B7, B_inFDB9_0
.asg A18, A_outw0
.asg B24, B_outw_0
.asg A17, A_in7654_1
.asg A16, A_in3210_1
.asg B17, B_inFEDC_1
.asg B16, B_inBA98_1
.asg A7, A_in2103_1
.asg A21, A_in6547_1
.asg B21, B_inA98B_1
.asg B9, B_inEDCF_1
.asg A7, A_in6420_1
.asg A20, A_in7531_1
.asg B21, B_inECA8_1
.asg B5, B_inFDB9_1
.asg A19, A_outw_1
.asg B23, B_outw1
.asg A19, A_outw1
.asg B22, B_outw0
* ========================================================================= *
* =========================== PIPE LOOP PROLOG ============================ *
LDDW .D2T2 *B_inp++[2], B_inFEDC_0:B_inBA98_0 ;[ 1,1]
|| LDDW .D1T1 *A_inp++[2], A_in7654_0:A_in3210_0 ;[ 1,1]
|| MVC .S2 B_no_gie, CSR ; Int.
LDDW .D2T2 *B_inp++[2], B_inFEDC_1:B_inBA98_1 ;[ 2,1]
|| LDDW .D1T1 *A_inp++[2], A_in7654_1:A_in3210_1 ;[ 2,1]
SHRU .S2 B_cols, 5, B_cols ;[ 3,0]
|| B .S1 LOOP ;
SUB .D2 B_cols, 3, B_cols ;[ 4,0]
* =========================== PIPE LOOP KERNEL ============================ *
LOOP:
AVGU4 .M2 B_inFDB9_1, B_inECA8_1, B_outw1 ;[13,1]
|| PACKH4 .L2 B_inFEDC_1, B_inBA98_1, B_inFDB9_1 ;[ 9,2]
|| PACKH4 .L1 A_in7654_1, A_in3210_1, A_in7531_1 ;[ 9,2]
|| SHLMB .S2 B_inBA98_1, B_inBA98_1, B_inA98B_1 ;[ 9,2]
|| ROTL .M1 A_in7654_0, 8, A_in6547_0 ;[ 9,2]
|| LDDW .D2T2 *B_inp++[2], B_inFEDC_0:B_inBA98_0 ;[ 1,4]
|| LDDW .D1T1 *A_inp++[2], A_in7654_0:A_in3210_0 ;[ 1,4]
[ A_pd]SUB .S1 A_pd, 1, A_pd ;[14,1]
|| MV .S2X A_outw_1, B_outw0 ;[14,1]
|| PACKH4 .L1 A_in6547_1, A_in2103_1, A_in6420_1 ;[10,2]
|| PACKH4 .L2 B_inEDCF_0, B_inA98B_0, B_inECA8_0 ;[10,2]
|| ROTL .M2 B_inBA98_0, 8, B_inA98B_0 ;[ 6,3]
|| ROTL .M1 A_in3210_0, 8, A_in2103_0 ;[ 6,3]
|| LDDW .D2T2 *B_inp++[2], B_inFEDC_1:B_inBA98_1 ;[ 2,4]
|| LDDW .D1T1 *A_inp++[2], A_in7654_1:A_in3210_1 ;[ 2,4]
[!A_pd]STDW .D2T2 B_outw1:B_outw0, *B_outp++[2] ;[15,1]
|| MV .D1X B_outw_0, A_outw1 ;[15,1]
|| BDEC .S2 LOOP, B_cols ;[11,2]
|| AVGU4 .M1 A_in6420_1, A_in7531_1, A_outw_1 ;[11,2]
|| PACKH4 .L2 B_inEDCF_1, B_inA98B_1, B_inECA8_1 ;[11,2]
|| PACKH4 .L1 A_in6547_0, A_in2103_0, A_in6420_0 ;[11,2]
|| SHLMB .S1 A_in3210_1, A_in3210_1, A_in2103_1 ;[ 7,3]
|| ROTL .M2 B_inFEDC_0, 8, B_inEDCF_0 ;[ 7,3]
[!A_pd]STDW .D1T1 A_outw1:A_outw0, *A_outp++[2] ;[16,1]
|| AVGU4 .M2 B_inFDB9_0, B_inECA8_0, B_outw_0 ;[12,2]
|| AVGU4 .M1 A_in6420_0, A_in7531_0, A_outw0 ;[12,2]
|| SHLMB .S2 B_inFEDC_1, B_inFEDC_1, B_inEDCF_1 ;[ 8,3]
|| SHLMB .S1 A_in7654_1, A_in7654_1, A_in6547_1 ;[ 8,3]
|| PACKH4 .L2 B_inFEDC_0, B_inBA98_0, B_inFDB9_0 ;[ 8,3]
|| PACKH4 .L1 A_in7654_0, A_in3210_0, A_in7531_0 ;[ 8,3]
* =========================== PIPE LOOP EPILOG ============================ *
AVGU4 .M2 B_inFDB9_1, B_inECA8_1, B_outw1 ;[13,3]
|| PACKH4 .L2 B_inFEDC_1, B_inBA98_1, B_inFDB9_1 ;[ 9,4]
|| PACKH4 .L1 A_in7654_1, A_in3210_1, A_in7531_1 ;[ 9,4]
|| SHLMB .S2 B_inBA98_1, B_inBA98_1, B_inA98B_1 ;[ 9,4]
|| ROTL .M1 A_in7654_0, 8, A_in6547_0 ;[ 9,4]
MV .S2X A_outw_1, B_outw0 ;[14,3]
|| PACKH4 .L1 A_in6547_1, A_in2103_1, A_in6420_1 ;[10,4]
|| PACKH4 .L2 B_inEDCF_0, B_inA98B_0, B_inECA8_0 ;[10,4]
[!A_pd]STDW .D2T2 B_outw1:B_outw0, *B_outp++[2] ;[15,3]
|| MV .D1X B_outw_0, A_outw1 ;[15,3]
|| AVGU4 .M1 A_in6420_1, A_in7531_1, A_outw_1 ;[11,4]
|| PACKH4 .L2 B_inEDCF_1, B_inA98B_1, B_inECA8_1 ;[11,4]
|| PACKH4 .L1 A_in6547_0, A_in2103_0, A_in6420_0 ;[11,4]
|| B .S2 B_return ;
[!A_pd]STDW .D1T1 A_outw1:A_outw0, *A_outp++[2] ;[16,3]
|| AVGU4 .M2 B_inFDB9_0, B_inECA8_0, B_outw_0 ;[12,4]
|| AVGU4 .M1 A_in6420_0, A_in7531_0, A_outw0 ;[12,4]
AVGU4 .M2 B_inFDB9_1, B_inECA8_1, B_outw1 ;[13,4]
MV .S2X A_outw_1, B_outw0 ;[14,4]
[!A_pd]STDW .D2T2 B_outw1:B_outw0, *B_outp++[2] ;[15,4]
|| MV .D1X B_outw_0, A_outw1 ;[15,4]
[!A_pd]STDW .D1T1 A_outw1:A_outw0, *A_outp++[2] ;[16,4]
|| MVC .S2 B_csr, CSR ; CSR
; ===== Branch Occurs =====
* ========================================================================= *
*S-------------------------------------------------------------------------S*
*S Register Usage Table S*
*S-------------------------------------------------------------------------S*
*S AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA : BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB S*
*S 33222222222211111111119876543210 : 33222222222211111111119876543210 S*
*S 1098765432109876543210 : 1098765432109876543210 S*
*S-------------------------------------------------------------------------S*
*S 1: ..........1.1.11......1.11111..1 : .........111..11......111111.... S*
*S 2: ..........1111........1111111..1 : .......1.11111........111111.... S*
*S 3: ...........11111......1111111..1 : .......111111111......111111.... S*
*S 4: ...........11111......1111111..1 : .........1111111.......11111.... S*
*S-------------------------------------------------------------------------S*
* ========================================================================= *
* End of file: scale_h2_h.asm *
* ------------------------------------------------------------------------- *
* Copyright (c) 2001 Texas Instruments, Incorporated. *
* All Rights Reserved. *
* ========================================================================= *
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -