]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/c-c++-common/cilk-plus/CK/spawner_inline.c
[Patch AArch64] Fixup floating point division with -march=armv8-a+nosimd
[thirdparty/gcc.git] / gcc / testsuite / c-c++-common / cilk-plus / CK / spawner_inline.c
CommitLineData
713dedcd
RO
1/* { dg-do run } */
2/* { dg-require-effective-target cilkplus_runtime } */
939b37da 3/* { dg-options "-fcilkplus" } */
939b37da
BI
4
5#include <stdlib.h>
6#define DEFAULT_VALUE 30
7int fib (int n)
8{
9 if (n<2)
10 return n;
11 else
12 {
13 int x, y;
14 x = _Cilk_spawn fib (n-1);
15 y = _Cilk_spawn fib (n-2);
16 _Cilk_sync;
17 return (x+y);
18 return 5;
19 }
20}
21
22int main_parallel (int argc, char *argv[])
23{
24 int n, result;
25 if (argc == 2)
26 n = atoi(argv[1]);
27 else
28 n = DEFAULT_VALUE;
29 result = _Cilk_spawn fib(n);
30 _Cilk_sync;
31 return result;
32}
33
34int fib_serial (int n)
35{
36 int x, y;
37 if (n < 2)
38 return n;
39 else
40 {
41 x = fib (n-1);
42 y = fib (n-2);
43 return (x+y);
44 }
45}
46
47int main_serial (int argc, char *argv[])
48{
49 int n, result;
50
51 if (argc == 2)
52 n = atoi (argv[1]);
53 else
54 n = DEFAULT_VALUE;
55 result = fib_serial (n);
56
57 return result;
58}
59
60int main (void)
61{
62 if (main_serial (1, 0) != main_parallel (1,0))
63 return 1;
64 else
65 return 0;
66}
67