annotate gcc/testsuite/gcc.dg/vect/vect-strided-store.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_float } */
kono
parents:
diff changeset
2
kono
parents:
diff changeset
3 #include <stdarg.h>
kono
parents:
diff changeset
4 #include "tree-vect.h"
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 void __attribute__((noinline))
kono
parents:
diff changeset
7 sumit (float * __restrict dest,
kono
parents:
diff changeset
8 float * __restrict src, float * __restrict src2,
kono
parents:
diff changeset
9 int stride, int n)
kono
parents:
diff changeset
10 {
kono
parents:
diff changeset
11 int i;
kono
parents:
diff changeset
12 for (i = 0; i < n; i++)
kono
parents:
diff changeset
13 dest[i*stride] = src[i] + src2[i];
kono
parents:
diff changeset
14 }
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 int main()
kono
parents:
diff changeset
17 {
kono
parents:
diff changeset
18 int i, stride;
kono
parents:
diff changeset
19 float src[] = {1, 2, 3, 4, 5, 6, 7, 8};
kono
parents:
diff changeset
20 float dest[64];
kono
parents:
diff changeset
21 check_vect ();
kono
parents:
diff changeset
22 for (stride = 0; stride < 8; stride++)
kono
parents:
diff changeset
23 {
kono
parents:
diff changeset
24 sumit (dest, src, src, stride, 8);
kono
parents:
diff changeset
25 if (!stride && dest[0] != 16)
kono
parents:
diff changeset
26 abort();
kono
parents:
diff changeset
27 else if (stride)
kono
parents:
diff changeset
28 for (i = 0; i < 8; i++)
kono
parents:
diff changeset
29 if (2*src[i] != dest[i*stride])
kono
parents:
diff changeset
30 abort ();
kono
parents:
diff changeset
31 }
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 "vectorized 1 loops" 1 "vect" } } */