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

           Summary: Fails to Vectorize loop involving doubles which was
                    vectorized in 4.5
           Product: gcc
           Version: 4.6.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: jeremysal...@gmail.com


The following program is vectorized by gcc-4.5 but not by gcc-4.6 with the
following options: -march=native -mtune=native -ftree-vectorizer-verbose=12 -O3
-std=c99 -ffast-math -funsafe-math-optimizations -lm

#include <stdio.h>
#include <math.h>
int main() {
  double g[1000];
  for(int i=0; i<1000; i++) {
    g[i]=2*(g[i]);
  }
  for(int i=0; i<1000; i++) {
   printf("%f\n",g[i]);
  }
}


In 4.6 it instead outputs: 

main.c:5: note: not vectorized: no vectype for stmt: D.4271_4 = g[i_22];
 scalar_type: double

Reply via email to