Merge -r 127928:132243 from trunk
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / wrapv-vect-7.c
blob5d495440f364c853eeea308293ace82b3c306768
1 /* { dg-require-effective-target vect_int } */
3 #include <stdarg.h>
4 #include "tree-vect.h"
6 #define N 128
8 short sa[N];
9 short sb[N];
11 int main1 ()
13 int i;
15 for (i = 0; i < N; i++)
17 sb[i] = 5;
20 /* check results: */
21 for (i = 0; i < N; i++)
23 if (sb[i] != 5)
24 abort ();
27 for (i = 0; i < N; i++)
29 sa[i] = sb[i] + (short)100;
32 /* check results: */
33 for (i = 0; i < N; i++)
35 if (sa[i] != 105)
36 abort ();
39 return 0;
42 int main (void)
44 check_vect ();
46 return main1 ();
49 /* Fails for 32-bit targets that don't vectorize PLUS. */
50 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
51 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
52 /* { dg-final { cleanup-tree-dump "vect" } } */