------- 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

Reply via email to