📄 autocor.asm
字号:
.asg A31, A_prod8
.asg A30, A_prodC
.asg B31, B_prodA
.asg B30, B_prodE
.asg A25, A_prod3
.asg A24, A_prod7
.asg B21, B_prod0
.asg B20, B_prod4
.asg A21, A_prod2
.asg A20, A_prod6
.asg B23, B_prod9
.asg B22, B_prodD
.asg A21, A_prodB
.asg A20, A_prodF
.asg B8, B_s0
.asg A25, A_s0
.asg B9, B_t0
.asg A8, A_t0
.asg B24, B_u0
.asg A17, A_u0
.asg B30, B_v0
.asg A9, A_v0
.asg A20, A_temp0
.asg B21, B_temp1
.asg A27, A_temp2
.asg B23, B_temp3
.asg A18, A_sum_0
.asg B16, B_sum_1
.asg A19, A_sum_2
.asg B17, B_sum_3
SHRU .S1X B_nr, 2, A_i
|| SHRU .S2X A_nx, 3, B_ik_rst
|| ADDAH .D2 B_x, B_nr, B_yptr_rst
MVC .S2 B_ik_rst, RILC
|| SUB .D2 B_ik_rst, 1, B_ik_rst
|| SUB .L1X B_yptr_rst, 16, A_yptr_rst
[A_i] SPLOOPD 4
|| MVC .S2 B_ik_rst, ILC
|| MV .L2X A_yptr_rst, B_xptr
|| MV .L1 A_yptr_rst, A_yptr
LDDW .D1T2 *++A_yptr[2], B_y3y2:B_y1y0 ;[ 1,1]
SPMASK S1,L2
|| LDDW .D1T1 *-A_yptr[1], A_z0z1:A_z2z3 ;[ 2,1]
|| LDDW .D2T2 *++B_xptr[2], B_x3x2:B_x1x0 ;[ 2,1]
|| SUB .S1 A_yptr_rst, 8, A_yptr_rst
|| MV .L2X A_yptr_rst, B_xptr_rst
SPMASK S1,L2
|| LDDW .D1T1 *A_yptr[1], A_y7y6:A_y5y4 ;[ 3,1]
|| SUB .S1 A_i, 1, A_i
|| MV .L2X A_r, B_rptr
LDDW .D2T1 *B_xptr[1], A_x7x6:A_x5x4 ;[ 4,1]
NOP 2
DMV .S2X B_y1y0, A_z0z1, Bt_y1y0:Bt_z0z1 ;[ 7,1]
|| DDOTPH2 .M1X A_z0z1:A_z2z3, B_x1x0, A_prod8:A_prodC ;[ 7,1]
|| DDOTPH2 .M2 B_y3y2:B_y1y0, B_x3x2, B_prod1:B_prod5 ;[ 7,1]
DMV .S1X A_y5y4, B_y3y2, At_y5y4:At_y3y2 ;[ 8,1]
|| DDOTPH2 .M2 Bt_y1y0:Bt_z0z1, B_x1x0, B_prod0:B_prod4 ;[ 8,1]
DDOTPH2 .M1 At_y5y4:At_y3y2, A_x7x6, A_prodB:A_prodF ;[ 9,1]
|| DDOTPH2 .M2X B_y3y2:B_y1y0, A_x5x4, B_prodA:B_prodE ;[ 9,1]
DDOTPH2 .M2 Bt_y1y0:Bt_z0z1, B_x3x2, B_prod9:B_prodD ;[10,1]
|| DDOTPH2 .M1 A_y7y6:A_y5y4, A_x7x6, A_prod3:A_prod7 ;[10,1]
NOP 1
DDOTPH2 .M1 At_y5y4:At_y3y2, A_x5x4, A_prod2:A_prod6 ;[12,1]
ADD .L1 A_prodC, A_prodF, A_v0 ;[13,1]
|| ADD .D2 B_prod0, B_prod1, B_s0 ;[13,1]
ADD .L1 A_prod8, A_prodB, A_u0 ;[14,1]
|| ADD .L2 B_prod4, B_prod5, B_t0 ;[14,1]
SPMASK L1,L2
|| ADD .D2 B_prodE, B_prodD, B_v0 ;[15,1]
|| ZERO .L1 A_sum_2:A_sum_0
|| ZERO .L2 B_sum_3:B_sum_1
ADD .S2X A_v0, B_v0, B_temp3 ;[16,1]
|| ADD .L2 B_prodA, B_prod9, B_u0 ;[16,1]
|| ADD .D1 A_prod6, A_prod7, A_t0 ;[16,1]
|| ADD .L1 A_prod2, A_prod3, A_s0 ;[16,1]
ADD .L2 B_sum_3, B_temp3, B_sum_3 ;[17,1]
|| ADD .S1X A_s0, B_s0, A_temp0 ;[17,1]
ADD .S1X A_u0, B_u0, A_temp2 ;[18,1]
|| ADD .S2X B_t0, A_t0, B_temp1 ;[18,1]
SPKERNEL
|| ADD .S1 A_sum_2, A_temp2, A_sum_2 ;[19,1]
|| ADD .L2 B_sum_1, B_temp1, B_sum_1 ;[19,1]
|| ADD .L1 A_sum_0, A_temp0, A_sum_0 ;[19,1]
POST_KERNEL:
;cycle 1
[A_i] MV .D1 A_yptr_rst, A_yptr
|| [A_i] MV .S2 B_xptr_rst, B_xptr
;cycle 2
NOP
;cycle 3
SUB .D1 A_yptr_rst, 8, A_yptr_rst
;cycle 4
SPMASKR
;Reload Point
;Reload Cycle 1 through 9
NOP 9
;Reload Cycle 10
SPMASK S2
|| [!A_i] RET .S2 B3
|| ADD .L2X B_t0, A_t0, B_temp1
;Reload Cycle 11
NOP
;Reload Cycle 12
RPACK2 .S2X B_sum_3, A_sum_2, B_pack_0
;Reload Cycle 13
NOP
;Reload Cycle 14
RPACK2 .S2X B_sum_1, A_sum_0, B_pack_1
|| [A_i] B .S1 POST_KERNEL
;Reload Cycle 15
SPMASK D2
|| STDW .D2 B_pack_0:B_pack_1, *B_rptr++[1]
|| ADD .L2 B_prodE, B_prodD, B_v0 ;[15,1]
||[A_i] SUB .L1 A_i, 1, A_i
;Reload Cycle 16
NOP
;Reload Cycle 17
SPMASK L2
|| ADD .L2 0, B_temp3, B_sum_3 ;[17,1]
;Reload Cycle 18
NOP
;Reload Cycle 19
SPMASK S1,L1,L2
|| ADD .S1 0, A_temp2, A_sum_2 ;[19,1]
|| ADD .L2 0, B_temp1, B_sum_1 ;[19,1]
|| ADD .L1 0, A_temp0, A_sum_0 ;[19,1]
.end
* ========================================================================= *
* End of file: autocor.asm *
* ------------------------------------------------------------------------- *
* Copyright (c) 2005 Texas Instruments, Incorporated. *
* All Rights Reserved. *
* ========================================================================= *
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -