brintos

brintos / llvm-project-archived public Read only

0
0
Text · 40.7 KiB · e8f69b4 Raw
1608 lines · plain
1! This test checks lowering of OpenMP IF clauses.2 3! The "if" clause was added to the "simd" directive in OpenMP 5.0, and4! to the "teams" directive in OpenMP 5.2.5! RUN: bbc -fopenmp -fopenmp-version=52 -emit-hlfir %s -o - | FileCheck %s6! RUN: %flang_fc1 -fopenmp -fopenmp-version=52 -emit-hlfir %s -o - | FileCheck %s7 8program main9  integer :: i10 11  ! TODO When they are supported, add tests for:12  ! - PARALLEL SECTIONS13  ! - PARALLEL WORKSHARE14  ! - TARGET UPDATE15  ! - TASKLOOP SIMD16 17  ! ----------------------------------------------------------------------------18  ! DISTRIBUTE PARALLEL DO19  ! ----------------------------------------------------------------------------20  !$omp teams21 22  ! CHECK:      omp.parallel23  ! CHECK-NOT:  if({{.*}})24  ! CHECK-SAME: {25  ! CHECK:      omp.distribute26  ! CHECK-NOT:  if({{.*}})27  ! CHECK-SAME: {28  ! CHECK-NEXT: omp.wsloop29  ! CHECK-NOT:  if({{.*}})30  ! CHECK-SAME: {31  ! CHECK-NEXT: omp.loop_nest32  !$omp distribute parallel do33  do i = 1, 1034  end do35  !$omp end distribute parallel do36 37  ! CHECK:      omp.parallel38  ! CHECK-SAME: if({{.*}})39  ! CHECK:      omp.distribute40  ! CHECK-NOT:  if({{.*}})41  ! CHECK-SAME: {42  ! CHECK-NEXT: omp.wsloop43  ! CHECK-NOT:  if({{.*}})44  ! CHECK-SAME: {45  ! CHECK-NEXT: omp.loop_nest46  !$omp distribute parallel do if(.true.)47  do i = 1, 1048  end do49  !$omp end distribute parallel do50 51  ! CHECK:      omp.parallel52  ! CHECK-SAME: if({{.*}})53  ! CHECK:      omp.distribute54  ! CHECK-NOT:  if({{.*}})55  ! CHECK-SAME: {56  ! CHECK-NEXT: omp.wsloop57  ! CHECK-NOT:  if({{.*}})58  ! CHECK-SAME: {59  ! CHECK-NEXT: omp.loop_nest60  !$omp distribute parallel do if(parallel: .true.)61  do i = 1, 1062  end do63  !$omp end distribute parallel do64 65  !$omp end teams66 67  ! ----------------------------------------------------------------------------68  ! DISTRIBUTE PARALLEL DO SIMD69  ! ----------------------------------------------------------------------------70  !$omp teams71 72  ! CHECK:      omp.parallel73  ! CHECK-NOT:  if({{.*}})74  ! CHECK-SAME: {75  ! CHECK:      omp.distribute76  ! CHECK-NOT:  if({{.*}})77  ! CHECK-SAME: {78  ! CHECK-NEXT: omp.wsloop79  ! CHECK-NOT:  if({{.*}})80  ! CHECK-SAME: {81  ! CHECK-NEXT: omp.simd82  ! CHECK-NOT:  if({{.*}})83  ! CHECK-SAME: {84  ! CHECK-NEXT: omp.loop_nest85  !$omp distribute parallel do simd86  do i = 1, 1087  end do88  !$omp end distribute parallel do simd89 90  ! CHECK:      omp.parallel91  ! CHECK-SAME: if({{.*}})92  ! CHECK:      omp.distribute93  ! CHECK-NOT:  if({{.*}})94  ! CHECK-SAME: {95  ! CHECK-NEXT: omp.wsloop96  ! CHECK-NOT:  if({{.*}})97  ! CHECK-SAME: {98  ! CHECK-NEXT: omp.simd99  ! CHECK-SAME: if({{.*}})100  ! CHECK-NEXT: omp.loop_nest101  !$omp distribute parallel do simd if(.true.)102  do i = 1, 10103  end do104  !$omp end distribute parallel do simd105 106  ! CHECK:      omp.parallel107  ! CHECK-SAME: if({{.*}})108  ! CHECK:      omp.distribute109  ! CHECK-NOT:  if({{.*}})110  ! CHECK-SAME: {111  ! CHECK-NEXT: omp.wsloop112  ! CHECK-NOT:  if({{.*}})113  ! CHECK-SAME: {114  ! CHECK-NEXT: omp.simd115  ! CHECK-SAME: if({{.*}})116  ! CHECK-NEXT: omp.loop_nest117  !$omp distribute parallel do simd if(parallel: .true.) if(simd: .false.)118  do i = 1, 10119  end do120  !$omp end distribute parallel do simd121 122  ! CHECK:      omp.parallel123  ! CHECK-SAME: if({{.*}})124  ! CHECK:      omp.distribute125  ! CHECK-NOT:  if({{.*}})126  ! CHECK-SAME: {127  ! CHECK-NEXT: omp.wsloop128  ! CHECK-NOT:  if({{.*}})129  ! CHECK-SAME: {130  ! CHECK-NEXT: omp.simd131  ! CHECK-NOT:  if({{.*}})132  ! CHECK-SAME: {133  ! CHECK-NEXT: omp.loop_nest134  !$omp distribute parallel do simd if(parallel: .true.)135  do i = 1, 10136  end do137  !$omp end distribute parallel do simd138 139  ! CHECK:      omp.parallel140  ! CHECK-NOT:  if({{.*}})141  ! CHECK-SAME: {142  ! CHECK:      omp.distribute143  ! CHECK-NOT:  if({{.*}})144  ! CHECK-SAME: {145  ! CHECK-NEXT: omp.wsloop146  ! CHECK-NOT:  if({{.*}})147  ! CHECK-SAME: {148  ! CHECK-NEXT: omp.simd149  ! CHECK-SAME: if({{.*}})150  ! CHECK-NEXT: omp.loop_nest151  !$omp distribute parallel do simd if(simd: .true.)152  do i = 1, 10153  end do154  !$omp end distribute parallel do simd155 156  !$omp end teams157 158  ! ----------------------------------------------------------------------------159  ! DISTRIBUTE SIMD160  ! ----------------------------------------------------------------------------161  !$omp teams162 163  ! CHECK:      omp.distribute164  ! CHECK-NOT:  if({{.*}})165  ! CHECK-SAME: {166  ! CHECK-NEXT: omp.simd167  ! CHECK-NOT:  if({{.*}})168  ! CHECK-SAME: {169  ! CHECK-NEXT: omp.loop_nest170  !$omp distribute simd171  do i = 1, 10172  end do173  !$omp end distribute simd174 175  ! CHECK:      omp.distribute176  ! CHECK-NOT:  if({{.*}})177  ! CHECK-SAME: {178  ! CHECK-NEXT: omp.simd179  ! CHECK-SAME: if({{.*}})180  ! CHECK-NEXT: omp.loop_nest181  !$omp distribute simd if(.true.)182  do i = 1, 10183  end do184  !$omp end distribute simd185 186  ! CHECK:      omp.distribute187  ! CHECK-NOT:  if({{.*}})188  ! CHECK-SAME: {189  ! CHECK-NEXT: omp.simd190  ! CHECK-SAME: if({{.*}})191  ! CHECK-NEXT: omp.loop_nest192  !$omp distribute simd if(simd: .true.)193  do i = 1, 10194  end do195  !$omp end distribute simd196 197  !$omp end teams198 199  ! ----------------------------------------------------------------------------200  ! DO SIMD201  ! ----------------------------------------------------------------------------202  ! CHECK:      omp.wsloop203  ! CHECK-NOT:  if({{.*}})204  ! CHECK-SAME: {205  ! CHECK-NEXT: omp.simd206  ! CHECK-NOT:  if({{.*}})207  ! CHECK-SAME: {208  ! CHECK-NEXT: omp.loop_nest209  !$omp do simd210  do i = 1, 10211  end do212  !$omp end do simd213 214  ! CHECK:      omp.wsloop215  ! CHECK-NOT:  if({{.*}})216  ! CHECK-SAME: {217  ! CHECK-NEXT: omp.simd218  ! CHECK-SAME: if({{.*}})219  ! CHECK-NEXT: omp.loop_nest220  !$omp do simd if(.true.)221  do i = 1, 10222  end do223  !$omp end do simd224 225  ! CHECK:      omp.wsloop226  ! CHECK-NOT:  if({{.*}})227  ! CHECK-SAME: {228  ! CHECK-NEXT: omp.simd229  ! CHECK-SAME: if({{.*}})230  ! CHECK-NEXT: omp.loop_nest231  !$omp do simd if(simd: .true.)232  do i = 1, 10233  end do234  !$omp end do simd235 236  ! ----------------------------------------------------------------------------237  ! PARALLEL238  ! ----------------------------------------------------------------------------239  ! CHECK:      omp.parallel240  ! CHECK-NOT:  if({{.*}})241  ! CHECK-SAME: {242  !$omp parallel243  i = 10244  !$omp end parallel245 246  ! CHECK:      omp.parallel247  ! CHECK-SAME: if({{.*}})248  !$omp parallel if(.true.)249  i = 10250  !$omp end parallel251 252  ! CHECK:      omp.parallel253  ! CHECK-SAME: if({{.*}})254  !$omp parallel if(parallel: .true.)255  i = 10256  !$omp end parallel257 258  ! ----------------------------------------------------------------------------259  ! PARALLEL DO260  ! ----------------------------------------------------------------------------261  ! CHECK:      omp.parallel262  ! CHECK-NOT:  if({{.*}})263  ! CHECK-SAME: {264  ! CHECK:      omp.wsloop265  ! CHECK-NOT:  if({{.*}})266  ! CHECK-SAME: {267  ! CHECK-NEXT: omp.loop_nest268  !$omp parallel do269  do i = 1, 10270  end do271  !$omp end parallel do272 273  ! CHECK:      omp.parallel274  ! CHECK-SAME: if({{.*}})275  ! CHECK:      omp.wsloop276  ! CHECK-NOT:  if({{.*}})277  ! CHECK-SAME: {278  ! CHECK-NEXT: omp.loop_nest279  !$omp parallel do if(.true.)280  do i = 1, 10281  end do282  !$omp end parallel do283 284  ! CHECK:      omp.parallel285  ! CHECK-SAME: if({{.*}})286  ! CHECK:      omp.wsloop287  ! CHECK-NOT:  if({{.*}})288  ! CHECK-SAME: {289  ! CHECK-NEXT: omp.loop_nest290  !$omp parallel do if(parallel: .true.)291  do i = 1, 10292  end do293  !$omp end parallel do294 295  ! ----------------------------------------------------------------------------296  ! PARALLEL DO SIMD297  ! ----------------------------------------------------------------------------298  ! CHECK:      omp.parallel299  ! CHECK-NOT:  if({{.*}})300  ! CHECK-SAME: {301  ! CHECK:      omp.wsloop302  ! CHECK-NOT:  if({{.*}})303  ! CHECK-SAME: {304  ! CHECK-NEXT: omp.simd305  ! CHECK-NOT:  if({{.*}})306  ! CHECK-SAME: {307  ! CHECK-NEXT: omp.loop_nest308  !$omp parallel do simd309  do i = 1, 10310  end do311  !$omp end parallel do simd312 313  ! CHECK:      omp.parallel314  ! CHECK-SAME: if({{.*}})315  ! CHECK:      omp.wsloop316  ! CHECK-NOT:  if({{.*}})317  ! CHECK-SAME: {318  ! CHECK-NEXT: omp.simd319  ! CHECK-SAME: if({{.*}})320  ! CHECK-NEXT: omp.loop_nest321  !$omp parallel do simd if(.true.)322  do i = 1, 10323  end do324  !$omp end parallel do simd325 326  ! CHECK:      omp.parallel327  ! CHECK-SAME: if({{.*}})328  ! CHECK:      omp.wsloop329  ! CHECK-NOT:  if({{.*}})330  ! CHECK-SAME: {331  ! CHECK-NEXT: omp.simd332  ! CHECK-SAME: if({{.*}})333  ! CHECK-NEXT: omp.loop_nest334  !$omp parallel do simd if(parallel: .true.) if(simd: .false.)335  do i = 1, 10336  end do337  !$omp end parallel do simd338 339  ! CHECK:      omp.parallel340  ! CHECK-SAME: if({{.*}})341  ! CHECK:      omp.wsloop342  ! CHECK-NOT:  if({{.*}})343  ! CHECK-SAME: {344  ! CHECK-NEXT: omp.simd345  ! CHECK-NOT:  if({{.*}})346  ! CHECK-SAME: {347  ! CHECK-NEXT: omp.loop_nest348  !$omp parallel do simd if(parallel: .true.)349  do i = 1, 10350  end do351  !$omp end parallel do simd352 353  ! CHECK:      omp.parallel354  ! CHECK-NOT:  if({{.*}})355  ! CHECK-SAME: {356  ! CHECK:      omp.wsloop357  ! CHECK-NOT:  if({{.*}})358  ! CHECK-SAME: {359  ! CHECK-NEXT: omp.simd360  ! CHECK-SAME: if({{.*}})361  ! CHECK-NEXT: omp.loop_nest362  !$omp parallel do simd if(simd: .true.)363  do i = 1, 10364  end do365  !$omp end parallel do simd366 367  ! ----------------------------------------------------------------------------368  ! SIMD369  ! ----------------------------------------------------------------------------370  ! CHECK:      omp.simd371  ! CHECK-NOT:  if({{.*}})372  ! CHECK-SAME: {373  ! CHECK-NEXT: omp.loop_nest374  !$omp simd375  do i = 1, 10376  end do377  !$omp end simd378 379  ! CHECK:      omp.simd380  ! CHECK-SAME: if({{.*}})381  ! CHECK-NEXT: omp.loop_nest382  !$omp simd if(.true.)383  do i = 1, 10384  end do385  !$omp end simd386 387  ! CHECK:      omp.simd388  ! CHECK-SAME: if({{.*}})389  ! CHECK-NEXT: omp.loop_nest390  !$omp simd if(simd: .true.)391  do i = 1, 10392  end do393  !$omp end simd394 395  ! ----------------------------------------------------------------------------396  ! TARGET397  ! ----------------------------------------------------------------------------398  ! CHECK:      omp.target399  ! CHECK-NOT:  if({{.*}})400  ! CHECK-SAME: {401  !$omp target402  !$omp end target403 404  ! CHECK:      omp.target405  ! CHECK-SAME: if({{.*}})406  !$omp target if(.true.)407  !$omp end target408 409  ! CHECK:      omp.target410  ! CHECK-SAME: if({{.*}})411  !$omp target if(target: .true.)412  !$omp end target413 414  ! ----------------------------------------------------------------------------415  ! TARGET DATA416  ! ----------------------------------------------------------------------------417  ! CHECK:      omp.target_data418  ! CHECK-NOT:  if({{.*}})419  ! CHECK-SAME: {420  !$omp target data map(tofrom: i)421  !$omp end target data422 423  ! CHECK:      omp.target_data424  ! CHECK-SAME: if({{.*}})425  !$omp target data map(tofrom: i) if(.true.)426  !$omp end target data427 428  ! CHECK:      omp.target_data429  ! CHECK-SAME: if({{.*}})430  !$omp target data map(tofrom: i) if(target data: .true.)431  !$omp end target data432 433  ! ----------------------------------------------------------------------------434  ! TARGET ENTER DATA435  ! ----------------------------------------------------------------------------436  ! CHECK:      omp.target_enter_data437  ! CHECK-NOT:  if({{.*}})438  ! CHECK-SAME: map439  !$omp target enter data map(to: i)440 441  ! CHECK:      omp.target_enter_data442  ! CHECK-SAME: if({{.*}})443  !$omp target enter data map(to: i) if(.true.)444 445  ! CHECK:      omp.target_enter_data446  ! CHECK-SAME: if({{.*}})447  !$omp target enter data map(to: i) if(target enter data: .true.)448 449  ! ----------------------------------------------------------------------------450  ! TARGET EXIT DATA451  ! ----------------------------------------------------------------------------452  ! CHECK:      omp.target_exit_data453  ! CHECK-NOT:  if({{.*}})454  ! CHECK-SAME: map455  !$omp target exit data map(from: i)456 457  ! CHECK:      omp.target_exit_data458  ! CHECK-SAME: if({{.*}})459  !$omp target exit data map(from: i) if(.true.)460 461  ! CHECK:      omp.target_exit_data462  ! CHECK-SAME: if({{.*}})463  !$omp target exit data map(from: i) if(target exit data: .true.)464 465  ! ----------------------------------------------------------------------------466  ! TARGET PARALLEL DO467  ! ----------------------------------------------------------------------------468  ! CHECK:      omp.target469  ! CHECK-NOT:  if({{.*}})470  ! CHECK-SAME: {471  ! CHECK:      omp.parallel472  ! CHECK-NOT:  if({{.*}})473  ! CHECK-SAME: {474  ! CHECK:      omp.wsloop475  ! CHECK-NOT:  if({{.*}})476  ! CHECK-SAME: {477  ! CHECK-NEXT: omp.loop_nest478  !$omp target parallel do479  do i = 1, 10480  end do481  !$omp end target parallel do482 483  ! CHECK:      omp.target484  ! CHECK-SAME: if({{.*}})485  ! CHECK:      omp.parallel486  ! CHECK-SAME: if({{.*}})487  ! CHECK:      omp.wsloop488  ! CHECK-NOT:  if({{.*}})489  ! CHECK-SAME: {490  ! CHECK-NEXT: omp.loop_nest491  !$omp target parallel do if(.true.)492  do i = 1, 10493  end do494  !$omp end target parallel do495 496  ! CHECK:      omp.target497  ! CHECK-SAME: if({{.*}})498  ! CHECK:      omp.parallel499  ! CHECK-SAME: if({{.*}})500  ! CHECK:      omp.wsloop501  ! CHECK-NOT:  if({{.*}})502  ! CHECK-SAME: {503  ! CHECK-NEXT: omp.loop_nest504  !$omp target parallel do if(target: .true.) if(parallel: .false.)505  do i = 1, 10506  end do507  !$omp end target parallel do508 509  ! CHECK:      omp.target510  ! CHECK-SAME: if({{.*}})511  ! CHECK:      omp.parallel512  ! CHECK-NOT:  if({{.*}})513  ! CHECK-SAME: {514  ! CHECK:      omp.wsloop515  ! CHECK-NOT:  if({{.*}})516  ! CHECK-SAME: {517  ! CHECK-NEXT: omp.loop_nest518  !$omp target parallel do if(target: .true.)519  do i = 1, 10520  end do521  !$omp end target parallel do522 523  ! CHECK:      omp.target524  ! CHECK-NOT:  if({{.*}})525  ! CHECK-SAME: {526  ! CHECK:      omp.parallel527  ! CHECK-SAME: if({{.*}})528  ! CHECK:      omp.wsloop529  ! CHECK-NOT:  if({{.*}})530  ! CHECK-SAME: {531  ! CHECK-NEXT: omp.loop_nest532  !$omp target parallel do if(parallel: .true.)533  do i = 1, 10534  end do535  !$omp end target parallel do536 537  ! ----------------------------------------------------------------------------538  ! TARGET PARALLEL DO SIMD539  ! ----------------------------------------------------------------------------540  ! CHECK:      omp.target541  ! CHECK-NOT:  if({{.*}})542  ! CHECK-SAME: {543  ! CHECK:      omp.parallel544  ! CHECK-NOT:  if({{.*}})545  ! CHECK-SAME: {546  ! CHECK:      omp.wsloop547  ! CHECK-NOT:  if({{.*}})548  ! CHECK-SAME: {549  ! CHECK-NEXT: omp.simd550  ! CHECK-NOT:  if({{.*}})551  ! CHECK-SAME: {552  ! CHECK-NEXT: omp.loop_nest553  !$omp target parallel do simd554  do i = 1, 10555  end do556  !$omp end target parallel do simd557 558  ! CHECK:      omp.target559  ! CHECK-SAME: if({{.*}})560  ! CHECK:      omp.parallel561  ! CHECK-SAME: if({{.*}})562  ! CHECK:      omp.wsloop563  ! CHECK-NOT:  if({{.*}})564  ! CHECK-SAME: {565  ! CHECK-NEXT: omp.simd566  ! CHECK-SAME: if({{.*}})567  ! CHECK-NEXT: omp.loop_nest568  !$omp target parallel do simd if(.true.)569  do i = 1, 10570  end do571  !$omp end target parallel do simd572 573  ! CHECK:      omp.target574  ! CHECK-SAME: if({{.*}})575  ! CHECK:      omp.parallel576  ! CHECK-SAME: if({{.*}})577  ! CHECK:      omp.wsloop578  ! CHECK-NOT:  if({{.*}})579  ! CHECK-SAME: {580  ! CHECK-NEXT: omp.simd581  ! CHECK-SAME: if({{.*}})582  ! CHECK-NEXT: omp.loop_nest583  !$omp target parallel do simd if(target: .true.) if(parallel: .false.) &584  !$omp&                        if(simd: .true.)585  do i = 1, 10586  end do587  !$omp end target parallel do simd588 589  ! CHECK:      omp.target590  ! CHECK-SAME: if({{.*}})591  ! CHECK:      omp.parallel592  ! CHECK-NOT:  if({{.*}})593  ! CHECK-SAME: {594  ! CHECK:      omp.wsloop595  ! CHECK-NOT:  if({{.*}})596  ! CHECK-SAME: {597  ! CHECK-NEXT: omp.simd598  ! CHECK-NOT:  if({{.*}})599  ! CHECK-SAME: {600  ! CHECK-NEXT: omp.loop_nest601  !$omp target parallel do simd if(target: .true.)602  do i = 1, 10603  end do604  !$omp end target parallel do simd605 606  ! CHECK:      omp.target607  ! CHECK-NOT:  if({{.*}})608  ! CHECK-SAME: {609  ! CHECK:      omp.parallel610  ! CHECK-SAME: if({{.*}})611  ! CHECK:      omp.wsloop612  ! CHECK-NOT:  if({{.*}})613  ! CHECK-SAME: {614  ! CHECK-NEXT: omp.simd615  ! CHECK-SAME: if({{.*}})616  ! CHECK-NEXT: omp.loop_nest617  !$omp target parallel do simd if(parallel: .true.) if(simd: .false.)618  do i = 1, 10619  end do620  !$omp end target parallel do simd621 622  ! ----------------------------------------------------------------------------623  ! TARGET PARALLEL624  ! ----------------------------------------------------------------------------625  ! CHECK:      omp.target626  ! CHECK-NOT:  if({{.*}})627  ! CHECK-SAME: {628  ! CHECK:      omp.parallel629  ! CHECK-NOT:  if({{.*}})630  ! CHECK-SAME: {631  !$omp target parallel632  i = 1633  !$omp end target parallel634 635  ! CHECK:      omp.target636  ! CHECK-SAME: if({{.*}})637  ! CHECK:      omp.parallel638  ! CHECK-SAME: if({{.*}})639  !$omp target parallel if(.true.)640  i = 1641  !$omp end target parallel642 643  ! CHECK:      omp.target644  ! CHECK-SAME: if({{.*}})645  ! CHECK:      omp.parallel646  ! CHECK-SAME: if({{.*}})647  !$omp target parallel if(target: .true.) if(parallel: .false.)648  i = 1649  !$omp end target parallel650 651  ! CHECK:      omp.target652  ! CHECK-SAME: if({{.*}})653  ! CHECK:      omp.parallel654  ! CHECK-NOT:  if({{.*}})655  ! CHECK-SAME: {656  !$omp target parallel if(target: .true.)657  i = 1658  !$omp end target parallel659 660  ! CHECK:      omp.target661  ! CHECK-NOT:  if({{.*}})662  ! CHECK-SAME: {663  ! CHECK:      omp.parallel664  ! CHECK-SAME: if({{.*}})665  !$omp target parallel if(parallel: .true.)666  i = 1667  !$omp end target parallel668 669  ! ----------------------------------------------------------------------------670  ! TARGET SIMD671  ! ----------------------------------------------------------------------------672  ! CHECK:      omp.target673  ! CHECK-NOT:  if({{.*}})674  ! CHECK-SAME: {675  ! CHECK:      omp.simd676  ! CHECK-NOT:  if({{.*}})677  ! CHECK-SAME: {678  ! CHECK-NEXT: omp.loop_nest679  !$omp target simd680  do i = 1, 10681  end do682  !$omp end target simd683 684  ! CHECK:      omp.target685  ! CHECK-SAME: if({{.*}})686  ! CHECK:      omp.simd687  ! CHECK-SAME: if({{.*}})688  ! CHECK-NEXT: omp.loop_nest689  !$omp target simd if(.true.)690  do i = 1, 10691  end do692  !$omp end target simd693 694  ! CHECK:      omp.target695  ! CHECK-SAME: if({{.*}})696  ! CHECK:      omp.simd697  ! CHECK-SAME: if({{.*}})698  ! CHECK-NEXT: omp.loop_nest699  !$omp target simd if(target: .true.) if(simd: .false.)700  do i = 1, 10701  end do702  !$omp end target simd703 704  ! CHECK:      omp.target705  ! CHECK-SAME: if({{.*}})706  ! CHECK:      omp.simd707  ! CHECK-NOT:  if({{.*}})708  ! CHECK-SAME: {709  ! CHECK-NEXT: omp.loop_nest710  !$omp target simd if(target: .true.)711  do i = 1, 10712  end do713  !$omp end target simd714 715  ! CHECK:      omp.target716  ! CHECK-NOT:  if({{.*}})717  ! CHECK-SAME: {718  ! CHECK:      omp.simd719  ! CHECK-SAME: if({{.*}})720  ! CHECK-NEXT: omp.loop_nest721  !$omp target simd if(simd: .true.)722  do i = 1, 10723  end do724  !$omp end target simd725 726  ! ----------------------------------------------------------------------------727  ! TARGET TEAMS DISTRIBUTE728  ! ----------------------------------------------------------------------------729  ! CHECK:      omp.target730  ! CHECK-NOT:  if({{.*}})731  ! CHECK-SAME: {732  ! CHECK:      omp.teams733  ! CHECK-NOT:  if({{.*}})734  ! CHECK-SAME: {735  ! CHECK:      omp.distribute736  ! CHECK-NOT:  if({{.*}})737  ! CHECK-SAME: {738  ! CHECK-NEXT: omp.loop_nest739  !$omp target teams distribute740  do i = 1, 10741  end do742  !$omp end target teams distribute743 744  ! CHECK:      omp.target745  ! CHECK-SAME: if({{.*}})746  ! CHECK:      omp.teams747  ! CHECK-SAME: if({{.*}})748  ! CHECK:      omp.distribute749  ! CHECK-NOT:  if({{.*}})750  ! CHECK-SAME: {751  ! CHECK-NEXT: omp.loop_nest752  !$omp target teams distribute if(.true.)753  do i = 1, 10754  end do755  !$omp end target teams distribute756 757  ! CHECK:      omp.target758  ! CHECK-SAME: if({{.*}})759  ! CHECK:      omp.teams760  ! CHECK-SAME: if({{.*}})761  ! CHECK:      omp.distribute762  ! CHECK-NOT:  if({{.*}})763  ! CHECK-SAME: {764  ! CHECK-NEXT: omp.loop_nest765  !$omp target teams distribute if(target: .true.) if(teams: .false.)766  do i = 1, 10767  end do768  !$omp end target teams distribute769 770  ! CHECK:      omp.target771  ! CHECK-SAME: if({{.*}})772  ! CHECK:      omp.teams773  ! CHECK-NOT:  if({{.*}})774  ! CHECK-SAME: {775  ! CHECK:      omp.distribute776  ! CHECK-NOT:  if({{.*}})777  ! CHECK-SAME: {778  ! CHECK-NEXT: omp.loop_nest779  !$omp target teams distribute if(target: .true.)780  do i = 1, 10781  end do782  !$omp end target teams distribute783 784  ! CHECK:      omp.target785  ! CHECK-NOT:  if({{.*}})786  ! CHECK-SAME: {787  ! CHECK:      omp.teams788  ! CHECK-SAME: if({{.*}})789  ! CHECK:      omp.distribute790  ! CHECK-NOT:  if({{.*}})791  ! CHECK-SAME: {792  ! CHECK-NEXT: omp.loop_nest793  !$omp target teams distribute if(teams: .true.)794  do i = 1, 10795  end do796  !$omp end target teams distribute797 798  ! ----------------------------------------------------------------------------799  ! TARGET TEAMS DISTRIBUTE PARALLEL DO800  ! ----------------------------------------------------------------------------801  ! CHECK:      omp.target802  ! CHECK-NOT:  if({{.*}})803  ! CHECK-SAME: {804  ! CHECK:      omp.teams805  ! CHECK-NOT:  if({{.*}})806  ! CHECK-SAME: {807  ! CHECK:      omp.parallel808  ! CHECK-NOT:  if({{.*}})809  ! CHECK-SAME: {810  ! CHECK:      omp.distribute811  ! CHECK-NOT:  if({{.*}})812  ! CHECK-SAME: {813  ! CHECK-NEXT: omp.wsloop814  ! CHECK-NOT:  if({{.*}})815  ! CHECK-SAME: {816  ! CHECK-NEXT: omp.loop_nest817  !$omp target teams distribute parallel do818  do i = 1, 10819  end do820  !$omp end target teams distribute parallel do821 822  ! CHECK:      omp.target823  ! CHECK-SAME: if({{.*}})824  ! CHECK:      omp.teams825  ! CHECK-SAME: if({{.*}})826  ! CHECK:      omp.parallel827  ! CHECK-SAME: if({{.*}})828  ! CHECK:      omp.distribute829  ! CHECK-NOT:  if({{.*}})830  ! CHECK-SAME: {831  ! CHECK-NEXT: omp.wsloop832  ! CHECK-NOT:  if({{.*}})833  ! CHECK-SAME: {834  ! CHECK-NEXT: omp.loop_nest835  !$omp target teams distribute parallel do if(.true.)836  do i = 1, 10837  end do838  !$omp end target teams distribute parallel do839 840  ! CHECK:      omp.target841  ! CHECK-SAME: if({{.*}})842  ! CHECK:      omp.teams843  ! CHECK-SAME: if({{.*}})844  ! CHECK:      omp.parallel845  ! CHECK-SAME: if({{.*}})846  ! CHECK:      omp.distribute847  ! CHECK-NOT:  if({{.*}})848  ! CHECK-SAME: {849  ! CHECK-NEXT: omp.wsloop850  ! CHECK-NOT:  if({{.*}})851  ! CHECK-SAME: {852  ! CHECK-NEXT: omp.loop_nest853  !$omp target teams distribute parallel do if(target: .true.) if(teams: .false.) if(parallel: .true.)854  do i = 1, 10855  end do856  !$omp end target teams distribute parallel do857 858  ! CHECK:      omp.target859  ! CHECK-SAME: if({{.*}})860  ! CHECK:      omp.teams861  ! CHECK-NOT:  if({{.*}})862  ! CHECK-SAME: {863  ! CHECK:      omp.parallel864  ! CHECK-NOT:  if({{.*}})865  ! CHECK-SAME: {866  ! CHECK:      omp.distribute867  ! CHECK-NOT:  if({{.*}})868  ! CHECK-SAME: {869  ! CHECK-NEXT: omp.wsloop870  ! CHECK-NOT:  if({{.*}})871  ! CHECK-SAME: {872  ! CHECK-NEXT: omp.loop_nest873  !$omp target teams distribute parallel do if(target: .true.)874  do i = 1, 10875  end do876  !$omp end target teams distribute parallel do877 878  ! CHECK:      omp.target879  ! CHECK-NOT:  if({{.*}})880  ! CHECK-SAME: {881  ! CHECK:      omp.teams882  ! CHECK-SAME: if({{.*}})883  ! CHECK:      omp.parallel884  ! CHECK-NOT:  if({{.*}})885  ! CHECK-SAME: {886  ! CHECK:      omp.distribute887  ! CHECK-NOT:  if({{.*}})888  ! CHECK-SAME: {889  ! CHECK-NEXT: omp.wsloop890  ! CHECK-NOT:  if({{.*}})891  ! CHECK-SAME: {892  ! CHECK-NEXT: omp.loop_nest893  !$omp target teams distribute parallel do if(teams: .true.)894  do i = 1, 10895  end do896  !$omp end target teams distribute parallel do897 898  ! CHECK:      omp.target899  ! CHECK-NOT:  if({{.*}})900  ! CHECK-SAME: {901  ! CHECK:      omp.teams902  ! CHECK-NOT:  if({{.*}})903  ! CHECK-SAME: {904  ! CHECK:      omp.parallel905  ! CHECK-SAME: if({{.*}})906  ! CHECK:      omp.distribute907  ! CHECK-NOT:  if({{.*}})908  ! CHECK-SAME: {909  ! CHECK-NEXT: omp.wsloop910  ! CHECK-NOT:  if({{.*}})911  ! CHECK-SAME: {912  ! CHECK-NEXT: omp.loop_nest913  !$omp target teams distribute parallel do if(parallel: .true.)914  do i = 1, 10915  end do916  !$omp end target teams distribute parallel do917 918  ! ----------------------------------------------------------------------------919  ! TARGET TEAMS DISTRIBUTE PARALLEL DO SIMD920  ! ----------------------------------------------------------------------------921  ! CHECK:      omp.target922  ! CHECK-NOT:  if({{.*}})923  ! CHECK-SAME: {924  ! CHECK:      omp.teams925  ! CHECK-NOT:  if({{.*}})926  ! CHECK-SAME: {927  ! CHECK:      omp.parallel928  ! CHECK-NOT:  if({{.*}})929  ! CHECK-SAME: {930  ! CHECK:      omp.distribute931  ! CHECK-NOT:  if({{.*}})932  ! CHECK-SAME: {933  ! CHECK-NEXT: omp.wsloop934  ! CHECK-NOT:  if({{.*}})935  ! CHECK-SAME: {936  ! CHECK-NEXT: omp.simd937  ! CHECK-NOT:  if({{.*}})938  ! CHECK-SAME: {939  ! CHECK-NEXT: omp.loop_nest940  !$omp target teams distribute parallel do simd941  do i = 1, 10942  end do943  !$omp end target teams distribute parallel do simd944 945  ! CHECK:      omp.target946  ! CHECK-SAME: if({{.*}})947  ! CHECK:      omp.teams948  ! CHECK-SAME: if({{.*}})949  ! CHECK:      omp.parallel950  ! CHECK-SAME: if({{.*}})951  ! CHECK:      omp.distribute952  ! CHECK-NOT:  if({{.*}})953  ! CHECK-SAME: {954  ! CHECK-NEXT: omp.wsloop955  ! CHECK-NOT:  if({{.*}})956  ! CHECK-SAME: {957  ! CHECK-NEXT: omp.simd958  ! CHECK-SAME: if({{.*}})959  ! CHECK-NEXT: omp.loop_nest960  !$omp target teams distribute parallel do simd if(.true.)961  do i = 1, 10962  end do963  !$omp end target teams distribute parallel do simd964 965  ! CHECK:      omp.target966  ! CHECK-SAME: if({{.*}})967  ! CHECK:      omp.teams968  ! CHECK-SAME: if({{.*}})969  ! CHECK:      omp.parallel970  ! CHECK-SAME: if({{.*}})971  ! CHECK:      omp.distribute972  ! CHECK-NOT:  if({{.*}})973  ! CHECK-SAME: {974  ! CHECK-NEXT: omp.wsloop975  ! CHECK-NOT:  if({{.*}})976  ! CHECK-SAME: {977  ! CHECK-NEXT: omp.simd978  ! CHECK-SAME: if({{.*}})979  ! CHECK-NEXT: omp.loop_nest980  !$omp target teams distribute parallel do simd if(target: .true.) if(teams: .false.) if(parallel: .true.) if(simd: .false.)981  do i = 1, 10982  end do983  !$omp end target teams distribute parallel do simd984 985  ! CHECK:      omp.target986  ! CHECK-SAME: if({{.*}})987  ! CHECK:      omp.teams988  ! CHECK-NOT:  if({{.*}})989  ! CHECK-SAME: {990  ! CHECK:      omp.parallel991  ! CHECK-NOT:  if({{.*}})992  ! CHECK-SAME: {993  ! CHECK:      omp.distribute994  ! CHECK-NOT:  if({{.*}})995  ! CHECK-SAME: {996  ! CHECK-NEXT: omp.wsloop997  ! CHECK-NOT:  if({{.*}})998  ! CHECK-SAME: {999  ! CHECK-NEXT: omp.simd1000  ! CHECK-NOT:  if({{.*}})1001  ! CHECK-SAME: {1002  ! CHECK-NEXT: omp.loop_nest1003  !$omp target teams distribute parallel do simd if(target: .true.)1004  do i = 1, 101005  end do1006  !$omp end target teams distribute parallel do simd1007 1008  ! CHECK:      omp.target1009  ! CHECK-NOT:  if({{.*}})1010  ! CHECK-SAME: {1011  ! CHECK:      omp.teams1012  ! CHECK-SAME: if({{.*}})1013  ! CHECK:      omp.parallel1014  ! CHECK-NOT:  if({{.*}})1015  ! CHECK-SAME: {1016  ! CHECK:      omp.distribute1017  ! CHECK-NOT:  if({{.*}})1018  ! CHECK-SAME: {1019  ! CHECK-NEXT: omp.wsloop1020  ! CHECK-NOT:  if({{.*}})1021  ! CHECK-SAME: {1022  ! CHECK-NEXT: omp.simd1023  ! CHECK-NOT:  if({{.*}})1024  ! CHECK-SAME: {1025  ! CHECK-NEXT: omp.loop_nest1026  !$omp target teams distribute parallel do simd if(teams: .true.)1027  do i = 1, 101028  end do1029  !$omp end target teams distribute parallel do simd1030 1031  ! CHECK:      omp.target1032  ! CHECK-NOT:  if({{.*}})1033  ! CHECK-SAME: {1034  ! CHECK:      omp.teams1035  ! CHECK-NOT:  if({{.*}})1036  ! CHECK-SAME: {1037  ! CHECK:      omp.parallel1038  ! CHECK-SAME: if({{.*}})1039  ! CHECK:      omp.distribute1040  ! CHECK-NOT:  if({{.*}})1041  ! CHECK-SAME: {1042  ! CHECK-NEXT: omp.wsloop1043  ! CHECK-NOT:  if({{.*}})1044  ! CHECK-SAME: {1045  ! CHECK-NEXT: omp.simd1046  ! CHECK-NOT:  if({{.*}})1047  ! CHECK-SAME: {1048  ! CHECK-NEXT: omp.loop_nest1049  !$omp target teams distribute parallel do simd if(parallel: .true.)1050  do i = 1, 101051  end do1052  !$omp end target teams distribute parallel do simd1053 1054  ! CHECK:      omp.target1055  ! CHECK-NOT:  if({{.*}})1056  ! CHECK-SAME: {1057  ! CHECK:      omp.teams1058  ! CHECK-NOT:  if({{.*}})1059  ! CHECK-SAME: {1060  ! CHECK:      omp.parallel1061  ! CHECK-NOT:  if({{.*}})1062  ! CHECK-SAME: {1063  ! CHECK:      omp.distribute1064  ! CHECK-NOT:  if({{.*}})1065  ! CHECK-SAME: {1066  ! CHECK-NEXT: omp.wsloop1067  ! CHECK-NOT:  if({{.*}})1068  ! CHECK-SAME: {1069  ! CHECK-NEXT: omp.simd1070  ! CHECK-SAME: if({{.*}})1071  ! CHECK-NEXT: omp.loop_nest1072  !$omp target teams distribute parallel do simd if(simd: .true.)1073  do i = 1, 101074  end do1075  !$omp end target teams distribute parallel do simd1076 1077  ! ----------------------------------------------------------------------------1078  ! TARGET TEAMS DISTRIBUTE SIMD1079  ! ----------------------------------------------------------------------------1080  ! CHECK:      omp.target1081  ! CHECK-NOT:  if({{.*}})1082  ! CHECK-SAME: {1083  ! CHECK:      omp.teams1084  ! CHECK-NOT:  if({{.*}})1085  ! CHECK-SAME: {1086  ! CHECK:      omp.distribute1087  ! CHECK-NOT:  if({{.*}})1088  ! CHECK-SAME: {1089  ! CHECK-NEXT: omp.simd1090  ! CHECK-NOT:  if({{.*}})1091  ! CHECK-SAME: {1092  ! CHECK-NEXT: omp.loop_nest1093  !$omp target teams distribute simd1094  do i = 1, 101095  end do1096  !$omp end target teams distribute simd1097 1098  ! CHECK:      omp.target1099  ! CHECK-SAME: if({{.*}})1100  ! CHECK:      omp.teams1101  ! CHECK-SAME: if({{.*}})1102  ! CHECK:      omp.distribute1103  ! CHECK-NOT:  if({{.*}})1104  ! CHECK-SAME: {1105  ! CHECK-NEXT: omp.simd1106  ! CHECK-SAME: if({{.*}})1107  ! CHECK-NEXT: omp.loop_nest1108  !$omp target teams distribute simd if(.true.)1109  do i = 1, 101110  end do1111  !$omp end target teams distribute simd1112 1113  ! CHECK:      omp.target1114  ! CHECK-SAME: if({{.*}})1115  ! CHECK:      omp.teams1116  ! CHECK-SAME: if({{.*}})1117  ! CHECK:      omp.distribute1118  ! CHECK-NOT:  if({{.*}})1119  ! CHECK-SAME: {1120  ! CHECK-NEXT: omp.simd1121  ! CHECK-SAME: if({{.*}})1122  ! CHECK-NEXT: omp.loop_nest1123  !$omp target teams distribute simd if(target: .true.) if(teams: .false.) if(simd: .false.)1124  do i = 1, 101125  end do1126  !$omp end target teams distribute simd1127 1128  ! CHECK:      omp.target1129  ! CHECK-SAME: if({{.*}})1130  ! CHECK:      omp.teams1131  ! CHECK-NOT:  if({{.*}})1132  ! CHECK-SAME: {1133  ! CHECK:      omp.distribute1134  ! CHECK-NOT:  if({{.*}})1135  ! CHECK-SAME: {1136  ! CHECK-NEXT: omp.simd1137  ! CHECK-NOT:  if({{.*}})1138  ! CHECK-SAME: {1139  ! CHECK-NEXT: omp.loop_nest1140  !$omp target teams distribute simd if(target: .true.)1141  do i = 1, 101142  end do1143  !$omp end target teams distribute simd1144 1145  ! CHECK:      omp.target1146  ! CHECK-NOT:  if({{.*}})1147  ! CHECK-SAME: {1148  ! CHECK:      omp.teams1149  ! CHECK-SAME: if({{.*}})1150  ! CHECK:      omp.distribute1151  ! CHECK-NOT:  if({{.*}})1152  ! CHECK-SAME: {1153  ! CHECK-NEXT: omp.simd1154  ! CHECK-NOT:  if({{.*}})1155  ! CHECK-SAME: {1156  ! CHECK-NEXT: omp.loop_nest1157  !$omp target teams distribute simd if(teams: .true.)1158  do i = 1, 101159  end do1160  !$omp end target teams distribute simd1161 1162  ! CHECK:      omp.target1163  ! CHECK-NOT:  if({{.*}})1164  ! CHECK-SAME: {1165  ! CHECK:      omp.teams1166  ! CHECK-NOT:  if({{.*}})1167  ! CHECK-SAME: {1168  ! CHECK:      omp.distribute1169  ! CHECK-NOT:  if({{.*}})1170  ! CHECK-SAME: {1171  ! CHECK-NEXT: omp.simd1172  ! CHECK-SAME: if({{.*}})1173  ! CHECK-NEXT: omp.loop_nest1174  !$omp target teams distribute simd if(simd: .true.)1175  do i = 1, 101176  end do1177  !$omp end target teams distribute simd1178 1179  ! ----------------------------------------------------------------------------1180  ! TARGET TEAMS1181  ! ----------------------------------------------------------------------------1182  ! CHECK:      omp.target1183  ! CHECK-NOT:  if({{.*}})1184  ! CHECK-SAME: {1185  ! CHECK:      omp.teams1186  ! CHECK-NOT:  if({{.*}})1187  ! CHECK-SAME: {1188  !$omp target teams1189  i = 11190  !$omp end target teams1191 1192  ! CHECK:      omp.target1193  ! CHECK-SAME: if({{.*}})1194  ! CHECK:      omp.teams1195  ! CHECK-SAME: if({{.*}})1196  !$omp target teams if(.true.)1197  i = 11198  !$omp end target teams1199 1200  ! CHECK:      omp.target1201  ! CHECK-SAME: if({{.*}})1202  ! CHECK:      omp.teams1203  ! CHECK-SAME: if({{.*}})1204  !$omp target teams if(target: .true.) if(teams: .false.)1205  i = 11206  !$omp end target teams1207 1208  ! CHECK:      omp.target1209  ! CHECK-SAME: if({{.*}})1210  ! CHECK:      omp.teams1211  ! CHECK-NOT:  if({{.*}})1212  ! CHECK-SAME: {1213  !$omp target teams if(target: .true.)1214  i = 11215  !$omp end target teams1216 1217  ! CHECK:      omp.target1218  ! CHECK-NOT:  if({{.*}})1219  ! CHECK-SAME: {1220  ! CHECK:      omp.teams1221  ! CHECK-SAME: if({{.*}})1222  !$omp target teams if(teams: .true.)1223  i = 11224  !$omp end target teams1225 1226  ! ----------------------------------------------------------------------------1227  ! TASK1228  ! ----------------------------------------------------------------------------1229  ! CHECK:      omp.task1230  ! CHECK-NOT:  if({{.*}})1231  ! CHECK-SAME: {1232  !$omp task1233  !$omp end task1234 1235  ! CHECK:      omp.task1236  ! CHECK-SAME: if({{.*}})1237  !$omp task if(.true.)1238  !$omp end task1239 1240  ! CHECK:      omp.task1241  ! CHECK-SAME: if({{.*}})1242  !$omp task if(task: .true.)1243  !$omp end task1244 1245  ! ----------------------------------------------------------------------------1246  ! TEAMS DISTRIBUTE1247  ! ----------------------------------------------------------------------------1248  ! CHECK:      omp.teams1249  ! CHECK-NOT:  if({{.*}})1250  ! CHECK-SAME: {1251  ! CHECK:      omp.distribute1252  ! CHECK-NOT:  if({{.*}})1253  ! CHECK-SAME: {1254  ! CHECK-NEXT: omp.loop_nest1255  !$omp teams distribute1256  do i = 1, 101257  end do1258  !$omp end teams distribute1259 1260  ! CHECK:      omp.teams1261  ! CHECK-SAME: if({{.*}})1262  ! CHECK:      omp.distribute1263  ! CHECK-NOT:  if({{.*}})1264  ! CHECK-SAME: {1265  ! CHECK-NEXT: omp.loop_nest1266  !$omp teams distribute if(.true.)1267  do i = 1, 101268  end do1269  !$omp end teams distribute1270 1271  ! CHECK:      omp.teams1272  ! CHECK-SAME: if({{.*}})1273  ! CHECK:      omp.distribute1274  ! CHECK-NOT:  if({{.*}})1275  ! CHECK-SAME: {1276  ! CHECK-NEXT: omp.loop_nest1277  !$omp teams distribute if(teams: .true.)1278  do i = 1, 101279  end do1280  !$omp end teams distribute1281 1282  ! ----------------------------------------------------------------------------1283  ! TEAMS DISTRIBUTE PARALLEL DO1284  ! ----------------------------------------------------------------------------1285  ! CHECK:      omp.teams1286  ! CHECK-NOT:  if({{.*}})1287  ! CHECK-SAME: {1288  ! CHECK:      omp.parallel1289  ! CHECK-NOT:  if({{.*}})1290  ! CHECK-SAME: {1291  ! CHECK:      omp.distribute1292  ! CHECK-NOT:  if({{.*}})1293  ! CHECK-SAME: {1294  ! CHECK-NEXT: omp.wsloop1295  ! CHECK-NOT:  if({{.*}})1296  ! CHECK-SAME: {1297  ! CHECK-NEXT: omp.loop_nest1298  !$omp teams distribute parallel do1299  do i = 1, 101300  end do1301  !$omp end teams distribute parallel do1302 1303  ! CHECK:      omp.teams1304  ! CHECK-SAME: if({{.*}})1305  ! CHECK:      omp.parallel1306  ! CHECK-SAME: if({{.*}})1307  ! CHECK:      omp.distribute1308  ! CHECK-NOT:  if({{.*}})1309  ! CHECK-SAME: {1310  ! CHECK-NEXT: omp.wsloop1311  ! CHECK-NOT:  if({{.*}})1312  ! CHECK-SAME: {1313  ! CHECK-NEXT: omp.loop_nest1314  !$omp teams distribute parallel do if(.true.)1315  do i = 1, 101316  end do1317  !$omp end teams distribute parallel do1318 1319  ! CHECK:      omp.teams1320  ! CHECK-SAME: if({{.*}})1321  ! CHECK:      omp.parallel1322  ! CHECK-SAME: if({{.*}})1323  ! CHECK:      omp.distribute1324  ! CHECK-NOT:  if({{.*}})1325  ! CHECK-SAME: {1326  ! CHECK-NEXT: omp.wsloop1327  ! CHECK-NOT:  if({{.*}})1328  ! CHECK-SAME: {1329  ! CHECK-NEXT: omp.loop_nest1330  !$omp teams distribute parallel do if(teams: .true.) if(parallel: .false.)1331  do i = 1, 101332  end do1333  !$omp end teams distribute parallel do1334 1335  ! CHECK:      omp.teams1336  ! CHECK-SAME: if({{.*}})1337  ! CHECK:      omp.parallel1338  ! CHECK-NOT:  if({{.*}})1339  ! CHECK-SAME: {1340  ! CHECK:      omp.distribute1341  ! CHECK-NOT:  if({{.*}})1342  ! CHECK-SAME: {1343  ! CHECK-NEXT: omp.wsloop1344  ! CHECK-NOT:  if({{.*}})1345  ! CHECK-SAME: {1346  ! CHECK-NEXT: omp.loop_nest1347  !$omp teams distribute parallel do if(teams: .true.)1348  do i = 1, 101349  end do1350  !$omp end teams distribute parallel do1351 1352  ! CHECK:      omp.teams1353  ! CHECK-NOT:  if({{.*}})1354  ! CHECK-SAME: {1355  ! CHECK:      omp.parallel1356  ! CHECK-SAME: if({{.*}})1357  ! CHECK:      omp.distribute1358  ! CHECK-NOT:  if({{.*}})1359  ! CHECK-SAME: {1360  ! CHECK-NEXT: omp.wsloop1361  ! CHECK-NOT:  if({{.*}})1362  ! CHECK-SAME: {1363  ! CHECK-NEXT: omp.loop_nest1364  !$omp teams distribute parallel do if(parallel: .true.)1365  do i = 1, 101366  end do1367  !$omp end teams distribute parallel do1368 1369  ! ----------------------------------------------------------------------------1370  ! TEAMS DISTRIBUTE PARALLEL DO SIMD1371  ! ----------------------------------------------------------------------------1372  ! CHECK:      omp.teams1373  ! CHECK-NOT:  if({{.*}})1374  ! CHECK-SAME: {1375  ! CHECK:      omp.parallel1376  ! CHECK-NOT:  if({{.*}})1377  ! CHECK-SAME: {1378  ! CHECK:      omp.distribute1379  ! CHECK-NOT:  if({{.*}})1380  ! CHECK-SAME: {1381  ! CHECK-NEXT: omp.wsloop1382  ! CHECK-NOT:  if({{.*}})1383  ! CHECK-SAME: {1384  ! CHECK-NEXT: omp.simd1385  ! CHECK-NOT:  if({{.*}})1386  ! CHECK-SAME: {1387  ! CHECK-NEXT: omp.loop_nest1388  !$omp teams distribute parallel do simd1389  do i = 1, 101390  end do1391  !$omp end teams distribute parallel do simd1392 1393  ! CHECK:      omp.teams1394  ! CHECK-SAME: if({{.*}})1395  ! CHECK:      omp.parallel1396  ! CHECK-SAME: if({{.*}})1397  ! CHECK:      omp.distribute1398  ! CHECK-NOT:  if({{.*}})1399  ! CHECK-SAME: {1400  ! CHECK-NEXT: omp.wsloop1401  ! CHECK-NOT:  if({{.*}})1402  ! CHECK-SAME: {1403  ! CHECK-NEXT: omp.simd1404  ! CHECK-SAME: if({{.*}})1405  ! CHECK-NEXT: omp.loop_nest1406  !$omp teams distribute parallel do simd if(.true.)1407  do i = 1, 101408  end do1409  !$omp end teams distribute parallel do simd1410 1411  ! CHECK:      omp.teams1412  ! CHECK-SAME: if({{.*}})1413  ! CHECK:      omp.parallel1414  ! CHECK-SAME: if({{.*}})1415  ! CHECK:      omp.distribute1416  ! CHECK-NOT:  if({{.*}})1417  ! CHECK-SAME: {1418  ! CHECK-NEXT: omp.wsloop1419  ! CHECK-NOT:  if({{.*}})1420  ! CHECK-SAME: {1421  ! CHECK-NEXT: omp.simd1422  ! CHECK-SAME: if({{.*}})1423  ! CHECK-NEXT: omp.loop_nest1424  !$omp teams distribute parallel do simd if(teams: .false.) if(parallel: .true.) if(simd: .false.)1425  do i = 1, 101426  end do1427  !$omp end teams distribute parallel do simd1428 1429  ! CHECK:      omp.teams1430  ! CHECK-SAME: if({{.*}})1431  ! CHECK:      omp.parallel1432  ! CHECK-NOT:  if({{.*}})1433  ! CHECK-SAME: {1434  ! CHECK:      omp.distribute1435  ! CHECK-NOT:  if({{.*}})1436  ! CHECK-SAME: {1437  ! CHECK-NEXT: omp.wsloop1438  ! CHECK-NOT:  if({{.*}})1439  ! CHECK-SAME: {1440  ! CHECK-NEXT: omp.simd1441  ! CHECK-NOT:  if({{.*}})1442  ! CHECK-SAME: {1443  ! CHECK-NEXT: omp.loop_nest1444  !$omp teams distribute parallel do simd if(teams: .true.)1445  do i = 1, 101446  end do1447  !$omp end teams distribute parallel do simd1448 1449  ! CHECK:      omp.teams1450  ! CHECK-NOT:  if({{.*}})1451  ! CHECK-SAME: {1452  ! CHECK:      omp.parallel1453  ! CHECK-SAME: if({{.*}})1454  ! CHECK:      omp.distribute1455  ! CHECK-NOT:  if({{.*}})1456  ! CHECK-SAME: {1457  ! CHECK-NEXT: omp.wsloop1458  ! CHECK-NOT:  if({{.*}})1459  ! CHECK-SAME: {1460  ! CHECK-NEXT: omp.simd1461  ! CHECK-NOT:  if({{.*}})1462  ! CHECK-SAME: {1463  ! CHECK-NEXT: omp.loop_nest1464  !$omp teams distribute parallel do simd if(parallel: .true.)1465  do i = 1, 101466  end do1467  !$omp end teams distribute parallel do simd1468 1469  ! CHECK:      omp.teams1470  ! CHECK-NOT:  if({{.*}})1471  ! CHECK-SAME: {1472  ! CHECK:      omp.parallel1473  ! CHECK-NOT:  if({{.*}})1474  ! CHECK-SAME: {1475  ! CHECK:      omp.distribute1476  ! CHECK-NOT:  if({{.*}})1477  ! CHECK-SAME: {1478  ! CHECK-NEXT: omp.wsloop1479  ! CHECK-NOT:  if({{.*}})1480  ! CHECK-SAME: {1481  ! CHECK-NEXT: omp.simd1482  ! CHECK-SAME: if({{.*}})1483  ! CHECK-NEXT: omp.loop_nest1484  !$omp teams distribute parallel do simd if(simd: .true.)1485  do i = 1, 101486  end do1487  !$omp end teams distribute parallel do simd1488 1489  ! ----------------------------------------------------------------------------1490  ! TEAMS DISTRIBUTE SIMD1491  ! ----------------------------------------------------------------------------1492  ! CHECK:      omp.teams1493  ! CHECK-NOT:  if({{.*}})1494  ! CHECK-SAME: {1495  ! CHECK:      omp.distribute1496  ! CHECK-NOT:  if({{.*}})1497  ! CHECK-SAME: {1498  ! CHECK-NEXT: omp.simd1499  ! CHECK-NOT:  if({{.*}})1500  ! CHECK-SAME: {1501  ! CHECK-NEXT: omp.loop_nest1502  !$omp teams distribute simd1503  do i = 1, 101504  end do1505  !$omp end teams distribute simd1506 1507  ! CHECK:      omp.teams1508  ! CHECK-SAME: if({{.*}})1509  ! CHECK:      omp.distribute1510  ! CHECK-NOT:  if({{.*}})1511  ! CHECK-SAME: {1512  ! CHECK-NEXT: omp.simd1513  ! CHECK-SAME: if({{.*}})1514  ! CHECK-NEXT: omp.loop_nest1515  !$omp teams distribute simd if(.true.)1516  do i = 1, 101517  end do1518  !$omp end teams distribute simd1519 1520  ! CHECK:      omp.teams1521  ! CHECK-SAME: if({{.*}})1522  ! CHECK:      omp.distribute1523  ! CHECK-NOT:  if({{.*}})1524  ! CHECK-SAME: {1525  ! CHECK-NEXT: omp.simd1526  ! CHECK-SAME: if({{.*}})1527  ! CHECK-NEXT: omp.loop_nest1528  !$omp teams distribute simd if(teams: .true.) if(simd: .false.)1529  do i = 1, 101530  end do1531  !$omp end teams distribute simd1532 1533  ! CHECK:      omp.teams1534  ! CHECK-SAME: if({{.*}})1535  ! CHECK:      omp.distribute1536  ! CHECK-NOT:  if({{.*}})1537  ! CHECK-SAME: {1538  ! CHECK-NEXT: omp.simd1539  ! CHECK-NOT:  if({{.*}})1540  ! CHECK-SAME: {1541  ! CHECK-NEXT: omp.loop_nest1542  !$omp teams distribute simd if(teams: .true.)1543  do i = 1, 101544  end do1545  !$omp end teams distribute simd1546 1547  ! CHECK:      omp.teams1548  ! CHECK-NOT:  if({{.*}})1549  ! CHECK-SAME: {1550  ! CHECK:      omp.distribute1551  ! CHECK-NOT:  if({{.*}})1552  ! CHECK-SAME: {1553  ! CHECK-NEXT: omp.simd1554  ! CHECK-SAME: if({{.*}})1555  ! CHECK-NEXT: omp.loop_nest1556  !$omp teams distribute simd if(simd: .true.)1557  do i = 1, 101558  end do1559  !$omp end teams distribute simd1560 1561  ! ----------------------------------------------------------------------------1562  ! TEAMS1563  ! ----------------------------------------------------------------------------1564  ! CHECK:      omp.teams1565  ! CHECK-NOT:  if({{.*}})1566  ! CHECK-SAME: {1567  !$omp teams1568  i = 11569  !$omp end teams1570 1571  ! CHECK:      omp.teams1572  ! CHECK-SAME: if({{.*}})1573  !$omp teams if(.true.)1574  i = 11575  !$omp end teams1576 1577  ! CHECK:      omp.teams1578  ! CHECK-SAME: if({{.*}})1579  !$omp teams if(teams: .true.)1580  i = 11581  !$omp end teams1582 1583  ! ----------------------------------------------------------------------------1584  ! TASKLOOP1585  ! ----------------------------------------------------------------------------1586 1587  ! CHECK:      omp.taskloop1588  ! CHECK-NOT: if({{.*}})1589  !$omp taskloop1590  do i = 1, 101591  end do1592  !$omp end taskloop1593 1594  ! CHECK:      omp.taskloop1595  ! CHECK-SAME: if({{.*}})1596  !$omp taskloop if(.true.)1597  do i = 1, 101598  end do1599  !$omp end taskloop1600 1601  ! CHECK:      omp.taskloop1602  ! CHECK-SAME: if({{.*}})1603  !$omp taskloop if(taskloop: .true.)1604  do i = 1, 101605  end do1606  !$omp end taskloop1607end program main1608