[RISCV] Simplify MIPS CCMov patterns. NFC (#125318)
[llvm-project.git] / offload / test / offloading / fortran / basic-target-region-3D-array.f90
blob61fced35980f418dbb3a467b8b1e2b0b8eccedd1
1 ! Basic offloading test of a regular array explicitly passed within a target
2 ! region
3 ! REQUIRES: flang
4 ! REQUIRES: gpu
5 ! UNSUPPORTED: nvptx64-nvidia-cuda-LTO
7 ! RUN: %libomptarget-compile-fortran-run-and-check-generic
8 program main
9 integer :: x(2,2,2)
10 integer :: i, j, k
11 integer :: i2 = 2, j2 = 2, k2 = 2
12 integer :: counter = 1
13 do i = 1, 2
14 do j = 1, 2
15 do k = 1, 2
16 x(i, j, k) = 0
17 end do
18 end do
19 end do
21 i = 1
22 j = 1
23 k = 1
25 !$omp target map(tofrom:x, counter) map(to: i, j, k, i2, j2, k2)
26 do while (i <= i2)
27 j = 1
28 do while (j <= j2)
29 k = 1
30 do while (k <= k2)
31 x(i, j, k) = counter
32 counter = counter + 1
33 k = k + 1
34 end do
35 j = j + 1
36 end do
37 i = i + 1
38 end do
39 !$omp end target
41 do i = 1, 2
42 do j = 1, 2
43 do k = 1, 2
44 print *, x(i, j, k)
45 end do
46 end do
47 end do
48 end program main
50 ! CHECK: 1
51 ! CHECK: 2
52 ! CHECK: 3
53 ! CHECK: 4
54 ! CHECK: 5
55 ! CHECK: 6
56 ! CHECK: 7
57 ! CHECK: 8