------- Additional Comments From pinskia at gcc dot gnu dot org  2004-11-01 02:36 
-------
The corresponding asm for the loop:
with -fno-ivopts:
L11:
        ld r11,8(r10)
        srd r2,r4,r7
        addi r0,r7,-6
        rldicl r2,r2,0,58
        rldicl r7,r0,0,32
        ld r9,0(r11)
        sldi r6,r2,3
        addi r11,r10,24
        stw r2,16(r11)
        addi r8,r9,8
        std r9,24(r10)
        mr r10,r11
        add r0,r8,r6
        std r0,8(r11)
        bdnz L8

without:
L11:
        add r11,r8,r30
        mulli r0,r3,-6  <--- this is really not a good idea inside the loop
        add r10,r5,r8
        addi r3,r3,1
        ld r2,8(r11)
        addi r7,r11,24
        add r0,r0,r12
        ld r9,0(r2)
        srd r0,r4,r0
        rldicl r0,r0,0,58
        addi r6,r9,8
        sldi r11,r0,3
        stdx r9,r8,r5
        stw r0,16(r10)
        addi r8,r8,24
        add r2,r6,r11
        std r2,8(r10

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18241

Reply via email to