1 /* { dg-require-effective-target vect_int } */
8 short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
9 short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
12 /* short->int widening-mult */
17 for (i=0; i<len/2; i++) {
18 result[2*i] = X[2*i] * Y[2*i];
19 result[2*i+1] = X[2*i+1] * Y[2*i+1];
32 __asm__ volatile ("");
38 if (result[i] != X[i] * Y[i])
45 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_widen_mult_hi_to_si } } }*/
46 /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_widen_mult_hi_to_si } } } */
47 /* { dg-final { cleanup-tree-dump "vect" } } */