(root)/
gcc-13.2.0/
gcc/
testsuite/
c-c++-common/
gomp/
clauses-1.c
       1  /* { dg-do compile } */
       2  /* { dg-additional-options "-std=c99" { target c } } */
       3  
       4  typedef enum omp_allocator_handle_t
       5  #if __cplusplus >= 201103L
       6  : __UINTPTR_TYPE__
       7  #endif
       8  {
       9    omp_null_allocator = 0,
      10    omp_default_mem_alloc = 1,
      11    omp_large_cap_mem_alloc = 2,
      12    omp_const_mem_alloc = 3,
      13    omp_high_bw_mem_alloc = 4,
      14    omp_low_lat_mem_alloc = 5,
      15    omp_cgroup_mem_alloc = 6,
      16    omp_pteam_mem_alloc = 7,
      17    omp_thread_mem_alloc = 8,
      18    __omp_allocator_handle_t_max__ = __UINTPTR_MAX__
      19  } omp_allocator_handle_t;
      20  
      21  int t;
      22  #pragma omp threadprivate (t)
      23  
      24  #pragma omp declare target
      25  int f, l, ll, r, r2;
      26  
      27  void
      28  foo (int d, int m, int i1, int i2, int p, int *idp, int s,
      29       int nte, int tl, int nth, int g, int nta, int fi, int pp, int *q, int ntm)
      30  {
      31    #pragma omp distribute parallel for \
      32      private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \
      33      if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
      34      lastprivate (l) schedule(static, 4) order(concurrent) allocate (omp_default_mem_alloc:f)
      35    for (int i = 0; i < 64; i++)
      36      ll++;
      37    #pragma omp distribute parallel for simd \
      38      private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \
      39      if (parallel: i2) if(simd: i1) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
      40      lastprivate (l) schedule(static, 4) nontemporal(ntm) \
      41      safelen(8) simdlen(4) aligned(q: 32) order(concurrent) allocate (omp_default_mem_alloc:f)
      42    for (int i = 0; i < 64; i++)
      43      ll++;
      44    #pragma omp distribute simd \
      45      private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \
      46      safelen(8) simdlen(4) aligned(q: 32) reduction(+:r) if(i1) nontemporal(ntm) \
      47      order(concurrent) allocate (omp_default_mem_alloc:f)
      48    for (int i = 0; i < 64; i++)
      49      ll++;
      50  }
      51  
      52  void
      53  qux (int p)
      54  {
      55    #pragma omp loop bind(teams) order(concurrent) \
      56      private (p) lastprivate (l) collapse(1) reduction(+:r)
      57    for (l = 0; l < 64; ++l)
      58      ll++;
      59  }
      60  #pragma omp end declare target
      61  
      62  void
      63  baz (int d, int m, int i1, int i2, int p, int *idp, int s,
      64       int nte, int tl, int nth, int g, int nta, int fi, int pp, int *q, int ntm)
      65  {
      66    #pragma omp distribute parallel for \
      67      private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \
      68      if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
      69      lastprivate (l) schedule(static, 4) copyin(t) allocate (p)
      70    for (int i = 0; i < 64; i++)
      71      ll++;
      72    #pragma omp distribute parallel for \
      73      private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \
      74      if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
      75      lastprivate (l) schedule(static, 4) order(concurrent) allocate (p)
      76    for (int i = 0; i < 64; i++)
      77      ll++;
      78    #pragma omp distribute parallel for simd \
      79      private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \
      80      if (parallel: i2) if(simd: i1) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
      81      lastprivate (l) schedule(static, 4) nontemporal(ntm) \
      82      safelen(8) simdlen(4) aligned(q: 32) copyin(t) allocate (f)
      83    for (int i = 0; i < 64; i++)
      84      ll++;
      85    #pragma omp distribute parallel for simd \
      86      private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \
      87      if (parallel: i2) if(simd: i1) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
      88      lastprivate (l) schedule(static, 4) nontemporal(ntm) \
      89      safelen(8) simdlen(4) aligned(q: 32) order(concurrent) allocate (f)
      90    for (int i = 0; i < 64; i++)
      91      ll++;
      92    #pragma omp distribute simd \
      93      private (p) firstprivate (f) collapse(1) dist_schedule(static, 16) \
      94      safelen(8) simdlen(4) aligned(q: 32) reduction(+:r) if(i1) nontemporal(ntm) \
      95      order(concurrent) allocate (f)
      96    for (int i = 0; i < 64; i++)
      97      ll++;
      98    #pragma omp loop bind(parallel) order(concurrent) \
      99      private (p) lastprivate (l) collapse(1) reduction(+:r)
     100    for (l = 0; l < 64; ++l)
     101      ll++;
     102  }
     103  
     104  void
     105  bar (int d, int m, int i1, int i2, int i3, int p, int *idp, int hda, int s,
     106       int nte, int tl, int nth, int g, int nta, int fi, int pp, int *q, int *dd, int ntm)
     107  {
     108    #pragma omp for simd \
     109      private (p) firstprivate (f) lastprivate (l) linear (ll:1) reduction(+:r) schedule(static, 4) collapse(1) nowait \
     110      safelen(8) simdlen(4) aligned(q: 32) nontemporal(ntm) if(i1) order(concurrent) allocate (f)
     111    for (int i = 0; i < 64; i++)
     112      ll++;
     113    #pragma omp parallel for \
     114      private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) proc_bind(spread) \
     115      lastprivate (l) linear (ll:1) ordered schedule(static, 4) collapse(1) allocate (f)
     116    for (int i = 0; i < 64; i++)
     117      ll++;
     118    #pragma omp parallel for \
     119      private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) proc_bind(spread) \
     120      lastprivate (l) linear (ll:1) schedule(static, 4) collapse(1) order(concurrent) allocate (f)
     121    for (int i = 0; i < 64; i++)
     122      ll++;
     123    #pragma omp parallel for simd \
     124      private (p) firstprivate (f) if (i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) proc_bind(spread) \
     125      lastprivate (l) linear (ll:1) schedule(static, 4) collapse(1) \
     126      safelen(8) simdlen(4) aligned(q: 32) nontemporal(ntm) order(concurrent) allocate (f)
     127    for (int i = 0; i < 64; i++)
     128      ll++;
     129    #pragma omp parallel sections \
     130      private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) proc_bind(spread) \
     131      lastprivate (l) allocate (f)
     132    {
     133      #pragma omp section
     134      {}
     135      #pragma omp section
     136      {}
     137    }
     138    #pragma omp target parallel \
     139      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     140      if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
     141      nowait depend(inout: dd[0]) allocate (omp_default_mem_alloc:f) in_reduction(+:r2) has_device_addr(hda)
     142      ;
     143    #pragma omp target parallel for \
     144      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     145      if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
     146      lastprivate (l) linear (ll:1) ordered schedule(static, 4) collapse(1) nowait depend(inout: dd[0]) \
     147      allocate (omp_default_mem_alloc:f) in_reduction(+:r2) has_device_addr(hda)
     148    for (int i = 0; i < 64; i++)
     149      ll++;
     150    #pragma omp target parallel for \
     151      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     152      if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
     153      lastprivate (l) linear (ll:1) schedule(static, 4) collapse(1) nowait depend(inout: dd[0]) order(concurrent) \
     154      allocate (omp_default_mem_alloc:f) in_reduction(+:r2) has_device_addr(hda)
     155    for (int i = 0; i < 64; i++)
     156      ll++;
     157    #pragma omp target parallel for simd \
     158      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     159      if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
     160      lastprivate (l) linear (ll:1) schedule(static, 4) collapse(1) \
     161      safelen(8) simdlen(4) aligned(q: 32) nowait depend(inout: dd[0]) nontemporal(ntm) if (simd: i3) order(concurrent) \
     162      allocate (omp_default_mem_alloc:f) in_reduction(+:r2) has_device_addr(hda)
     163    for (int i = 0; i < 64; i++)
     164      ll++;
     165    #pragma omp target teams \
     166      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     167      shared(s) default(shared) reduction(+:r) num_teams(nte - 1:nte) thread_limit(tl) nowait depend(inout: dd[0]) \
     168      allocate (omp_default_mem_alloc:f) in_reduction(+:r2) has_device_addr(hda)
     169      ;
     170    #pragma omp target teams distribute \
     171      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     172      shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) order(concurrent) \
     173      collapse(1) dist_schedule(static, 16) nowait depend(inout: dd[0]) allocate (omp_default_mem_alloc:f) in_reduction(+:r2) \
     174      has_device_addr(hda)
     175    for (int i = 0; i < 64; i++)
     176      ;
     177    #pragma omp target teams distribute parallel for \
     178      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     179      shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) \
     180      collapse(1) dist_schedule(static, 16) \
     181      if (parallel: i2) num_threads (nth) proc_bind(spread) \
     182      lastprivate (l) schedule(static, 4) nowait depend(inout: dd[0]) order(concurrent) \
     183       allocate (omp_default_mem_alloc:f) in_reduction(+:r2) has_device_addr(hda)
     184    for (int i = 0; i < 64; i++)
     185      ll++;
     186    #pragma omp target teams distribute parallel for simd \
     187      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     188      shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
     189      collapse(1) dist_schedule(static, 16) \
     190      if (parallel: i2) num_threads (nth) proc_bind(spread) \
     191      lastprivate (l) schedule(static, 4) order(concurrent) \
     192      safelen(8) simdlen(4) aligned(q: 32) nowait depend(inout: dd[0]) nontemporal(ntm) if (simd: i3) \
     193      allocate (omp_default_mem_alloc:f) in_reduction(+:r2) has_device_addr(hda)
     194    for (int i = 0; i < 64; i++)
     195      ll++;
     196    #pragma omp target teams distribute simd \
     197      device(d) map (tofrom: m) if (i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     198      shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) \
     199      collapse(1) dist_schedule(static, 16) order(concurrent) \
     200      safelen(8) simdlen(4) aligned(q: 32) nowait depend(inout: dd[0]) nontemporal(ntm) \
     201      allocate (omp_default_mem_alloc:f) in_reduction(+:r2) has_device_addr(hda)
     202    for (int i = 0; i < 64; i++)
     203      ll++;
     204    #pragma omp target simd \
     205      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     206      safelen(8) simdlen(4) lastprivate (l) linear(ll: 1) aligned(q: 32) reduction(+:r) \
     207      nowait depend(inout: dd[0]) nontemporal(ntm) if(simd:i3) order(concurrent) \
     208      allocate (omp_default_mem_alloc:f) in_reduction(+:r2) has_device_addr(hda)
     209    for (int i = 0; i < 64; i++)
     210      ll++;
     211    #pragma omp taskgroup task_reduction(+:r2) allocate (r2)
     212    #pragma omp taskloop simd \
     213      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) \
     214      safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) in_reduction(+:r2) nontemporal(ntm) \
     215      order(concurrent) allocate (f)
     216    for (int i = 0; i < 64; i++)
     217      ll++;
     218    #pragma omp taskgroup task_reduction(+:r) allocate (r)
     219    #pragma omp taskloop simd \
     220      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(i1) final(fi) mergeable nogroup priority (pp) \
     221      safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) in_reduction(+:r) nontemporal(ntm) \
     222      order(concurrent) allocate (f)
     223    for (int i = 0; i < 64; i++)
     224      ll++;
     225    #pragma omp taskwait
     226    #pragma omp taskloop simd \
     227      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) if(taskloop: i1) final(fi) priority (pp) \
     228      safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(+:r) if (simd: i3) nontemporal(ntm) \
     229      order(concurrent) allocate (f)
     230    for (int i = 0; i < 64; i++)
     231      ll++;
     232    #pragma omp target nowait depend(inout: dd[0]) in_reduction(+:r2)
     233    #pragma omp teams distribute \
     234      private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
     235      collapse(1) dist_schedule(static, 16) allocate (omp_default_mem_alloc: f) order(concurrent)
     236    for (int i = 0; i < 64; i++)
     237      ;
     238    #pragma omp target
     239    #pragma omp teams distribute parallel for \
     240      private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) \
     241      collapse(1) dist_schedule(static, 16) \
     242      if (parallel: i2) num_threads (nth) proc_bind(spread) \
     243      lastprivate (l) schedule(static, 4) order(concurrent) allocate (omp_default_mem_alloc: f)
     244    for (int i = 0; i < 64; i++)
     245      ll++;
     246    #pragma omp target
     247    #pragma omp teams distribute parallel for simd \
     248      private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
     249      collapse(1) dist_schedule(static, 16) \
     250      if (parallel: i2) num_threads (nth) proc_bind(spread) \
     251      lastprivate (l) schedule(static, 4) order(concurrent) \
     252      safelen(8) simdlen(4) aligned(q: 32) if (simd: i3) nontemporal(ntm) \
     253      allocate (omp_default_mem_alloc: f)
     254    for (int i = 0; i < 64; i++)
     255      ll++;
     256    #pragma omp target
     257    #pragma omp teams distribute simd \
     258      private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) \
     259      collapse(1) dist_schedule(static, 16) order(concurrent) \
     260      safelen(8) simdlen(4) aligned(q: 32) if(i3) nontemporal(ntm) \
     261      allocate (omp_default_mem_alloc: f)
     262    for (int i = 0; i < 64; i++)
     263      ll++;
     264    #pragma omp teams distribute parallel for \
     265      private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
     266      collapse(1) dist_schedule(static, 16) \
     267      if (parallel: i2) num_threads (nth) proc_bind(spread) \
     268      lastprivate (l) schedule(static, 4) copyin(t) allocate (f)
     269    for (int i = 0; i < 64; i++)
     270      ll++;
     271    #pragma omp teams distribute parallel for \
     272      private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) \
     273      collapse(1) dist_schedule(static, 16) order(concurrent) \
     274      if (parallel: i2) num_threads (nth) proc_bind(spread) \
     275      lastprivate (l) schedule(static, 4) allocate (f)
     276    for (int i = 0; i < 64; i++)
     277      ll++;
     278    #pragma omp teams distribute parallel for simd \
     279      private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
     280      collapse(1) dist_schedule(static, 16) \
     281      if (parallel: i2) num_threads (nth) proc_bind(spread) \
     282      lastprivate (l) schedule(static, 4) \
     283      safelen(8) simdlen(4) aligned(q: 32) if (simd: i3) nontemporal(ntm) copyin(t) \
     284      allocate (f)
     285    for (int i = 0; i < 64; i++)
     286      ll++;
     287    #pragma omp teams distribute parallel for simd \
     288      private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) \
     289      collapse(1) dist_schedule(static, 16) \
     290      if (parallel: i2) num_threads (nth) proc_bind(spread) \
     291      lastprivate (l) schedule(static, 4) order(concurrent) \
     292      safelen(8) simdlen(4) aligned(q: 32) if (simd: i3) nontemporal(ntm) \
     293      allocate (f)
     294    for (int i = 0; i < 64; i++)
     295      ll++;
     296    #pragma omp teams distribute simd \
     297      private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
     298      collapse(1) dist_schedule(static, 16) order(concurrent) \
     299      safelen(8) simdlen(4) aligned(q: 32) if(i3) nontemporal(ntm) allocate(f)
     300    for (int i = 0; i < 64; i++)
     301      ll++;
     302    #pragma omp parallel master \
     303      private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) reduction(+:r) \
     304      num_threads (nth) proc_bind(spread) copyin(t) allocate (f)
     305      ;
     306    #pragma omp parallel masked \
     307      private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) reduction(+:r) \
     308      num_threads (nth) proc_bind(spread) copyin(t) allocate (f) filter (d)
     309      ;
     310    #pragma omp taskgroup task_reduction (+:r2) allocate (r2)
     311    #pragma omp master taskloop \
     312      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) final(fi) mergeable priority (pp) \
     313      reduction(default, +:r) in_reduction(+:r2) allocate (f)
     314    for (int i = 0; i < 64; i++)
     315      ll++;
     316    #pragma omp taskgroup task_reduction (+:r2) allocate (r2)
     317    #pragma omp masked taskloop \
     318      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) final(fi) mergeable priority (pp) \
     319      reduction(default, +:r) in_reduction(+:r2) allocate (f) filter (d)
     320    for (int i = 0; i < 64; i++)
     321      ll++;
     322    #pragma omp taskgroup task_reduction (+:r2) allocate (r2)
     323    #pragma omp master taskloop simd \
     324      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) \
     325      safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) in_reduction(+:r2) nontemporal(ntm) \
     326      order(concurrent) allocate (f)
     327    for (int i = 0; i < 64; i++)
     328      ll++;
     329    #pragma omp taskgroup task_reduction (+:r2) allocate (r2)
     330    #pragma omp masked taskloop simd \
     331      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) \
     332      safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) in_reduction(+:r2) nontemporal(ntm) \
     333      order(concurrent) allocate (f) filter (d)
     334    for (int i = 0; i < 64; i++)
     335      ll++;
     336    #pragma omp parallel master taskloop \
     337      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) final(fi) mergeable priority (pp) \
     338      reduction(default, +:r) if (parallel: i2) num_threads (nth) proc_bind(spread) copyin(t) allocate (f)
     339    for (int i = 0; i < 64; i++)
     340      ll++;
     341    #pragma omp parallel masked taskloop \
     342      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) final(fi) mergeable priority (pp) \
     343      reduction(default, +:r) if (parallel: i2) num_threads (nth) proc_bind(spread) copyin(t) allocate (f) filter (d)
     344    for (int i = 0; i < 64; i++)
     345      ll++;
     346    #pragma omp parallel master taskloop simd \
     347      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) \
     348      safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) nontemporal(ntm) if (parallel: i2) num_threads (nth) proc_bind(spread) copyin(t) \
     349      order(concurrent) allocate (f)
     350    for (int i = 0; i < 64; i++)
     351      ll++;
     352    #pragma omp parallel masked taskloop simd \
     353      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) grainsize (g) collapse(1) untied if(taskloop: i1) if(simd: i2) final(fi) mergeable priority (pp) \
     354      safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) nontemporal(ntm) if (parallel: i2) num_threads (nth) proc_bind(spread) copyin(t) \
     355      order(concurrent) allocate (f) filter (d)
     356    for (int i = 0; i < 64; i++)
     357      ll++;
     358    #pragma omp taskgroup task_reduction (+:r2) allocate (r2)
     359    #pragma omp master taskloop \
     360      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \
     361      reduction(default, +:r) in_reduction(+:r2)
     362    for (int i = 0; i < 64; i++)
     363      ll++;
     364    #pragma omp taskgroup task_reduction (+:r2) allocate (r2)
     365    #pragma omp mastked taskloop \
     366      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \
     367      reduction(default, +:r) in_reduction(+:r2) filter (d)
     368    for (int i = 0; i < 64; i++)
     369      ll++;
     370    #pragma omp taskgroup task_reduction (+:r2) allocate (r2)
     371    #pragma omp master taskloop simd \
     372      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \
     373      safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) in_reduction(+:r2) nontemporal(ntm) \
     374      order(concurrent) allocate (f)
     375    for (int i = 0; i < 64; i++)
     376      ll++;
     377    #pragma omp taskgroup task_reduction (+:r2) allocate (r2)
     378    #pragma omp masked taskloop simd \
     379      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \
     380      safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) in_reduction(+:r2) nontemporal(ntm) \
     381      order(concurrent) allocate (f) filter (d)
     382    for (int i = 0; i < 64; i++)
     383      ll++;
     384    #pragma omp parallel master taskloop \
     385      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \
     386      reduction(default, +:r) num_threads (nth) proc_bind(spread) copyin(t) allocate (f)
     387    for (int i = 0; i < 64; i++)
     388      ll++;
     389    #pragma omp parallel masked taskloop \
     390      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \
     391      reduction(default, +:r) num_threads (nth) proc_bind(spread) copyin(t) allocate (f) filter (d)
     392    for (int i = 0; i < 64; i++)
     393      ll++;
     394    #pragma omp parallel master taskloop simd \
     395      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \
     396      safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) nontemporal(ntm) num_threads (nth) proc_bind(spread) copyin(t) \
     397      order(concurrent) allocate (f)
     398    for (int i = 0; i < 64; i++)
     399      ll++;
     400    #pragma omp parallel masked taskloop simd \
     401      private (p) firstprivate (f) lastprivate (l) shared (s) default(shared) num_tasks (nta) collapse(1) untied if(i1) final(fi) mergeable priority (pp) \
     402      safelen(8) simdlen(4) linear(ll: 1) aligned(q: 32) reduction(default, +:r) nontemporal(ntm) num_threads (nth) proc_bind(spread) copyin(t) \
     403      order(concurrent) allocate (f) filter (d)
     404    for (int i = 0; i < 64; i++)
     405      ll++;
     406    #pragma omp loop bind(thread) order(concurrent) \
     407      private (p) lastprivate (l) collapse(1) reduction(+:r)
     408    for (l = 0; l < 64; ++l)
     409      ll++;
     410    #pragma omp parallel loop \
     411      private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) proc_bind(spread) \
     412      lastprivate (l) collapse(1) bind(parallel) order(concurrent) allocate (f)
     413    for (l = 0; l < 64; l++)
     414      ll++;
     415    #pragma omp parallel loop \
     416      private (p) firstprivate (f) if (parallel: i2) default(shared) shared(s) copyin(t) reduction(+:r) num_threads (nth) proc_bind(spread) \
     417      lastprivate (l) collapse(1) allocate (f)
     418    for (l = 0; l < 64; l++)
     419      ll++;
     420    #pragma omp teams loop \
     421      private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) \
     422      collapse(1) lastprivate (l) bind(teams) allocate (f)
     423    for (l = 0; l < 64; ++l)
     424      ;
     425    #pragma omp teams loop \
     426      private(p) firstprivate (f) shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) \
     427      collapse(1) lastprivate (l) order(concurrent) allocate (f)
     428    for (l = 0; l < 64; ++l)
     429      ;
     430    #pragma omp target parallel loop \
     431      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     432      if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
     433      nowait depend(inout: dd[0]) lastprivate (l) bind(parallel) order(concurrent) collapse(1) \
     434      allocate (omp_default_mem_alloc: f) in_reduction(+:r2) has_device_addr(hda)
     435    for (l = 0; l < 64; ++l)
     436      ;
     437    #pragma omp target parallel loop \
     438      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     439      if (parallel: i2) default(shared) shared(s) reduction(+:r) num_threads (nth) proc_bind(spread) \
     440      nowait depend(inout: dd[0]) lastprivate (l) order(concurrent) collapse(1) \
     441      allocate (omp_default_mem_alloc: f) in_reduction(+:r2) has_device_addr(hda)
     442    for (l = 0; l < 64; ++l)
     443      ;
     444    #pragma omp target teams loop \
     445      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     446      shared(s) default(shared) reduction(+:r) num_teams(nte-1:nte) thread_limit(tl) nowait depend(inout: dd[0]) \
     447      lastprivate (l) bind(teams) collapse(1) \
     448      allocate (omp_default_mem_alloc: f) in_reduction(+:r2) has_device_addr(hda)
     449    for (l = 0; l < 64; ++l)
     450      ;
     451    #pragma omp target teams loop \
     452      device(d) map (tofrom: m) if (target: i1) private (p) firstprivate (f) defaultmap(tofrom: scalar) is_device_ptr (idp) \
     453      shared(s) default(shared) reduction(+:r) num_teams(nte) thread_limit(tl) nowait depend(inout: dd[0]) \
     454      lastprivate (l) order(concurrent) collapse(1) \
     455      allocate (omp_default_mem_alloc: f) in_reduction(+:r2) has_device_addr(hda)
     456    for (l = 0; l < 64; ++l)
     457      ;
     458  }