Rebase.
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / costmodel / ppc / costmodel-bb-slp-9a.c
blobe1bc1a8e33955c5526a972c2fee82b2d8d67d5cf
1 /* { dg-require-effective-target vect_int } */
3 #include <stdarg.h>
4 #include "../../tree-vect.h"
6 #define N 16
8 unsigned int out[N];
9 unsigned int in[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
11 __attribute__ ((noinline)) int
12 main1 (unsigned int x, unsigned int y)
14 int i;
15 unsigned int *pin = &in[1];
16 unsigned int *pout = &out[0];
17 unsigned int a0, a1, a2, a3;
19 /* Misaligned load. */
20 *pout++ = *pin++;
21 *pout++ = *pin++;
22 *pout++ = *pin++;
23 *pout++ = *pin++;
25 /* Check results. */
26 if (out[0] != in[1]
27 || out[1] != in[2]
28 || out[2] != in[3]
29 || out[3] != in[4])
30 abort();
32 return 0;
35 int main (void)
37 check_vect ();
39 main1 (2, 3);
41 return 0;
44 /* { dg-final { scan-tree-dump-times "basic block vectorized using SLP" 1 "slp2" { xfail vect_no_align } } } */
45 /* { dg-final { cleanup-tree-dump "slp2" } } */