This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/15420] g++ produce bad assembler code when using -O1


------- Additional Comments From nospam dot gccsolarix dot 20 dot lenex at spamgourmet dot com  2004-05-14 13:49 -------
I didn't notice a newer version exist since my administrator set this old
version as default.

The bug is corrected since 3.3:x versions : I tried with 3.2.3. It is buggy. I
tried with 3.3.1. It works.

No further investigation is needed since the bug is fixed in up-to-date versions.
However, here is an excerpt of the buggy assembler code :

871             call   
_ZN10xalanc_1_827XalanReferenceCountedObject15removeReferenceEPS0_, 0
872             ldx     [%fp+1999], %o0
873             ba,pt   %xcc, .LL836
874              nop
875     .LL713:
876             ldx     [%i2], %o0
877             ldx     [%o0+208], %o1
878     .LLEHB27:
879             call    %o1, 0
880             mov     %i2, %o0
881     .LLEHE27:
882             stx     %o0, [%fp+2007]
883             cmp     %l0, 1
884             bne,pt  %icc, .LL729
885             mov     %o0, %i5
886             ldd     [%fp+1991], %f2
887             fdtox   %f2, %f3                <--- The problem was here.
888             st      %f3, [%fp+1979]
889             ldx     [%i1], %o1
890             lduh    [%o1], %i1
891             mov     0, %o1
892             mov     -1, %o2

Thks

-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]