target-supports.exp (check_effective_target_offload_nvptx): New.

* lib/target-supports.exp (check_effective_target_offload_nvptx): New.
	* gcc.dg/goacc/nvptx-merged-loop.c: New.

From-SVN: r230353
This commit is contained in:
Nathan Sidwell 2015-11-13 21:48:23 +00:00 committed by Nathan Sidwell
parent 5f0ba74583
commit 7bcc3c8608
3 changed files with 43 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
* lib/target-supports.exp (check_effective_target_offload_nvptx): New.
* gcc.dg/goacc/nvptx-merged-loop.c: New.
2015-11-13 Steven G. Kargl <kargl@gccc.gnu.org>
PR fortran/68319

View File

@ -0,0 +1,30 @@
/* { dg-do link } */
/* { dg-require-effective-target offload_nvptx } */
/* { dg-options "-fopenacc -O2 -foffload=-fdump-rtl-mach\\ -dumpbase\\ nvptx-merged-loop.c\\ -Wa,--no-verify" } */
#define N (32*32*32+17)
void __attribute__ ((noinline)) Foo (int *ary)
{
int ix;
#pragma acc parallel num_workers(32) vector_length(32) copyout(ary[0:N])
{
/* Loop partitioning should be merged. */
#pragma acc loop worker vector
for (unsigned ix = 0; ix < N; ix++)
{
ary[ix] = ix;
}
}
}
int main ()
{
int ary[N];
Foo (ary);
return 0;
}
/* { dg-final { scan-rtl-dump "Merging loop .* into " "mach" } } */

View File

@ -6716,3 +6716,11 @@ proc check_effective_target_vect_max_reduc { } {
}
return 0
}
# Return 1 if there is an nvptx offload compiler.
proc check_effective_target_offload_nvptx { } {
return [check_no_compiler_messages offload_nvptx object {
int main () {return 0;}
} "-foffload=nvptx-none" ]
}