http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18439
Steven Bosscher <steven at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2005-12-21 03:49:30 |2011-05-22 17:43:30 CC| |irar at il dot ibm.com --- Comment #4 from Steven Bosscher <steven at gcc dot gnu.org> 2011-05-22 15:43:42 UTC --- Still not vectorized with recent GCC: t.c:19: note: not vectorized: complicated access pattern. t.c:21: note: not vectorized: complicated access pattern. 1 extern double sqrt(double); 2 typedef unsigned int bool; 3 #define true 1 4 #define NUMPOINTS 50000 5 6 static float points[NUMPOINTS][4]; 7 static float opoints[NUMPOINTS][4]; 8 static bool flags[NUMPOINTS]; 9 10 void NormalizeVectors (void) 11 { 12 int i, r; 13 float s, x, y, z; 14 static float d = 0.0; 15 16 d += 0.2; 17 if (d > 4) d = 0.0; 18 19 for (r=0; r<4; r++) 20 { 21 for (i=0; i<NUMPOINTS; i++) 22 { 23 x = points[i][0]; 24 y = points[i][1]; 25 z = points[i][2]; 26 s = x * x 27 + y * y 28 + z * z; 29 s = d / sqrt (s); 30 opoints[i][0] = x * s; 31 opoints[i][1] = y * s; 32 opoints[i][2] = z * s; 33 flags[i] = true; 34 } 35 } 36 } 37 "GCC: (GNU) 4.6.0 20110312 (experimental) [trunk revision 170907]"