------- Comment #11 from dave at hiauly1 dot hia dot nrc dot ca  2006-09-10 
00:02 -------
Subject: Re:  g++.dg/tree-ssa/ivopts-1.C fails

> It confirms that it is the same problem as on i?86, but it doesn't tell
> why.  I don't see an obvious difference in config/pa/

Yes, it does seem to be the same problem.  The hpux assembler
output has a -4 offset:

        stw %r2,-20(%r30)
L$CFI0000
        ldi 1,%r19
        ldo 128(%r30),%r30
L$CFI0001
        ldo -116(%r30),%r28
        ldo -100(%r30),%r20
        stw %r19,-4(%r28)
L$0008:
        ldo 4(%r28),%r28
        comb,<>,n %r20,%r28,L$0008
        stw %r19,-4(%r28)
        .CALL ARGW0=GR
        bl _Z3fooR3Foo,%r2
        ldo -120(%r30),%r26

The linux output doesn't have the -4 offset:

       ldi 1,%r28
       stw %r2,-20(%r30)
.LCFI0:
       copy %r28,%r21
       ldo 128(%r30),%r30
.LCFI1:
       ldi 4,%r19
       stw %r28,-120(%r30)
       ldo -120(%r30),%r26
       ldi 16,%r20
.L2:
       addl %r19,%r26,%r28
       ldo 4(%r19),%r19
       comb,<> %r20,%r19,.L2
       stw %r21,0(%r28)
       bl _Z3fooR3Foo,%r2
       nop

Offhand, then hpux code appears better optimized.

Dave


-- 


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

Reply via email to