------- Comment #1 from rguenth at gcc dot gnu dot org 2008-08-13 09:53 -------
-fno-unswitch-loops fixes the original testcase but not the following which
only fails _with_ -O3 -fno-unswitch-loops.
extern void abort (void);
unsigned int g_24;
unsigned int g_37 = 1;
unsigned int g_225 = 0;
int main ()
{
unsigned int l_289;
for (l_289 = 1; l_289 < 5; l_289 += 1) {
if (g_225) {
g_24 = g_37;
}
}
g_24 = g_37;
unsigned int context = g_24 << 1;
do {
if (context)
context = (context << 1) ^ 1;
} while (0);
if (context != 5)
abort ();
return 0;
}
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Component|c |tree-optimization
Ever Confirmed|0 |1
GCC build triplet|i686-pc-linux-gnu |
GCC host triplet|i686-pc-linux-gnu |
GCC target triplet|i686-pc-linux-gnu |
Keywords| |wrong-code
Known to fail| |4.3.1 4.4.0
Known to work| |4.2.4
Last reconfirmed|0000-00-00 00:00:00 |2008-08-13 09:53:31
date| |
Summary|possible integer codegen bug|[4.3/4.4 Regression]
| |possible integer codegen bug
Target Milestone|--- |4.3.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37102