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]"

Reply via email to