📄 aic23.asm
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen PC Version 4.36 *
;* Date/Time created: Wed Jun 01 13:32:05 2005 *
;******************************************************************************
;******************************************************************************
;* GLOBAL FILE PARAMETERS *
;* *
;* Architecture : TMS320C671x *
;* Optimization : Enabled at level 3 *
;* Optimizing for : Speed *
;* Based on options: -o3, no -ms *
;* Endian : Little *
;* Interrupt Thrshld : Disabled *
;* Memory Model : Large *
;* Calls to RTS : Far *
;* Pipelining : Enabled *
;* Speculative Load : Disabled *
;* Memory Aliases : Presume are aliases (pessimistic) *
;* Debug Info : COFF Debug *
;* *
;******************************************************************************
.asg A15, FP
.asg B14, DP
.asg B15, SP
.global $bss
.file "aic23.c"
.sect ".cinit"
.align 8
.field IR_1,32
.field _mcbspCfg0+0,32
.field 4096,32 ; _mcbspCfg0._spcr @ 0
.field 0,32 ; _mcbspCfg0._rcr @ 32
.field 65600,32 ; _mcbspCfg0._xcr @ 64
.field 536875875,32 ; _mcbspCfg0._srgr @ 96
.field 0,32 ; _mcbspCfg0._mcr @ 128
.field 0,32 ; _mcbspCfg0._rcer @ 160
.field 0,32 ; _mcbspCfg0._xcer @ 192
.field 2570,32 ; _mcbspCfg0._pcr @ 224
IR_1: .set 32
.sect ".text"
_mcbspCfg0: .usect ".far",32,4
.sym _mcbspCfg0,_mcbspCfg0, 8, 3, 256, $$fake1
; c:\ti\c6000\cgtools\bin\opt6x.exe -v6710 -s -O3 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI3392_2 C:\DOCUME~1\SBPRJ-~1\LOCALS~1\Temp\TI3392_5 -w C:/ti/myprojects/mimo/receiver/Debug
.sect ".text"
.sym _aic23Rset,_aic23Rset, 32, 3, 0
.func 138
;******************************************************************************
;* FUNCTION NAME: _aic23Rset *
;* *
;* Regs Modified : A0,A1,A3,A4,A5,A6,B0,B4,B5,B6 *
;* Regs Used : A0,A1,A3,A4,A5,A6,B0,B3,B4,B5,B6 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
;******************************************************************************
;* *
;* Using -g (debug) with optimization (-o3) may disable key optimizations! *
;* *
;******************************************************************************
_aic23Rset:
;** --------------------------------------------------------------------------*
.line 2
.sym _hMcbsp,4, 24, 17, 32, $$fake0
.sym _regnum,20, 13, 17, 16
.sym _regval,6, 13, 17, 16
.sym _regval,22, 13, 4, 16
.sym _hMcbsp,21, 24, 4, 32, $$fake0
.sym _regnum,20, 13, 4, 16
.sym _regval,22, 13, 4, 16
.sym U$28,3, 30, 4, 32
.sym U$11,5, 30, 4, 32
.sym U$17,3, 30, 4, 32
.sym K$12,0, 14, 4, 32
.sym U$7,6, 30, 4, 32
;** 141 ----------------------- regval = _extu((unsigned)regval, 23u, 23u);
;** 237 ----------------------- U$7 = hMcbsp->baseAddr; // [5]
;** 237 ----------------------- U$11 = (volatile unsigned *)(unsigned)(U$7+8); // [5]
;** 237 ----------------------- K$12 = 131072u; // [5]
;** 237 ----------------------- if ( *U$11&0x20000u ) goto g4; // [5]
;** ----------------------- U$17 = U$11;
;** ----------------------- #pragma LOOP_FLAGS(4096u)
MV .S2X A4,B5 ; |139|
MV .S2X A6,B6 ; |139|
.line 4
EXTU .S2 B6,23,23,B6 ; |141|
EXTU .S2 B6,16,16,B6 ; |141|
LDW .D2T1 *+B5(12),A6 ; |237|
NOP 4
ADD .D1 8,A6,A5 ; |237|
LDW .D1T1 *A5,A0 ; |237|
ADD .D1 8,A6,A3 ; |237|
NOP 3
EXTU .S1 A0,14,31,A1 ; |237|
[ A1] B .S1 L4 ; |237|
ZERO .D1 A0 ; |237|
MVKH .S1 0x20000,A0 ; |237|
[!A1] LDW .D1T1 *A3,A4 ; |237| (P) <0,0> ^
NOP 2
; BRANCH OCCURS ; |237|
;** --------------------------------------------------------------------------*
;** -----------------------g3:
;** 237 ----------------------- if ( !(*U$17&K$12) ) goto g3; // [5]
MVK .S2 0x1,B0
NOP 1
AND .S1 A0,A4,A1 ; |237| (P) <0,5> ^
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 144
;* Loop closing brace source line : 237
;* Known Minimum Trip Count : 1
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 7
;* Unpartitioned Resource Bound : 1
;* Partitioned Resource Bound(*) : 1
;* Resource Partition:
;* A-side B-side
;* .L units 0 0
;* .S units 0 1*
;* .D units 1* 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) 1 0 (.L or .S unit)
;* Addition ops (.LSD) 0 1 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1* 1*
;* Bound(.L .S .D .LS .LSD) 1* 1*
;*
;* Searching for software pipeline schedule at ...
;* ii = 7 Schedule found with 2 iterations in parallel
;* Done
;*
;* Loop is interruptible
;* Collapsed epilog stages : 1
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 0 bytes
;*
;* Minimum safe trip count : 1
;*----------------------------------------------------------------------------*
L1: ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L2: ; PIPED LOOP KERNEL
[ A1] ZERO .D2 B0 ; <0,6> ^
[ B0] B .S2 L2 ; |237| <0,7>
|| [ B0] LDW .D1T1 *A3,A4 ; |237| <1,0> ^
NOP 4
AND .S1 A0,A4,A1 ; |237| <1,5> ^
;** --------------------------------------------------------------------------*
L3: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
L4:
;** -----------------------g4:
;** 233 ----------------------- *(volatile unsigned *)hMcbsp->dxrAddr = (unsigned)((int)regnum<<9)|(unsigned)regval; // [4]
;** 237 ----------------------- if ( !(*U$11&K$12) ) goto g8; // [5]
;** ----------------------- U$28 = (volatile unsigned *)(unsigned)(U$7+8);
;** ----------------------- #pragma LOOP_FLAGS(4096u)
LDW .D2T2 *+B5(20),B5 ; |233|
SHL .S2 B4,9,B4 ; |233|
OR .S2 B6,B4,B4 ; |233|
NOP 2
STW .D2T2 B4,*B5 ; |233|
LDW .D1T1 *A5,A3 ; |237|
NOP 4
AND .S1 A0,A3,A1 ; |237|
[!A1] B .S1 L8 ; |237|
ADD .D1 8,A6,A3
[ A1] LDW .D1T1 *A3,A4 ; |237| (P) <0,0> ^
NOP 3
; BRANCH OCCURS ; |237|
;** --------------------------------------------------------------------------*
;** -----------------------g7:
;** 237 ----------------------- if ( *U$28&K$12 ) goto g7; // [5]
;** -----------------------g8:
;** ----------------------- return;
MVK .S2 0x1,B0
AND .S1 A0,A4,A1 ; |237| (P) <0,5> ^
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 150
;* Loop closing brace source line : 237
;* Known Minimum Trip Count : 1
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 7
;* Unpartitioned Resource Bound : 1
;* Partitioned Resource Bound(*) : 1
;* Resource Partition:
;* A-side B-side
;* .L units 0 0
;* .S units 0 1*
;* .D units 1* 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) 1 0 (.L or .S unit)
;* Addition ops (.LSD) 0 1 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1* 1*
;* Bound(.L .S .D .LS .LSD) 1* 1*
;*
;* Searching for software pipeline schedule at ...
;* ii = 7 Schedule found with 2 iterations in parallel
;* Done
;*
;* Loop is interruptible
;* Collapsed epilog stages : 1
;* Prolog not removed
;* Collapsed prolog stages : 0
;*
;* Minimum required memory pad : 0 bytes
;*
;* Minimum safe trip count : 1
;*----------------------------------------------------------------------------*
L5: ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L6: ; PIPED LOOP KERNEL
[!A1] ZERO .D2 B0 ; <0,6> ^
[ B0] B .S2 L6 ; |237| <0,7>
|| [ B0] LDW .D1T1 *A3,A4 ; |237| <1,0> ^
NOP 4
AND .S1 A0,A4,A1 ; |237| <1,5> ^
;** --------------------------------------------------------------------------*
L7: ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
L8:
.line 14
RET .S2 B3 ; |151|
NOP 5
; BRANCH OCCURS ; |151|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -