/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" #define N 64 unsigned short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))); unsigned short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))); unsigned int result[N]; /* short->int widening-mult */ __attribute__ ((noinline)) int foo1(int len) { int i; /* Not vectorized because X[i] and Y[i] are casted to 'int' so the widening multiplication pattern is not recognized. */ for (i=0; i