Download CodeWarrior™ Development Tools Metrowerks

Transcript
In d u c t io n - Re la t e d Lo o p O p ti mi za t io n s
A bestiary
inc
d1
adda
#<20,r0
nop
loopend2
;[15]
;[15]
;[0] L_C_1
addnc.w #200,d0,d0
loopend1
;[14]
L10
L12
...
c. Optimized assembly code
Cross-loop induction process delivers the code below:
...
DW_5
sub
d0,d0,d0
;[15];CLR
instruction
move.w
#<18,d1
;[0]
adda
#>-2000,sp,r0
;[0]
doen1
#<10
;[0]
dosetup1 L15
;[0]
sub
d0,d0,d3
;[0];CLR
instruction
loopstart1
L15
doen2
#<10
;[0]
dosetup2 L14
;[0]
falign
loopstart2
L14
addnc.w #<1,d0,d2
;[0]
doensh3 d2
;[0]
nop
;[0] L_D_3
nop
;[0] L_D_3
loopstart3
L13
move.w
d3,(r0)
;[17]
adda
#<2,r0
;[16]
loopend3
L8
move.l
d1,r1
;[0]
nop
;[0] AGU stall
ECM–318
Metrowerks Enterprise C Compiler User’s Manual