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