blob: 3502647ffb408d0833cb55a9cce30e4b19b3d41a [file] [log] [blame]
/* { dg-do compile } */
/* { dg-additional-options "-std=c99" { target c } } */
typedef enum omp_allocator_handle_t
#if __cplusplus >= 201103L
: __UINTPTR_TYPE__
#endif
{
omp_null_allocator = 0,
omp_default_mem_alloc = 1,
omp_large_cap_mem_alloc = 2,
omp_const_mem_alloc = 3,
omp_high_bw_mem_alloc = 4,
omp_low_lat_mem_alloc = 5,
omp_cgroup_mem_alloc = 6,
omp_pteam_mem_alloc = 7,
omp_thread_mem_alloc = 8,
__omp_allocator_handle_t_max__ = __UINTPTR_MAX__
} omp_allocator_handle_t;
typedef enum omp_sync_hint_t {
omp_sync_hint_none = 0x0,
omp_lock_hint_none = omp_sync_hint_none,
omp_sync_hint_uncontended = 0x1,
omp_lock_hint_uncontended = omp_sync_hint_uncontended,
omp_sync_hint_contended = 0x2,
omp_lock_hint_contended = omp_sync_hint_contended,
omp_sync_hint_nonspeculative = 0x4,
omp_lock_hint_nonspeculative = omp_sync_hint_nonspeculative,
omp_sync_hint_speculative = 0x8,
omp_lock_hint_speculative = omp_sync_hint_speculative
} omp_sync_hint_t;
typedef struct __attribute__((__aligned__ (sizeof (void *)))) omp_depend_t {
char __omp_depend_t__[2 * sizeof (void *)];
} omp_depend_t;
int t;
#pragma omp threadprivate (t)
#pragma omp declare target
int f, l, ll, r, r2;
void
foo (int d, int m, int i1, int i2, int p, int *idp, int s,
int nte, int tl, int nth, int g, int nta, int fi, int pp, int *q, int ntm)
{
#pragma omp distribute parallel for, \
private (p), firstprivate (f), collapse(1), dist_schedule(static, 16), \
if (parallel: i2), default(shared), shared(s), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), order(concurrent), allocate (omp_default_mem_alloc:f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp distribute parallel for simd, \
private (p), firstprivate (f), collapse(1), dist_schedule(static, 16), \
if (parallel: i2), if(simd: i1), default(shared), shared(s), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), nontemporal(ntm), \
safelen(8), simdlen(4), aligned(q: 32), order(concurrent), allocate (omp_default_mem_alloc:f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp distribute simd, \
private (p), firstprivate (f), collapse(1), dist_schedule(static, 16), \
safelen(8), simdlen(4), aligned(q: 32), reduction(+:r), if(i1), nontemporal(ntm), \
order(concurrent), allocate (omp_default_mem_alloc:f)
for (int i = 0; i < 64; i++)
ll++;
}
void
qux (int p)
{
#pragma omp loop, bind(teams), order(concurrent), \
private (p), lastprivate (l), collapse(1), reduction(+:r)
for (l = 0; l < 64; ++l)
ll++;
}
#pragma omp end declare target
void
baz (int d, int m, int i1, int i2, int p, int *idp, int s,
int nte, int tl, int nth, int g, int nta, int fi, int pp, int *q, int ntm)
{
#pragma omp distribute parallel for, \
private (p), firstprivate (f), collapse(1), dist_schedule(static, 16), \
if (parallel: i2), default(shared), shared(s), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), copyin(t), allocate (p)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp distribute parallel for, \
private (p), firstprivate (f), collapse(1), dist_schedule(static, 16), \
if (parallel: i2), default(shared), shared(s), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), order(concurrent), allocate (p)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp distribute parallel for simd, \
private (p), firstprivate (f), collapse(1), dist_schedule(static, 16), \
if (parallel: i2), if(simd: i1), default(shared), shared(s), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), nontemporal(ntm), \
safelen(8), simdlen(4), aligned(q: 32), copyin(t), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp distribute parallel for simd, \
private (p), firstprivate (f), collapse(1), dist_schedule(static, 16), \
if (parallel: i2), if(simd: i1), default(shared), shared(s), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), nontemporal(ntm), \
safelen(8), simdlen(4), aligned(q: 32), order(concurrent), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp distribute simd, \
private (p), firstprivate (f), collapse(1), dist_schedule(static, 16), \
safelen(8), simdlen(4), aligned(q: 32), reduction(+:r), if(i1), nontemporal(ntm), \
order(concurrent), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp loop, bind(parallel), order(concurrent), \
private (p), lastprivate (l), collapse(1), reduction(+:r)
for (l = 0; l < 64; ++l)
ll++;
}
void
bar (int d, int m, int i1, int i2, int i3, int p, int *idp, int hda, int s,
int nte, int tl, int nth, int g, int nta, int fi, int pp, int *q, int *dd, int ntm,
int n1, int n2)
{
#pragma omp for simd, \
private (p), firstprivate (f), lastprivate (l), linear (ll:1), reduction(+:r), schedule(static, 4), collapse(1), nowait, \
safelen(8), simdlen(4), aligned(q: 32), nontemporal(ntm), if(i1), order(concurrent), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel for, \
private (p), firstprivate (f), if (parallel: i2), default(shared), shared(s), copyin(t), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), linear (ll:1), ordered, schedule(static, 4), collapse(1), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel for, \
private (p), firstprivate (f), if (parallel: i2), default(shared), shared(s), copyin(t), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), linear (ll:1), schedule(static, 4), collapse(1), order(concurrent), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel for simd, \
private (p), firstprivate (f), if (i2), default(shared), shared(s), copyin(t), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), linear (ll:1), schedule(static, 4), collapse(1), \
safelen(8), simdlen(4), aligned(q: 32), nontemporal(ntm), order(concurrent), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel sections, \
private (p), firstprivate (f), if (parallel: i2), default(shared), shared(s), copyin(t), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), allocate (f)
{
#pragma omp section
{}
#pragma omp section
{}
}
#pragma omp target parallel, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
if (parallel: i2), default(shared), shared(s), reduction(+:r), num_threads (nth), proc_bind(spread), \
nowait, depend(inout: dd[0]), allocate (omp_default_mem_alloc:f), in_reduction(+:r2), has_device_addr(hda)
;
#pragma omp target parallel for, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
if (parallel: i2), default(shared), shared(s), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), linear (ll:1), ordered, schedule(static, 4), collapse(1), nowait, depend(inout: dd[0]), \
allocate (omp_default_mem_alloc:f), in_reduction(+:r2), has_device_addr(hda)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp target parallel for, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
if (parallel: i2), default(shared), shared(s), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), linear (ll:1), schedule(static, 4), collapse(1), nowait, depend(inout: dd[0]), order(concurrent), \
allocate (omp_default_mem_alloc:f), in_reduction(+:r2), has_device_addr(hda)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp target parallel for simd, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
if (parallel: i2), default(shared), shared(s), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), linear (ll:1), schedule(static, 4), collapse(1), \
safelen(8), simdlen(4), aligned(q: 32), nowait, depend(inout: dd[0]), nontemporal(ntm), if (simd: i3), order(concurrent), \
allocate (omp_default_mem_alloc:f), in_reduction(+:r2), has_device_addr(hda)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp target teams, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
shared(s), default(shared), reduction(+:r), num_teams(nte - 1:nte), thread_limit(tl), nowait depend(inout: dd[0]), \
allocate (omp_default_mem_alloc:f), in_reduction(+:r2), has_device_addr(hda)
;
#pragma omp target teams distribute, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
shared(s), default(shared), reduction(+:r), num_teams(nte), thread_limit(tl), order(concurrent), \
collapse(1), dist_schedule(static, 16), nowait, depend(inout: dd[0]), allocate (omp_default_mem_alloc:f), in_reduction(+:r2), \
has_device_addr(hda)
for (int i = 0; i < 64; i++)
;
#pragma omp target teams distribute parallel for, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
shared(s), default(shared), reduction(+:r), num_teams(nte-1:nte), thread_limit(tl), \
collapse(1), dist_schedule(static, 16), \
if (parallel: i2), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), nowait, depend(inout: dd[0]), order(concurrent), \
allocate (omp_default_mem_alloc:f), in_reduction(+:r2), has_device_addr(hda)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp target teams distribute parallel for simd, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
shared(s), default(shared), reduction(+:r), num_teams(nte), thread_limit(tl), \
collapse(1), dist_schedule(static, 16), \
if (parallel: i2), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), order(concurrent), \
safelen(8), simdlen(4), aligned(q: 32), nowait, depend(inout: dd[0]), nontemporal(ntm), if (simd: i3), \
allocate (omp_default_mem_alloc:f), in_reduction(+:r2), has_device_addr(hda)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp target teams distribute simd, \
device(d), map (tofrom: m), if (i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
shared(s), default(shared), reduction(+:r), num_teams(nte-1:nte), thread_limit(tl), \
collapse(1), dist_schedule(static, 16), order(concurrent), \
safelen(8), simdlen(4), aligned(q: 32), nowait depend(inout: dd[0]), nontemporal(ntm), \
allocate (omp_default_mem_alloc:f), in_reduction(+:r2), has_device_addr(hda)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp target simd, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
safelen(8), simdlen(4), lastprivate (l), linear(ll: 1), aligned(q: 32), reduction(+:r), \
nowait depend(inout: dd[0]), nontemporal(ntm), if(simd:i3), order(concurrent), \
allocate (omp_default_mem_alloc:f), in_reduction(+:r2), has_device_addr(hda)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp taskgroup, task_reduction(+:r2), allocate (r2)
#pragma omp taskloop simd, \
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), \
safelen(8), simdlen(4), linear(ll: 1), aligned(q: 32), reduction(default, +:r), in_reduction(+:r2), nontemporal(ntm), \
order(concurrent), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp taskgroup, task_reduction(+:r), allocate (r)
#pragma omp taskloop simd, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), grainsize (g), collapse(1), untied, if(i1), final(fi), mergeable, nogroup, priority (pp), \
safelen(8), simdlen(4), linear(ll: 1), aligned(q: 32), in_reduction(+:r), nontemporal(ntm), \
order(concurrent), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp taskwait
#pragma omp taskloop simd, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), num_tasks (nta), collapse(1), if(taskloop: i1), final(fi), priority (pp), \
safelen(8), simdlen(4), linear(ll: 1), aligned(q: 32), reduction(+:r), if (simd: i3), nontemporal(ntm), \
order(concurrent), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp target, nowait, depend(inout: dd[0]), in_reduction(+:r2)
#pragma omp teams distribute, \
private(p), firstprivate (f), shared(s), default(shared), reduction(+:r), num_teams(nte), thread_limit(tl), \
collapse(1), dist_schedule(static, 16), allocate (omp_default_mem_alloc: f), order(concurrent)
for (int i = 0; i < 64; i++)
;
#pragma omp target
#pragma omp teams distribute parallel for, \
private(p), firstprivate (f), shared(s), default(shared), reduction(+:r), num_teams(nte-1:nte), thread_limit(tl), \
collapse(1), dist_schedule(static, 16), \
if (parallel: i2), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), order(concurrent), allocate (omp_default_mem_alloc: f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp target
#pragma omp teams distribute parallel for simd, \
private(p), firstprivate (f), shared(s), default(shared), reduction(+:r), num_teams(nte), thread_limit(tl), \
collapse(1), dist_schedule(static, 16), \
if (parallel: i2), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), order(concurrent), \
safelen(8), simdlen(4), aligned(q: 32), if (simd: i3), nontemporal(ntm), \
allocate (omp_default_mem_alloc: f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp target
#pragma omp teams distribute simd, \
private(p), firstprivate (f), shared(s), default(shared), reduction(+:r), num_teams(nte-1:nte), thread_limit(tl), \
collapse(1), dist_schedule(static, 16), order(concurrent), \
safelen(8), simdlen(4), aligned(q: 32), if(i3), nontemporal(ntm), \
allocate (omp_default_mem_alloc: f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp teams distribute parallel for, \
private(p), firstprivate (f), shared(s), default(shared), reduction(+:r), num_teams(nte), thread_limit(tl), \
collapse(1), dist_schedule(static, 16), \
if (parallel: i2), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), copyin(t), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp teams distribute parallel for, \
private(p), firstprivate (f), shared(s), default(shared), reduction(+:r), num_teams(nte-1:nte), thread_limit(tl), \
collapse(1), dist_schedule(static, 16), order(concurrent), \
if (parallel: i2), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp teams distribute parallel for simd, \
private(p), firstprivate (f), shared(s), default(shared), reduction(+:r), num_teams(nte), thread_limit(tl), \
collapse(1), dist_schedule(static, 16), \
if (parallel: i2), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), \
safelen(8), simdlen(4), aligned(q: 32), if (simd: i3), nontemporal(ntm), copyin(t), \
allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp teams distribute parallel for simd, \
private(p), firstprivate (f), shared(s), default(shared), reduction(+:r), num_teams(nte-1:nte), thread_limit(tl), \
collapse(1), dist_schedule(static, 16), \
if (parallel: i2), num_threads (nth), proc_bind(spread), \
lastprivate (l), schedule(static, 4), order(concurrent), \
safelen(8), simdlen(4), aligned(q: 32), if (simd: i3), nontemporal(ntm), \
allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp teams distribute simd, \
private(p), firstprivate (f), shared(s), default(shared), reduction(+:r), num_teams(nte), thread_limit(tl), \
collapse(1), dist_schedule(static, 16), order(concurrent), \
safelen(8), simdlen(4), aligned(q: 32), if(i3), nontemporal(ntm), allocate(f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel master, \
private (p), firstprivate (f), if (parallel: i2), default(shared), shared(s), reduction(+:r), \
num_threads (nth), proc_bind(spread), copyin(t), allocate (f)
;
#pragma omp parallel masked, \
private (p), firstprivate (f), if (parallel: i2), default(shared), shared(s), reduction(+:r), \
num_threads (nth), proc_bind(spread), copyin(t), allocate (f), filter (d)
;
#pragma omp taskgroup, task_reduction (+:r2), allocate (r2)
#pragma omp master taskloop, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), grainsize (g), collapse(1), untied, if(taskloop: i1), final(fi), mergeable, priority (pp), \
reduction(default, +:r), in_reduction(+:r2), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp taskgroup, task_reduction (+:r2), allocate (r2)
#pragma omp masked taskloop, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), grainsize (g), collapse(1), untied, if(taskloop: i1), final(fi), mergeable, priority (pp), \
reduction(default, +:r), in_reduction(+:r2), allocate (f), filter (d)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp taskgroup, task_reduction (+:r2), allocate (r2)
#pragma omp master taskloop simd, \
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), \
safelen(8), simdlen(4), linear(ll: 1), aligned(q: 32), reduction(default, +:r), in_reduction(+:r2), nontemporal(ntm), \
order(concurrent), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp taskgroup, task_reduction (+:r2), allocate (r2)
#pragma omp masked taskloop simd, \
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), \
safelen(8), simdlen(4), linear(ll: 1), aligned(q: 32), reduction(default, +:r), in_reduction(+:r2), nontemporal(ntm), \
order(concurrent), allocate (f), filter (d)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel master taskloop, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), grainsize (g), collapse(1), untied, if(taskloop: i1), final(fi), mergeable, priority (pp), \
reduction(default, +:r), if (parallel: i2), num_threads (nth), proc_bind(spread), copyin(t), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel masked taskloop, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), grainsize (g), collapse(1), untied, if(taskloop: i1), final(fi), mergeable, priority (pp), \
reduction(default, +:r), if (parallel: i2), num_threads (nth), proc_bind(spread), copyin(t), allocate (f), filter (d)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel master taskloop simd, \
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), \
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), \
order(concurrent), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel masked taskloop simd, \
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), \
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), \
order(concurrent), allocate (f), filter (d)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp taskgroup, task_reduction (+:r2), allocate (r2)
#pragma omp master taskloop, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), num_tasks (nta), collapse(1), untied, if(i1), final(fi), mergeable, priority (pp), \
reduction(default, +:r), in_reduction(+:r2)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp taskgroup, task_reduction (+:r2), allocate (r2)
#pragma omp mastked taskloop, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), num_tasks (nta), collapse(1), untied, if(i1), final(fi), mergeable, priority (pp), \
reduction(default, +:r), in_reduction(+:r2), filter (d)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp taskgroup, task_reduction (+:r2), allocate (r2)
#pragma omp master taskloop simd, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), num_tasks (nta), collapse(1), untied, if(i1), final(fi), mergeable, priority (pp), \
safelen(8), simdlen(4), linear(ll: 1), aligned(q: 32), reduction(default, +:r), in_reduction(+:r2), nontemporal(ntm), \
order(concurrent), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp taskgroup, task_reduction (+:r2), allocate (r2)
#pragma omp masked taskloop simd, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), num_tasks (nta), collapse(1), untied, if(i1), final(fi), mergeable, priority (pp), \
safelen(8), simdlen(4), linear(ll: 1), aligned(q: 32), reduction(default, +:r), in_reduction(+:r2), nontemporal(ntm), \
order(concurrent), allocate (f), filter (d)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel master taskloop, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), num_tasks (nta), collapse(1), untied, if(i1), final(fi), mergeable, priority (pp), \
reduction(default, +:r), num_threads (nth), proc_bind(spread), copyin(t), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel masked taskloop, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), num_tasks (nta), collapse(1), untied, if(i1), final(fi), mergeable, priority (pp), \
reduction(default, +:r), num_threads (nth), proc_bind(spread), copyin(t), allocate (f), filter (d)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel master taskloop simd, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), num_tasks (nta), collapse(1), untied, if(i1), final(fi), mergeable, priority (pp), \
safelen(8), simdlen(4), linear(ll: 1), aligned(q: 32), reduction(default, +:r), nontemporal(ntm), num_threads (nth), proc_bind(spread), copyin(t), \
order(concurrent), allocate (f)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp parallel masked taskloop simd, \
private (p), firstprivate (f), lastprivate (l), shared (s), default(shared), num_tasks (nta), collapse(1), untied, if(i1), final(fi), mergeable, priority (pp), \
safelen(8), simdlen(4), linear(ll: 1), aligned(q: 32), reduction(default, +:r), nontemporal(ntm), num_threads (nth), proc_bind(spread), copyin(t), \
order(concurrent), allocate (f), filter (d)
for (int i = 0; i < 64; i++)
ll++;
#pragma omp loop, bind(thread), order(concurrent), \
private (p), lastprivate (l), collapse(1), reduction(+:r)
for (l = 0; l < 64; ++l)
ll++;
#pragma omp parallel loop, \
private (p), firstprivate (f), if (parallel: i2), default(shared), shared(s), copyin(t), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), collapse(1), bind(parallel), order(concurrent), allocate (f)
for (l = 0; l < 64; l++)
ll++;
#pragma omp parallel loop, \
private (p), firstprivate (f), if (parallel: i2), default(shared), shared(s), copyin(t), reduction(+:r), num_threads (nth), proc_bind(spread), \
lastprivate (l), collapse(1), allocate (f)
for (l = 0; l < 64; l++)
ll++;
#pragma omp teams loop, \
private(p), firstprivate (f), shared(s), default(shared), reduction(+:r), num_teams(nte-1:nte), thread_limit(tl), \
collapse(1), lastprivate (l), bind(teams), allocate (f)
for (l = 0; l < 64; ++l)
;
#pragma omp teams loop, \
private(p), firstprivate (f), shared(s), default(shared), reduction(+:r), num_teams(nte), thread_limit(tl), \
collapse(1), lastprivate (l), order(concurrent), allocate (f)
for (l = 0; l < 64; ++l)
;
#pragma omp target parallel loop, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
if (parallel: i2), default(shared), shared(s), reduction(+:r), num_threads (nth), proc_bind(spread), \
nowait depend(inout: dd[0]), lastprivate (l), bind(parallel), order(concurrent), collapse(1), \
allocate (omp_default_mem_alloc: f), in_reduction(+:r2), has_device_addr(hda)
for (l = 0; l < 64; ++l)
;
#pragma omp target parallel loop, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
if (parallel: i2), default(shared), shared(s), reduction(+:r), num_threads (nth), proc_bind(spread), \
nowait depend(inout: dd[0]), lastprivate (l), order(concurrent), collapse(1), \
allocate (omp_default_mem_alloc: f), in_reduction(+:r2), has_device_addr(hda)
for (l = 0; l < 64; ++l)
;
#pragma omp target teams loop, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
shared(s), default(shared), reduction(+:r), num_teams(nte-1:nte), thread_limit(tl), nowait depend(inout: dd[0]), \
lastprivate (l), bind(teams), collapse(1), \
allocate (omp_default_mem_alloc: f), in_reduction(+:r2), has_device_addr(hda)
for (l = 0; l < 64; ++l)
;
#pragma omp target teams loop, \
device(d), map (tofrom: m), if (target: i1), private (p), firstprivate (f), defaultmap(tofrom: scalar), is_device_ptr (idp), \
shared(s), default(shared), reduction(+:r), num_teams(nte), thread_limit(tl), nowait depend(inout: dd[0]), \
lastprivate (l), order(concurrent), collapse(1), \
allocate (omp_default_mem_alloc: f), in_reduction(+:r2), has_device_addr(hda)
for (l = 0; l < 64; ++l)
;
#pragma omp critical
;
#pragma omp critical (foobar),hint(omp_sync_hint_none)
;
#pragma omp taskwait, depend (inout: dd[0])
;
#pragma omp taskgroup, task_reduction(+:r2),allocate (r2)
;
#pragma omp atomic, update,seq_cst,hint(omp_sync_hint_none)
p++;
#pragma omp atomic, read, hint(omp_sync_hint_none),relaxed
f = p;
#pragma omp atomic,write, release hint(omp_sync_hint_none)
p = f;
#pragma omp flush
;
#pragma omp flush, acq_rel
;
#pragma omp flush, acquire
;
#pragma omp flush, release
;
#pragma omp flush, seq_cst
;
#pragma omp flush (p, f)
;
#pragma omp simd, \
private (p),lastprivate (l),linear (ll:1),reduction(+:r),collapse(1),safelen(8),simdlen(4),aligned(q: 32), \
nontemporal(ntm),if(i1)
for (int i = 0; i < 64; i++)
#pragma omp ordered, simd
ll++;
#pragma omp for, \
private (p),firstprivate (f),lastprivate (l),linear (ll:1),reduction(+:r),schedule(static, 4),collapse(1),nowait, \
ordered, allocate (f)
for (int i = 0; i < 64; i++)
#pragma omp ordered, threads
ll++;
#pragma omp for, ordered (1)
for (l = 0; l < 64; l++)
{
#pragma omp ordered, depend (sink: l - 1)
;
#pragma omp ordered, depend (source)
;
}
extern omp_depend_t depobj;
#pragma omp depobj(depobj),depend(in : dd[0])
;
#pragma omp parallel
{
if (p) {
#pragma omp cancel, parallel
;
} else {
#pragma omp cancellation point, parallel
;
}
}
#pragma omp scope, private (p), firstprivate (f), reduction(+:r), nowait, \
allocate(omp_default_mem_alloc: r)
;
#pragma omp scope, private (p), firstprivate (f), reduction(task, +:r), \
allocate (omp_default_mem_alloc: f)
;
extern int t2;
#pragma omp threadprivate (t2)
extern int t2;
#pragma omp declare reduction (dr: int: omp_out += omp_in),initializer (omp_priv = 0)
#pragma omp assume, no_openmp, no_openmp_routines, no_parallelism, \
absent (atomic, barrier, cancel, cancellation point), \
absent (critical, depobj), \
absent (distribute, flush, loop, masked, master, nothing, ordered), \
absent (parallel, scan, scope, section, sections, simd, single, task), \
absent (taskgroup, taskloop, taskwait, taskyield), \
absent (target, teams, for, error), holds (n1 < n2)
if (0)
;
#pragma omp assume, contains (simd)
#pragma omp for simd
for (int i = 0; i < 64; i++)
;
}
void corge1 ();
void
corge ()
{
#pragma omp declare variant (corge1),match (construct={parallel,for})
extern void corge2 ();
#pragma omp parallel
#pragma omp for
for (int i = 0; i < 5; i++)
corge2 ();
#pragma omp declare simd, simdlen(4),linear(l),aligned(p:4),uniform(p),inbranch
#pragma omp declare simd,simdlen(8),notinbranch
extern int corge3 (int l, int *p);
#pragma omp declare simd, simdlen(4),linear(l),aligned(p:4),uniform(p),inbranch
#pragma omp declare simd, simdlen(8),notinbranch
extern int corge4 (int l, int *p);
#pragma omp declare simd, simdlen(4),linear(l),aligned(p:4),uniform(p),inbranch
#pragma omp declare simd, simdlen(8),notinbranch
extern int corge5 (int l, int *p);
#pragma omp declare target
extern void corge6 ();
#pragma omp end declare target
}
int
garply (int a, int *c, int *d, int *e, int *f)
{
int i;
#pragma omp simd, reduction (inscan, +: a)
for (i = 0; i < 64; i++)
{
d[i] = a;
#pragma omp scan, exclusive (a)
a += c[i];
}
#pragma omp simd, reduction (inscan, +: a)
for (i = 0; i < 64; i++)
{
a += c[i];
#pragma omp scan inclusive (a)
d[i] = a;
}
return a;
}