URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgomp/] [testsuite/] [libgomp.c/] [reduction-4.c] - Rev 810
Go to most recent revision | Compare with Previous | Blame | View Log
#include <omp.h> #include <stdlib.h> int main (void) { int i = 0, j = 0, k = 0, l = 0; #pragma omp parallel num_threads(4) reduction(-:i) reduction(|:k) \ reduction(^:l) { if (i != 0 || k != 0 || l != 0) #pragma omp atomic j |= 1; if (omp_get_num_threads () != 4) #pragma omp atomic j |= 2; i = omp_get_thread_num (); k = 1 << (2 * i); l = 0xea << (3 * i); } if (j & 1) abort (); if ((j & 2) == 0) { if (i != (0 + 1 + 2 + 3)) abort (); if (k != 0x55) abort (); if (l != 0x1e93a) abort (); } return 0; }
Go to most recent revision | Compare with Previous | Blame | View Log