------- Comment #3 from tehila at il dot ibm dot com  2008-08-25 08:45 -------
(In reply to comment #2)
> Andrew, thanks for your response and ideas.
> From what we see, if -funroll-loops is on, the loops:
> for (j = 0; j < 4; j++)
>             arr[j] = mat2[i][j];
>  and 
> for (k = 0; k < 3; k++)
>                   point += (double) mat1[arr[l]][k];
> are being unrolled by the early-unrolling (cunrolli pass, that Richard 
> Guenther
> has added).
> I think, the problem is that the loop
> for (j = 0; j < 4; j++)
> is not being unrolled.

The meaning here is to the second 
for (j = 0; j < 4; j++)
loop. 
It's loop #4 in cunrolli pass.

> cunrolli doesn't recognize # of iterations = 4.
> I think it doesn't recognize it starts from 0.
> Maybe Richard could help us understand why. 
> Hopefully, if that loop would be unrolled, the SRA will have the opportunity 
> to
> do the transformation we expect it to do.


-- 


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

Reply via email to