------- Comment #2 from rguenth at gcc dot gnu dot org 2008-08-19 15:29 -------
3) is because data-ref requires a constant step
else if (!simple_iv (loop, stmt, poffset, &offset_iv, false))
{
if (dump_file && (dump_flags & TDF_DETAILS))
fprintf (dump_file, "failed: evolution of offset is not affine.\n");
return;
but the step is (<unnamed-signed:64>) ((<unnamed-unsigned:64>) stride.3_36 *
16)
as we are dealing with general incoming arrays which are arbitrary striped.
Fixing this requires for example versioning for a constant stride.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37021