[Bug tree-optimization/18437] vectorizer failed for matrix multiplication
steven at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun May 22 16:02:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18437
Steven Bosscher <steven at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2005-12-21 03:40:32 |2011-05-22 17:36:32
--- Comment #4 from Steven Bosscher <steven at gcc dot gnu.org> 2011-05-22 15:36:52 UTC ---
Test case of comment #0 is not vectorized in recent GCC:
1 #define align(x) __attribute__((align(x)))
2 typedef float align(16) MATRIX[3][3];
3
4 void RotateMatrix(MATRIX ret, MATRIX a, MATRIX b)
5 {
6 int i, j;
7
8 for (j = 0; j < 3; j++)
9 for (i = 0; i < 3; i++)
10 ret[j][i] = a[j][0] * b[0][i]
11 + a[j][1] * b[1][i]
12 + a[j][2] * b[2][i];
13 }
t.c:8: note: not vectorized: loop contains function calls or data references
that cannot be analyzed
t.c:8: note: bad data references.
t.c:4: note: vectorized 0 loops in function.
"GCC: (GNU) 4.6.0 20110312 (experimental) [trunk revision 170907]"
More information about the Gcc-bugs
mailing list