------- 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