This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/30103] missed strength reduction optimization (test replacement)



------- Comment #3 from rguenth at gcc dot gnu dot org  2006-12-09 14:34 -------
Uh, indeed the testcase is invalid.  Using unsigned int or -fwrapv instead
makes it valid.  But we still have

strength_test10 (data)
{
  unsigned int ivtmp.31;
  int * pretmp.23;
  int stop;

<bb 2>:
  stop = *(data + 12B);
  pretmp.23 = data + 8B;
  ivtmp.31 = 0;

<L0>:;
  *((int *) ((unsigned int) *pretmp.23 * 4) + data) = (int) ivtmp.31;
  ivtmp.31 = ivtmp.31 + 21;
  if (stop > (int) (ivtmp.31 * 1022611261)) goto <L0>; else goto <L1>;

<L1>:;
  return;

}

so we don't fix up the exit test, also with unsigned.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rakdver at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30103


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]