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