Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.oacc-c-c++-common/broadcast-1.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 84e7813d76e9 |
children |
line wrap: on
line source
/* Ensure that worker-vector state conditional expressions are properly handled by the nvptx backend. */ #include <assert.h> #include <math.h> #define N 1024 int A[N][N] ; void test(int x) { #pragma acc parallel num_gangs(16) num_workers(4) vector_length(32) copyout(A) { #pragma acc loop gang for(int j=0;j<N;j++) { if (x==1) { #pragma acc loop worker vector for(int i=0;i<N;i++) A[i][j] = 1; } else { #pragma acc loop worker vector for(int i=0;i<N;i++) A[i][j] = -1; } } } } int main(void) { test (0); for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) assert (A[i][j] == -1); test (1); for (int i = 0; i < N; i++) for (int j = 0; j < N; j++) assert (A[i][j] == 1); return 0; }