This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/37090] New: optimization breaks code in manually unrolled loop
- From: "michael+gcc at stapelberg dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Aug 2008 00:49:02 -0000
- Subject: [Bug c/37090] New: optimization breaks code in manually unrolled loop
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Except for -O0, all levels of optimization make the same mistake on the
attached files.
Compile them (for example) with:
gcc -O2 sp.c mybyte.c -o sp
On gcc 4.3.1 (vanilla, self-compiled, also applies to the gentoo standard one),
this outputs "123456789abcd" instead of "123456789abcdef" (gcc 4.1.2 for
example).
When removing the fourth line of the loop, it works.
I could reproduce this also on debian.
Just in case you care, the code is ripped out of fefe's libowfat.
Target: i686-pc-linux-gnu
Configured with: ./configure --prefix=/opt/gcc431 --with-mpfr=/opt/gcc431
Thread model: posix
gcc version 4.3.1 (GCC)
Linux xekskami 2.6.25.10 #8 SMP PREEMPT Thu Jul 17 16:00:00 CEST 2008 i686
Genuine Intel(R) CPU T2500 @ 2.00GHz GenuineIntel GNU/Linux
--
Summary: optimization breaks code in manually unrolled loop
Product: gcc
Version: 4.3.1
Status: UNCONFIRMED
Severity: blocker
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: michael+gcc at stapelberg dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37090