diagnostics: remove duplicate copies of diagnostic_kind_text
[official-gcc.git] / gcc / testsuite / gcc.dg / vect / slp-25.c
blob9e3b5bbc9469fd0dc8631332643c1eb496652218
1 /* Disabling epilogues until we find a better way to deal with scans. */
2 /* { dg-additional-options "--param vect-epilogues-nomask=0" } */
3 /* { dg-require-effective-target vect_int } */
4 /* { dg-add-options bind_pic_locally } */
6 #include <stdarg.h>
7 #include "tree-vect.h"
9 #define N 128
11 /* Unaligned stores. */
13 int ia[N+2];
14 short sa[N+2];
16 int main1 (int n)
18 int i;
20 for (i = 1; i <= N/2; i++)
22 ia[2*i] = 25;
23 ia[2*i + 1] = 5;
26 /* check results: */
27 #pragma GCC novector
28 for (i = 1; i <= N/2; i++)
30 if (ia[2*i] != 25
31 || ia[2*i + 1] != 5)
32 abort ();
35 for (i = 1; i <= n/2; i++)
37 sa[2*i] = 25;
38 sa[2*i + 1] = 5;
41 /* check results: */
42 #pragma GCC novector
43 for (i = 1; i <= n/2; i++)
45 if (sa[2*i] != 25
46 || sa[2*i + 1] != 5)
47 abort ();
51 return 0;
54 int main (void)
57 check_vect ();
59 return main1 (N);
62 /* { dg-final { scan-tree-dump-times "vectorized 2 loops" 1 "vect" } } */
63 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
64 /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" { xfail { { ! vect_unaligned_possible } || { ! vect_natural_alignment } } } } } */