annotate gcc/testsuite/c-c++-common/cilk-plus/PS/clauses1.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-do compile } */
kono
parents:
diff changeset
2 /* { dg-options "-O3 -Werror -Wunknown-pragmas -fcilkplus" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 volatile int *a, *b;
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 void foo()
kono
parents:
diff changeset
7 {
kono
parents:
diff changeset
8 int i, j, k;
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 #pragma simd assert /* { dg-error "expected '#pragma simd' clause" } */
kono
parents:
diff changeset
11 for (i=0; i < 100; ++i)
kono
parents:
diff changeset
12 a[i] = b[i];
kono
parents:
diff changeset
13
kono
parents:
diff changeset
14 #pragma simd vectorlength /* { dg-error "expected '\\('" } */
kono
parents:
diff changeset
15 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
16 a[i] = b[j];
kono
parents:
diff changeset
17
kono
parents:
diff changeset
18 #pragma simd vectorlength /* { dg-error "expected '\\('" } */
kono
parents:
diff changeset
19 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
20 a[i] = b[j];
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 #pragma simd vectorlength(sizeof (a) == sizeof (float) ? 4 : 8)
kono
parents:
diff changeset
23 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
24 a[i] = b[j];
kono
parents:
diff changeset
25
kono
parents:
diff changeset
26 #pragma simd vectorlength(4,8) /* { dg-error "expected '\\)'" } */
kono
parents:
diff changeset
27 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
28 a[i] = b[j];
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30 #pragma simd vectorlength(i) /* { dg-error "\(vectorlength must be an integer\|in a constant\)" } */
kono
parents:
diff changeset
31 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
32 a[i] = b[j];
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 #pragma simd linear(35) /* { dg-error "expected identifier" } */
kono
parents:
diff changeset
35 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
36 a[i] = b[j];
kono
parents:
diff changeset
37
kono
parents:
diff changeset
38 #pragma simd linear(blah) /* { dg-error "'blah' \(undeclared\|has not been\)" } */
kono
parents:
diff changeset
39 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
40 a[i] = b[j];
kono
parents:
diff changeset
41
kono
parents:
diff changeset
42 #pragma simd linear(j, 36, k) /* { dg-error "expected" } */
kono
parents:
diff changeset
43 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
44 a[i] = b[j];
kono
parents:
diff changeset
45
kono
parents:
diff changeset
46 #pragma simd linear(i, j)
kono
parents:
diff changeset
47 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
48 a[i] = b[j];
kono
parents:
diff changeset
49
kono
parents:
diff changeset
50 #pragma simd linear(i)
kono
parents:
diff changeset
51 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
52 a[i] = b[j];
kono
parents:
diff changeset
53
kono
parents:
diff changeset
54 #pragma simd linear(i : 4)
kono
parents:
diff changeset
55 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
56 a[i] = b[j];
kono
parents:
diff changeset
57
kono
parents:
diff changeset
58 #pragma simd linear(i : 2, j : 4, k)
kono
parents:
diff changeset
59 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
60 a[i] = b[j];
kono
parents:
diff changeset
61
kono
parents:
diff changeset
62 #pragma simd linear(j : sizeof (a) == sizeof (float) ? 4 : 8)
kono
parents:
diff changeset
63 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
64 a[i] = b[j];
kono
parents:
diff changeset
65
kono
parents:
diff changeset
66 // And now everyone in unison!
kono
parents:
diff changeset
67 #pragma simd linear(j : 4) vectorlength(4)
kono
parents:
diff changeset
68 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
69 a[i] = b[j];
kono
parents:
diff changeset
70
kono
parents:
diff changeset
71 #pragma simd linear(blah2, 36)
kono
parents:
diff changeset
72 /* { dg-error "'blah2' \(undeclared\|has not been\)" "undeclared" { target *-*-* } .-1 } */
kono
parents:
diff changeset
73 /* { dg-error "expected" "expected" { target *-*-* } .-2 } */
kono
parents:
diff changeset
74 for (int i=0; i < 1000; ++i)
kono
parents:
diff changeset
75 a[i] = b[j];
kono
parents:
diff changeset
76
kono
parents:
diff changeset
77 #pragma simd linear(j : k)
kono
parents:
diff changeset
78 for (int i=0; i < 1234; ++i)
kono
parents:
diff changeset
79 a[i] = b[j];
kono
parents:
diff changeset
80 }