diff options
Diffstat (limited to 'libgomp')
-rw-r--r-- | libgomp/ChangeLog | 4 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.c/uns-outer-4.c | 36 |
2 files changed, 40 insertions, 0 deletions
diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index d2189928577..4c9f690a8e7 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,7 @@ +2015-07-28 Tom de Vries <tom@codesourcery.com> + + * testsuite/libgomp.c/uns-outer-4.c: New test. + 2015-07-24 Cesar Philippidis <cesar@codesourcery.com> * testsuite/libgomp.c/pr66714.c: New test. diff --git a/libgomp/testsuite/libgomp.c/uns-outer-4.c b/libgomp/testsuite/libgomp.c/uns-outer-4.c new file mode 100644 index 00000000000..cd646a54133 --- /dev/null +++ b/libgomp/testsuite/libgomp.c/uns-outer-4.c @@ -0,0 +1,36 @@ +/* { dg-do run } */ +/* { dg-additional-options "-ftree-parallelize-loops=2" } */ + +void abort (void); + +unsigned int g_sum = 1; + +unsigned int x[500][500]; + +void __attribute__((noinline,noclone)) +parloop (int N) +{ + int i, j; + unsigned int sum; + + /* Double reduction is detected, outer loop is parallelized. */ + sum = 0; + for (i = 0; i < N; i++) + for (j = 0; j < N; j++) + sum += x[i][j]; + + g_sum = sum; +} + +int +main (void) +{ + x[234][432] = 2; + + parloop (500); + + if (g_sum != 2) + abort (); + + return 0; +} |