URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgomp/] [testsuite/] [libgomp.fortran/] [appendix-a/] [a.16.1.f90] - Rev 735
Compare with Previous | Blame | View Log
! { dg-do run }REAL FUNCTION WORK1(I)INTEGER IWORK1 = 1.0 * IRETURNEND FUNCTION WORK1REAL FUNCTION WORK2(I)INTEGER IWORK2 = 2.0 * IRETURNEND FUNCTION WORK2SUBROUTINE SUBA16(X, Y, INDEX, N)REAL X(*), Y(*)INTEGER INDEX(*), NINTEGER I!$OMP PARALLEL DO SHARED(X, Y, INDEX, N)DO I=1,N!$OMP ATOMICX(INDEX(I)) = X(INDEX(I)) + WORK1(I)Y(I) = Y(I) + WORK2(I)ENDDOEND SUBROUTINE SUBA16PROGRAM A16REAL X(1000), Y(10000)INTEGER INDEX(10000)INTEGER IDO I=1,10000INDEX(I) = MOD(I, 1000) + 1Y(I) = 0.0ENDDODO I = 1,1000X(I) = 0.0ENDDOCALL SUBA16(X, Y, INDEX, 10000)DO I = 1,10PRINT *, "X(", I, ") = ", X(I), ", Y(", I, ") = ", Y(I)ENDDOEND PROGRAM A16
