On 12/06/13 10:26, Kyrill Tkachov wrote:
Hi all,

The testcase gcc.dg/tree-ssa/loop-31.c started failing on arm with
r202165. The scan dump pattern looks for "+ 2" appearing exactly once.
With r202165 the loop header is modified from:

   <bb 3>:
   ivtmp.5_10 = (unsigned int) &a[4294967295];
   _16 = (unsigned int) len_4(D);
   _17 = _16 * 2;
   _18 = (unsigned int) &a;
   _19 = _18 + 4294967294;
   _20 = _19 + _17;


to:

   <bb 3>:
   ivtmp.5_10 = (unsigned int) &a[4294967295];
   _16 = (sizetype) len_4(D);
   _17 = _16 + 2147483647;  <<<<  "+ 2" will match here.
   _18 = _17 * 2;
   _19 = &a + _18;
   _20 = (unsigned int) _19;


Since the strength reduction in the loop itself that this testcase is
testing is unaffected, this patch just updates the pattern to be "+ 2;"
to match the induction variable increment: ivtmp.5_11 = ivtmp.5_1 + 2;

Now the testcase passes on arm.

Ok for trunk?

Thanks,
Kyrill

2013-12-06  Kyrylo Tkachov  <kyrylo.tkac...@arm.com>

     * gcc.dg/tree-ssa/loop-31.c: Update scan pattern.
OK.

Thanks,
Jeff

Reply via email to