83 lines
2.5 KiB
Fortran
83 lines
2.5 KiB
Fortran
! This test checks lowering of OpenMP combined loop constructs.
|
|
|
|
! RUN: bbc -fopenmp -emit-fir %s -o - | FileCheck %s
|
|
! RUN: %flang_fc1 -fopenmp -emit-fir %s -o - | FileCheck %s
|
|
|
|
program main
|
|
integer :: i
|
|
|
|
! TODO When DISTRIBUTE, TASKLOOP and TEAMS are supported add:
|
|
! - DISTRIBUTE PARALLEL DO SIMD
|
|
! - DISTRIBUTE PARALLEL DO
|
|
! - DISTRIBUTE SIMD
|
|
! - TARGET TEAMS DISTRIBUTE PARALLEL DO SIMD
|
|
! - TARGET TEAMS DISTRIBUTE PARALLEL DO
|
|
! - TARGET TEAMS DISTRIBUTE SIMD
|
|
! - TARGET TEAMS DISTRIBUTE
|
|
! - TASKLOOP SIMD
|
|
! - TEAMS DISTRIBUTE PARALLEL DO SIMD
|
|
! - TEAMS DISTRIBUTE PARALLEL DO
|
|
! - TEAMS DISTRIBUTE SIMD
|
|
! - TEAMS DISTRIBUTE
|
|
|
|
! ----------------------------------------------------------------------------
|
|
! DO SIMD
|
|
! ----------------------------------------------------------------------------
|
|
! CHECK: omp.simdloop
|
|
!$omp do simd
|
|
do i = 1, 10
|
|
end do
|
|
!$omp end do simd
|
|
|
|
! ----------------------------------------------------------------------------
|
|
! PARALLEL DO SIMD
|
|
! ----------------------------------------------------------------------------
|
|
! CHECK: omp.parallel
|
|
! CHECK: omp.simdloop
|
|
!$omp parallel do simd
|
|
do i = 1, 10
|
|
end do
|
|
!$omp end parallel do simd
|
|
|
|
! ----------------------------------------------------------------------------
|
|
! PARALLEL DO
|
|
! ----------------------------------------------------------------------------
|
|
! CHECK: omp.parallel
|
|
! CHECK: omp.wsloop
|
|
!$omp parallel do
|
|
do i = 1, 10
|
|
end do
|
|
!$omp end parallel do
|
|
|
|
! ----------------------------------------------------------------------------
|
|
! TARGET PARALLEL DO SIMD
|
|
! ----------------------------------------------------------------------------
|
|
! CHECK: omp.target
|
|
! CHECK: omp.parallel
|
|
! CHECK: omp.simdloop
|
|
!$omp target parallel do simd
|
|
do i = 1, 10
|
|
end do
|
|
!$omp end target parallel do simd
|
|
|
|
! ----------------------------------------------------------------------------
|
|
! TARGET PARALLEL DO
|
|
! ----------------------------------------------------------------------------
|
|
! CHECK: omp.target
|
|
! CHECK: omp.parallel
|
|
! CHECK: omp.wsloop
|
|
!$omp target parallel do
|
|
do i = 1, 10
|
|
end do
|
|
!$omp end target parallel do
|
|
|
|
! ----------------------------------------------------------------------------
|
|
! TARGET SIMD
|
|
! ----------------------------------------------------------------------------
|
|
! CHECK: omp.target
|
|
! CHECK: omp.simdloop
|
|
!$omp target simd
|
|
do i = 1, 10
|
|
end do
|
|
!$omp end target simd
|
|
end program main
|