This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/15420] g++ produce bad assembler code when using -O1
- From: "nospam dot gccsolarix dot 20 dot lenex at spamgourmet dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 May 2004 13:50:04 -0000
- Subject: [Bug target/15420] g++ produce bad assembler code when using -O1
- References: <20040513142307.15420.nospam.gccsolarix.20.lenex@spamgourmet.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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