1 /* { dg-require-effective-target vect_int } */
8 unsigned char uX
[N
] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__
)));
9 unsigned short uY
[N
] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__
)));
10 unsigned int uresult
[N
];
11 signed char X
[N
] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__
)));
12 signed short Y
[N
] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__
)));
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
];
46 __asm__
volatile ("");
52 if (uresult
[i
] != (unsigned short)uY
[i
])
59 if (result
[i
] != (short)Y
[i
])
66 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { target vect_unpack } } } */
67 /* { dg-final { cleanup-tree-dump "vect" } } */