1 /* { dg-require-effective-target vect_int } */
8 unsigned char uX[N] __attribute__ ((__aligned__(16)));
9 unsigned short uY[N] __attribute__ ((__aligned__(16)));
10 unsigned int uresult[N];
11 signed char X[N] __attribute__ ((__aligned__(16)));
12 signed short Y[N] __attribute__ ((__aligned__(16)));
15 /* Unsigned type promotion (hi->si) */
16 __attribute__ ((noinline)) int
20 for (i=0; i<len; i++) {
22 uresult[i] = (unsigned int)uY[i];
26 /* Signed type promotion (hi->si) */
27 __attribute__ ((noinline)) int
31 for (i=0; i<len; i++) {
33 result[i] = (int)Y[i];
51 if (uresult[i] != (unsigned short)uY[i])
58 if (result[i] != (short)Y[i])
65 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_unpack } } } */
66 /* { dg-final { cleanup-tree-dump "vect" } } */