Mercurial > hg > CbC > CbC_gcc
comparison libgomp/testsuite/libgomp.c/simd-16.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
68:561a7518be6b | 111:04ced10e8804 |
---|---|
1 /* { dg-do run } */ | |
2 /* { dg-additional-options "-msse2" { target sse2_runtime } } */ | |
3 /* { dg-additional-options "-mavx" { target avx_runtime } } */ | |
4 /* { dg-additional-options "-std=c99" } */ | |
5 | |
6 int | |
7 main () | |
8 { | |
9 int b, c = 0; | |
10 b = 7; | |
11 #pragma omp simd linear(b:2) reduction(+:c) | |
12 for (int i = 0; i < 64; i++) | |
13 { | |
14 c = c + (b != 7 + 2 * i); | |
15 b = b + 2; | |
16 } | |
17 if (c || b != 7 + 64 * 2) | |
18 __builtin_abort (); | |
19 b = 7; | |
20 #pragma omp simd linear(b:3) reduction(+:c) | |
21 for (int i = 0; i < 64; i += 4) | |
22 { | |
23 c = c + (b != 7 + i / 4 * 3); | |
24 b = b + 3; | |
25 } | |
26 if (c || b != 7 + 16 * 3) | |
27 __builtin_abort (); | |
28 b = 7; | |
29 #pragma omp simd collapse (2) linear(b:2) reduction(+:c) | |
30 for (int i = 0; i < 8; i++) | |
31 for (int j = 0; j < 8; j++) | |
32 { | |
33 c = c + (b != 7 + 2 * j + 2 * 8 * i); | |
34 b = b + 2; | |
35 } | |
36 if (c || b != 7 + 64 * 2) | |
37 __builtin_abort (); | |
38 b = 7; | |
39 #pragma omp parallel for simd schedule (static, 4) linear(b:2) reduction(+:c) | |
40 for (int i = 0; i < 64; i++) | |
41 { | |
42 c = c + (b != 7 + 2 * i); | |
43 b = b + 2; | |
44 } | |
45 if (c || b != 7 + 64 * 2) | |
46 __builtin_abort (); | |
47 b = 7; | |
48 #pragma omp parallel for simd schedule (static, 4) linear(b:3) reduction(+:c) | |
49 for (int i = 0; i < 64; i += 4) | |
50 { | |
51 c = c + (b != 7 + i / 4 * 3); | |
52 b = b + 3; | |
53 } | |
54 if (c || b != 7 + 16 * 3) | |
55 __builtin_abort (); | |
56 b = 7; | |
57 #pragma omp parallel for simd collapse (2) schedule (static, 4) linear(b:2) reduction(+:c) | |
58 for (int i = 0; i < 8; i++) | |
59 for (int j = 0; j < 8; j++) | |
60 { | |
61 c = c + (b != 7 + 2 * j + 2 * 8 * i); | |
62 b = b + 2; | |
63 } | |
64 if (c || b != 7 + 64 * 2) | |
65 __builtin_abort (); | |
66 return 0; | |
67 } |