annotate gcc/testsuite/gcc.dg/vect/slp-perm-11.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-require-effective-target vect_int } */
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 #include "tree-vect.h"
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 int a[64];
kono
parents:
diff changeset
6 int b[128];
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 void __attribute__((noinline, noclone))
kono
parents:
diff changeset
9 foo (int s)
kono
parents:
diff changeset
10 {
kono
parents:
diff changeset
11 int i;
kono
parents:
diff changeset
12 for (i = 0; i < 32; ++i)
kono
parents:
diff changeset
13 {
kono
parents:
diff changeset
14 a[2*i] = b[i*s+1];
kono
parents:
diff changeset
15 a[2*i+1] = b[i*s];
kono
parents:
diff changeset
16 }
kono
parents:
diff changeset
17 }
kono
parents:
diff changeset
18
kono
parents:
diff changeset
19 int main ()
kono
parents:
diff changeset
20 {
kono
parents:
diff changeset
21 int i;
kono
parents:
diff changeset
22 check_vect ();
kono
parents:
diff changeset
23 for (i = 0; i < 128; ++i)
kono
parents:
diff changeset
24 {
kono
parents:
diff changeset
25 b[i] = i;
kono
parents:
diff changeset
26 __asm__ volatile ("");
kono
parents:
diff changeset
27 }
kono
parents:
diff changeset
28 foo (4);
kono
parents:
diff changeset
29 for (i = 0; i < 64; ++i)
kono
parents:
diff changeset
30 if (a[i] != (4*(i/2) + (i & 1) ^ 1))
kono
parents:
diff changeset
31 abort ();
kono
parents:
diff changeset
32 return 0;
kono
parents:
diff changeset
33 }
kono
parents:
diff changeset
34
kono
parents:
diff changeset
35 /* { dg-final { scan-tree-dump-times "vectorizing stmts using SLP" 1 "vect" { target vect_perm } } } */