OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgomp/] [testsuite/] [libgomp.fortran/] [reduction4.f90] - Blame information for rev 801

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 735 jeremybenn
! { dg-do run }
2
!$ use omp_lib
3
 
4
  integer (kind = 4) :: i, ia (6), j, ja (6), k, ka (6), ta (6), n, cnt, x
5
  logical :: v
6
 
7
  i = Z'ffff0f'
8
  ia = Z'f0ff0f'
9
  j = Z'0f0000'
10
  ja = Z'0f5a00'
11
  k = Z'055aa0'
12
  ka = Z'05a5a5'
13
  v = .false.
14
  cnt = -1
15
  x = not(0)
16
 
17
!$omp parallel num_threads (3) private (n) reduction (.or.:v) &
18
!$omp & reduction (iand:i, ia) reduction (ior:j, ja) reduction (ieor:k, ka)
19
!$ if (i .ne. x .or. any (ia .ne. x)) v = .true.
20
!$ if (j .ne. 0 .or. any (ja .ne. 0)) v = .true.
21
!$ if (k .ne. 0 .or. any (ka .ne. 0)) v = .true.
22
  n = omp_get_thread_num ()
23
  if (n .eq. 0) then
24
    cnt = omp_get_num_threads ()
25
    i = Z'ff7fff'
26
    ia(3:5) = Z'fffff1'
27
    j = Z'078000'
28
    ja(1:3) = 1
29
    k = Z'78'
30
    ka(3:6) = Z'f0f'
31
  else if (n .eq. 1) then
32
    i = Z'ffff77'
33
    ia(2:5) = Z'ffafff'
34
    j = Z'007800'
35
    ja(2:5) = 8
36
    k = Z'57'
37
    ka(3:4) = Z'f0108'
38
  else
39
    i = Z'777fff'
40
    ia(1:2) = Z'fffff3'
41
    j = Z'000780'
42
    ja(5:6) = Z'f00'
43
    k = Z'1000'
44
    ka(6:6) = Z'777'
45
  end if
46
!$omp end parallel
47
  if (v) call abort
48
  if (cnt .eq. 3) then
49
    ta = (/Z'f0ff03', Z'f0af03', Z'f0af01', Z'f0af01', Z'f0af01', Z'f0ff0f'/)
50
    if (i .ne. Z'777f07' .or. any (ia .ne. ta)) call abort
51
    ta = (/Z'f5a01', Z'f5a09', Z'f5a09', Z'f5a08', Z'f5f08', Z'f5f00'/)
52
    if (j .ne. Z'fff80' .or. any (ja .ne. ta)) call abort
53
    ta = (/Z'5a5a5', Z'5a5a5', Z'aaba2', Z'aaba2', Z'5aaaa', Z'5addd'/)
54
    if (k .ne. Z'54a8f' .or. any (ka .ne. ta)) call abort
55
  end if
56
end

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.