brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · cf5d023 Raw
48 lines · plain
1! RUN: %flang_fc1 -emit-fir -fopenmp -fopenmp-version=60 %s -o - | FileCheck %s2 3! CHECK-LABEL: func @_QPtarget_teams_workdistribute4subroutine target_teams_workdistribute(a, x, y, rows, cols, depth)5  use iso_fortran_env6  implicit none7 8  integer, intent(in) :: rows, cols, depth9  real(kind=real32) :: a10  real(kind=real32), dimension(rows, cols, depth) :: x, y11 12  ! CHECK: omp.target_data13  ! CHECK: omp.target14  ! CHECK: omp.teams15  ! CHECK: omp.parallel16  ! CHECK: omp.distribute17  ! CHECK: omp.wsloop18  ! CHECK: omp.loop_nest19  ! CHECK: fir.do_loop20  ! CHECK: fir.do_loop21 22  !$omp target teams workdistribute23  y = a * x + y24  !$omp end target teams workdistribute25end subroutine target_teams_workdistribute26 27! CHECK-LABEL: func @_QPteams_workdistribute28subroutine teams_workdistribute(a, x, y, rows, cols, depth)29  use iso_fortran_env30  implicit none31 32  integer, intent(in) :: rows, cols, depth33  real(kind=real32) :: a34  real(kind=real32), dimension(rows, cols, depth) :: x, y35 36  ! CHECK: omp.teams37  ! CHECK: omp.parallel38  ! CHECK: omp.distribute39  ! CHECK: omp.wsloop40  ! CHECK: omp.loop_nest41  ! CHECK: fir.do_loop42  ! CHECK: fir.do_loop43 44  !$omp teams workdistribute45  y = a * x + y46  !$omp end teams workdistribute47end subroutine teams_workdistribute48