brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · b25adee Raw
60 lines · plain
1! RUN: %flang -target x86_64-linux-gnu -fopenmp-simd %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-OPENMP-SIMD-FLAG --check-prefix=CHECK-NO-LD-ANY2! RUN: %flang -target x86_64-darwin -fopenmp-simd %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-OPENMP-SIMD-FLAG --check-prefix=CHECK-NO-LD-ANY3! RUN: %flang -target x86_64-freebsd -fopenmp-simd %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-OPENMP-SIMD-FLAG --check-prefix=CHECK-NO-LD-ANY4! RUN: %flang -target x86_64-windows-gnu -fopenmp-simd %s -o %t -### 2>&1 | FileCheck %s --check-prefix=CHECK-OPENMP-SIMD-FLAG --check-prefix=CHECK-NO-LD-ANY5 6! CHECK-OPENMP-SIMD-FLAG: "-fopenmp-simd"7! CHECK-NO-LD-ANY-NOT: "-l{{(omp|gomp|iomp5)}}"8 9! -fopenmp-simd enables openmp support only for simd constructs10! RUN: %flang_fc1 -fopenmp-simd %s -emit-fir -o - | FileCheck --check-prefix=CHECK-OMP-SIMD %s11! RUN: %flang_fc1 -fno-openmp-simd %s -emit-fir -o - | FileCheck --check-prefix=CHECK-NO-OMP-SIMD %s12! RUN: %flang_fc1 -fopenmp-simd -fno-openmp-simd %s -emit-fir -o - | FileCheck --check-prefix=CHECK-NO-OMP-SIMD %s13! RUN: %flang_fc1 -fno-openmp-simd -fopenmp-simd %s -emit-fir -o - | FileCheck --check-prefix=CHECK-OMP-SIMD %s14! -fopenmp-simd should have no effect if -fopenmp is already set15! RUN: %flang_fc1 -fopenmp %s -emit-fir -o - | FileCheck --check-prefix=CHECK-OMP %s16! RUN: %flang_fc1 -fopenmp -fopenmp-simd %s -emit-fir -o - | FileCheck --check-prefix=CHECK-OMP %s17! RUN: %flang_fc1 -fopenmp -fno-openmp-simd %s -emit-fir -o - | FileCheck --check-prefix=CHECK-OMP %s18 19subroutine main20  ! CHECK-OMP-SIMD-NOT: omp.parallel21  ! CHECK-OMP-SIMD-NOT: omp.wsloop22  ! CHECK-OMP-SIMD-NOT: omp.loop_nest23  ! CHECK-OMP-SIMD: fir.do_loop24  ! CHECK-NO-OMP-SIMD-NOT: omp.parallel25  ! CHECK-NO-OMP-SIMD-NOT: omp.wsloop26  ! CHECK-NO-OMP-SIMD-NOT: omp.loop_nest27  ! CHECK-NO-OMP-SIMD: fir.do_loop28  ! CHECK-OMP: omp.parallel29  ! CHECK-OMP: omp.wsloop30  ! CHECK-OMP: omp.loop_nest31  ! CHECK-OMP-NOT: fir.do_loop32  !$omp parallel do33  do i = 1, 1034    print *, "test"35  end do36  ! CHECK-NO-OMP-SIMD-NOT: omp.yield37  ! CHECK-NO-OMP-SIMD-NOT: omp.terminator38  ! CHECK-OMP-SIMD-NOT: omp.yield39  ! CHECK-OMP-SIMD-NOT: omp.terminator40  ! CHECK-OMP: omp.yield41  ! CHECK-OMP: omp.terminator42  !$omp end parallel do43 44  ! CHECK-OMP-SIMD: omp.simd45  ! CHECK-NO-OMP-SIMD-NOT: omp.simd46  ! CHECK-OMP: omp.simd47  !$omp simd48  ! CHECK-OMP-SIMD: omp.loop_nest49  ! CHECK-NO-OMP-SIMD-NOT: omp.loop_nest50  ! CHECK-NO-OMP-SIMD: fir.do_loop51  ! CHECK-OMP: omp.loop_nest52  ! CHECK-OMP-NOT: fir.do_loop53  do i = 1, 1054    print *, "test"55  ! CHECK-OMP-SIMD: omp.yield56  ! CHECK-NO-OMP-SIMD-NOT: omp.yield57  ! CHECK-OMP: omp.yield58  end do59end subroutine60