------- Comment #1 from pinskia at gcc dot gnu dot org 2005-12-24 04:38 -------
Better testcase which shows it also on the 3.4 branch:
unsigned int __gmpfr_flags;
int
f (unsigned long int n)
{
int prephitmp3;
int i;
long unsigned int m;
if (n == 0)
prephitmp3 = -2;
else
{
m = n;
i = 0;
do {
i = i + 1;
m = m >> 1;
} while (m != 0);
prephitmp3 = i - 2;
}
__gmpfr_flags = __gmpfr_flags & 30;
if (((int) (n >> prephitmp3) & 1) != 0) return 0;
}
This also shows up on the mainline with "-O2 -ftracer
-fno-tree-dominator-opts".
Confirmed, 3.3.6 actually worked fully with -O2 -ftracer so this is a
regression from that version.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |ice-on-valid-code
Known to fail|4.0.3 |4.0.3 3.4.5 4.1.0 4.2.0
Known to work|3.4.5 4.1.0 4.2.0 |3.3.6
Last reconfirmed|0000-00-00 00:00:00 |2005-12-24 04:38:07
date| |
Summary|[4.0 Regression] |[3.4/4.0/4.1/4.2 Regression]
|unrecognizable insn on |unrecognizable insn on
|x86_64 with -O2 -ftracer |x86_64 with -O2 -ftracer ( -
| |fno-tree-dominator-opts on
| |the mainline)
Target Milestone|--- |4.0.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25554