! This test checks lowering of OpenMP DISTRIBUTE SIMD composite constructs.
! RUN: bbc -fopenmp -emit-hlfir %s -o - | FileCheck %s
! RUN: %flang_fc1 -fopenmp -emit-hlfir %s -o - | FileCheck %s
! CHECK-LABEL: func.func @_QPdistribute_simd_aligned(
subroutine distribute_simd_aligned(A)
use iso_c_binding
type(c_ptr) :: A
!$omp teams
! CHECK: omp.distribute
! CHECK-NOT: aligned({{.*}})
! CHECK-SAME: {
! CHECK-NEXT: omp.simd
! CHECK-SAME: aligned({{.*}})
!$omp distribute simd aligned(A:256)
do index_ = 1, 10
call c_test_call(A)
end do
!$omp end distribute simd
!$omp end teams
end subroutine distribute_simd_aligned
! CHECK-LABEL: func.func @_QPdistribute_simd_safelen(
subroutine distribute_simd_safelen()
!$omp teams
! CHECK: omp.distribute
! CHECK-NOT: safelen({{.*}})
! CHECK-SAME: {
! CHECK-NEXT: omp.simd
! CHECK-SAME: safelen({{.*}})
!$omp distribute simd safelen(4)
do index_ = 1, 10
end do
!$omp end distribute simd
!$omp end teams
end subroutine distribute_simd_safelen
! CHECK-LABEL: func.func @_QPdistribute_simd_simdlen(
subroutine distribute_simd_simdlen()
!$omp teams
! CHECK: omp.distribute
! CHECK-NOT: simdlen({{.*}})
! CHECK-SAME: {
! CHECK-NEXT: omp.simd
! CHECK-SAME: simdlen({{.*}})
!$omp distribute simd simdlen(4)
do index_ = 1, 10
end do
!$omp end distribute simd
!$omp end teams
end subroutine distribute_simd_simdlen