]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gcc.dg/loop-versioning-1.c
Update copyright years.
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / loop-versioning-1.c
CommitLineData
13e08dc9 1/* { dg-options "-O3 -fdump-tree-lversion-details" } */
8d1a718e 2/* { dg-require-effective-target size32plus } */
13e08dc9
RS
3
4/* The simplest IV case. */
5
6void
7f1 (double *x, int stepx, int n)
8{
9 for (int i = 0; i < n; ++i)
10 x[stepx * i] = 100;
11}
12
13void
14f2 (double *x, int stepx, int limit)
15{
16 for (int i = 0; i < limit; i += stepx)
17 x[i] = 100;
18}
19
20void
21f3 (double *x, int stepx, int limit)
22{
23 for (double *y = x; y < x + limit; y += stepx)
24 *y = 100;
25}
26
27void
28f4 (double *x, int stepx, unsigned int n)
29{
30 for (unsigned int i = 0; i < n; ++i)
31 x[stepx * i] = 100;
32}
33
34void
35f5 (double *x, int stepx, unsigned int limit)
36{
37 for (unsigned int i = 0; i < limit; i += stepx)
38 x[i] = 100;
39}
40
41void
42f6 (double *x, int stepx, unsigned int limit)
43{
44 for (double *y = x; y < x + limit; y += stepx)
45 *y = 100;
46}
47
92ea8e1b
JL
48#if __SIZEOF_SIZE_T__ < 4
49double x[1000];
50#else
13e08dc9 51double x[10000];
92ea8e1b 52#endif
13e08dc9
RS
53
54void
55g1 (int stepx, int n)
56{
57 for (int i = 0; i < n; ++i)
58 x[stepx * i] = 100;
59}
60
61void
62g2 (int stepx, int limit)
63{
64 for (int i = 0; i < limit; i += stepx)
65 x[i] = 100;
66}
67
68void
69g3 (int stepx, int limit)
70{
71 for (double *y = x; y < x + limit; y += stepx)
72 *y = 100;
73}
74
75void
76g4 (int stepx, unsigned int n)
77{
78 for (unsigned int i = 0; i < n; ++i)
79 x[stepx * i] = 100;
80}
81
82void
83g5 (int stepx, unsigned int limit)
84{
85 for (unsigned int i = 0; i < limit; i += stepx)
86 x[i] = 100;
87}
88
89void
90g6 (int stepx, unsigned int limit)
91{
92 for (double *y = x; y < x + limit; y += stepx)
93 *y = 100;
94}
95
96/* { dg-final { scan-tree-dump-times {want to version containing loop} 12 "lversion" } } */
97/* { dg-final { scan-tree-dump-times {versioned this loop} 12 "lversion" } } */