URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgomp/] [testsuite/] [libgomp.c++/] [loop-11.C] - Rev 735
Compare with Previous | Blame | View Log
#include <omp.h>#include <stdlib.h>#include <string.h>inttest1 (){short int buf[64], *p;int i;memset (buf, '\0', sizeof (buf));#pragma omp parallel forfor (p = &buf[10]; &buf[54] > p; p++)*p = 5;for (i = 0; i < 64; i++)if (buf[i] != 5 * (i >= 10 && i < 54))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel forfor (p = &buf[3]; &buf[63] >= p; p += 2)p[-2] = 6;for (i = 0; i < 64; i++)if (buf[i] != 6 * ((i & 1) && i <= 61))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel forfor (p = &buf[16]; &buf[51] > p; p = 4 + p)p[2] = 7;for (i = 0; i < 64; i++)if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel forfor (p = &buf[16]; &buf[40] >= p; p = p + 4ULL)p[2] = -7;for (i = 0; i < 64; i++)if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel forfor (p = &buf[53]; &buf[9] < p; --p)*p = 5;for (i = 0; i < 64; i++)if (buf[i] != 5 * (i >= 10 && i < 54))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel forfor (p = &buf[63]; &buf[3] <= p; p -= 2)p[-2] = 6;for (i = 0; i < 64; i++)if (buf[i] != 6 * ((i & 1) && i <= 61))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel forfor (p = &buf[48]; &buf[15] < p; p = -4 + p)p[2] = 7;for (i = 0; i < 64; i++)if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel forfor (p = &buf[40]; &buf[16] <= p; p = p - 4ULL)p[2] = -7;for (i = 0; i < 64; i++)if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))abort ();return 0;}inttest2 (){int buf[64], *p;int i;memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (static, 3)for (p = &buf[10]; &buf[54] > p; p++)*p = 5;for (i = 0; i < 64; i++)if (buf[i] != 5 * (i >= 10 && i < 54))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (static, 3)for (p = &buf[3]; &buf[63] >= p; p += 2)p[-2] = 6;for (i = 0; i < 64; i++)if (buf[i] != 6 * ((i & 1) && i <= 61))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (static, 3)for (p = &buf[16]; &buf[51] > p; p = 4 + p)p[2] = 7;for (i = 0; i < 64; i++)if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (static, 3)for (p = &buf[16]; &buf[40] >= p; p = p + 4ULL)p[2] = -7;for (i = 0; i < 64; i++)if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (static, 3)for (p = &buf[53]; &buf[9] < p; --p)*p = 5;for (i = 0; i < 64; i++)if (buf[i] != 5 * (i >= 10 && i < 54))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (static, 3)for (p = &buf[63]; &buf[3] <= p; p -= 2)p[-2] = 6;for (i = 0; i < 64; i++)if (buf[i] != 6 * ((i & 1) && i <= 61))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (static, 3)for (p = &buf[48]; &buf[15] < p; p = -4 + p)p[2] = 7;for (i = 0; i < 64; i++)if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (static, 3)for (p = &buf[40]; &buf[16] <= p; p = p - 4ULL)p[2] = -7;for (i = 0; i < 64; i++)if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))abort ();return 0;}inttest3 (){int buf[64], *p;int i;memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (dynamic, 3)for (p = &buf[10]; &buf[54] > p; p++)*p = 5;for (i = 0; i < 64; i++)if (buf[i] != 5 * (i >= 10 && i < 54))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (dynamic, 3)for (p = &buf[3]; &buf[63] >= p; p += 2)p[-2] = 6;for (i = 0; i < 64; i++)if (buf[i] != 6 * ((i & 1) && i <= 61))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (dynamic, 3)for (p = &buf[16]; &buf[51] > p; p = 4 + p)p[2] = 7;for (i = 0; i < 64; i++)if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (dynamic, 3)for (p = &buf[16]; &buf[40] >= p; p = p + 4ULL)p[2] = -7;for (i = 0; i < 64; i++)if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (dynamic, 3)for (p = &buf[53]; &buf[9] < p; --p)*p = 5;for (i = 0; i < 64; i++)if (buf[i] != 5 * (i >= 10 && i < 54))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (dynamic, 3)for (p = &buf[63]; &buf[3] <= p; p -= 2)p[-2] = 6;for (i = 0; i < 64; i++)if (buf[i] != 6 * ((i & 1) && i <= 61))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (dynamic, 3)for (p = &buf[48]; &buf[15] < p; p = -4 + p)p[2] = 7;for (i = 0; i < 64; i++)if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (dynamic, 3)for (p = &buf[40]; &buf[16] <= p; p = p - 4ULL)p[2] = -7;for (i = 0; i < 64; i++)if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))abort ();return 0;}inttest4 (){int buf[64], *p;int i;memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (runtime)for (p = &buf[10]; &buf[54] > p; p++)*p = 5;for (i = 0; i < 64; i++)if (buf[i] != 5 * (i >= 10 && i < 54))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (runtime)for (p = &buf[3]; &buf[63] >= p; p += 2)p[-2] = 6;for (i = 0; i < 64; i++)if (buf[i] != 6 * ((i & 1) && i <= 61))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (runtime)for (p = &buf[16]; &buf[51] > p; p = 4 + p)p[2] = 7;for (i = 0; i < 64; i++)if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (runtime)for (p = &buf[16]; &buf[40] >= p; p = p + 4ULL)p[2] = -7;for (i = 0; i < 64; i++)if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (runtime)for (p = &buf[53]; &buf[9] < p; --p)*p = 5;for (i = 0; i < 64; i++)if (buf[i] != 5 * (i >= 10 && i < 54))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (runtime)for (p = &buf[63]; &buf[3] <= p; p -= 2)p[-2] = 6;for (i = 0; i < 64; i++)if (buf[i] != 6 * ((i & 1) && i <= 61))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (runtime)for (p = &buf[48]; &buf[15] < p; p = -4 + p)p[2] = 7;for (i = 0; i < 64; i++)if (buf[i] != 7 * ((i & 3) == 2 && i >= 18 && i < 53))abort ();memset (buf, '\0', sizeof (buf));#pragma omp parallel for schedule (runtime)for (p = &buf[40]; &buf[16] <= p; p = p - 4ULL)p[2] = -7;for (i = 0; i < 64; i++)if (buf[i] != -7 * ((i & 3) == 2 && i >= 18 && i <= 42))abort ();return 0;}intmain (){test1 ();test2 ();test3 ();omp_set_schedule (omp_sched_static, 0);test4 ();omp_set_schedule (omp_sched_static, 3);test4 ();omp_set_schedule (omp_sched_dynamic, 5);test4 ();omp_set_schedule (omp_sched_guided, 2);test4 ();return 0;}
