]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/c-c++-common/cilk-plus/AN/gather_scatter.c
[Patch AArch64] Fixup floating point division with -march=armv8-a+nosimd
[thirdparty/gcc.git] / gcc / testsuite / c-c++-common / cilk-plus / AN / gather_scatter.c
CommitLineData
3c6d4197 1/* { dg-do run } */
2/* { dg-options "-fcilkplus" } */
3
885cf451 4#define NUMBER 20
3c6d4197 5#if HAVE_IO
6#include <stdio.h>
7#endif
8
885cf451 9float array4[NUMBER][NUMBER][NUMBER][NUMBER];
4c115a64 10int main(void)
3c6d4197 11{
9fc9adf1 12 int array[NUMBER][NUMBER], array2[NUMBER], array3[NUMBER], x = 0, y;
885cf451 13 int x_correct, y_correct, ii, jj = 0, kk = 0, ll = 0;
9fc9adf1 14 for (ii = 0; ii < NUMBER; ii++)
3c6d4197 15 {
9fc9adf1 16 for (jj = 0; jj < NUMBER; jj++)
3c6d4197 17 {
18 array[ii][jj] = 1+ii;
19 array2[ii]= 2;
20 array3[ii]= 3;
21 }
22 }
23
24 array[array2[:]][array3[:]] = 1000;
25
9fc9adf1 26 for (ii = 0; ii < NUMBER; ii++)
3c6d4197 27 if (array[array2[ii]][array3[ii]] != 1000)
28 return 1;
29
30#if HAVE_IO
9fc9adf1 31 for (ii = 0; ii < NUMBER; ii++) {
32 for (jj = 0; jj < NUMBER; jj++) {
3c6d4197 33 printf("%4d\t", array[ii][jj]);
34 }
35 printf("\n");
36 }
37#endif
38
9fc9adf1 39 array4[array2[:]][array3[0:NUMBER:1]][array2[0:NUMBER:1]][array3[0:NUMBER:1]] =
3c6d4197 40 (float)array[array2[:]][array3[:]];
41
9fc9adf1 42 for (ii = 0; ii < NUMBER; ii++)
3c6d4197 43 if (array4[array2[ii]][array3[ii]][array2[ii]][array3[ii]] !=
44 (float)array[array2[ii]][array3[ii]])
45 return 2;
46
47#if HAVE_IO
9fc9adf1 48 for (ii = 0; ii < NUMBER; ii++) {
49 for (jj = 0; jj < NUMBER; jj++) {
50 for (kk = 0; kk < NUMBER; kk++) {
51 for (ll = 0; ll < NUMBER; ll++) {
3c6d4197 52 printf("%4d\n", array4[ii][jj][kk][ll]);
53 }
54 }
55 }
56 }
57#endif
58
59 return 0;
60}