On 10/30/20 5:16 PM, Thomas Schwinge wrote: > Hi Tom! > > While working on something completely different, I had to dig deeper, and > noticed a thing there, and deeper, and notice another thing, and deeper, > and noticed this other thing here... (So, business as usual...) ;-) > > On 2019-01-12T23:21:28+0100, Tom de Vries <tdevr...@suse.de> wrote: >> --- /dev/null >> +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/pr85486.c > >> +#pragma acc routine vector >> +void __attribute__((noinline, noclone)) >> +Vector (int *ptr, int n, const int inc) >> +{ > >> +#pragma acc parallel copy (ary) vector_length (128) /* { dg-warning "using >> vector_length \\(32\\) due to call to vector-partitionable routine, ignoring >> 128" } */ >> + { >> + Vector (&ary[0][0], m * n, (1 << 24) - (1 << 16)); > > This works as diagnosed/expected. > > On 2019-01-12T23:21:31+0100, Tom de Vries <tdevr...@suse.de> wrote: >> --- /dev/null >> +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/pr85486-2.c >> @@ -0,0 +1,52 @@ >> +/* { dg-do run { target openacc_nvidia_accel_selected } } */ >> +/* { dg-additional-options "-fopenacc-dim=::128" } */ > > Via '-fopenacc-dim', we here request a default 'vector_length(128)'. > >> +#pragma acc parallel copy (ary) >> + { >> + Vector (&ary[0][0], m * n, (1 << 24) - (1 << 16)); > > As above, 'vector_length(128)' must be demoted to 'vector_length(32)' > (and in fact, it is) -- but we're not getting a diagnostic for that. Is > this expected? >
I think it would be good to have. I don't know whether it's implemented. > On 2019-01-12T23:21:28+0100, Tom de Vries <tdevr...@suse.de> wrote: >> --- /dev/null >> +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/pr85486-3.c >> @@ -0,0 +1,54 @@ >> +/* { dg-do run { target openacc_nvidia_accel_selected } } */ >> +/* { dg-set-target-env-var "GOMP_OPENACC_DIM" "::128" } */ > > This testcase needs 'dg-additional-options "-fopenacc-dim=::-"' (or > similar), but support for that is still missing in master branch (I'm > working on porting over the corresponding patch), so this currently > defaults to 'vector_length(32)', and... > >> +#pragma acc parallel copy (ary) >> + { >> + Vector (&ary[0][0], m * n, (1 << 24) - (1 << 16)); > > ... thus no diagnostic here, and... > >> +/* { dg-prune-output "using vector_length \\(32\\), ignoring runtime >> setting" } */ > > ... we're in fact not seeing this diagnostic. > > > In addition to the (presumedly unexpected) missing diagnostic for > '-fopenacc-dim=::128' mentioned above -- OK to simplify and enhance the > testcases as attached, "Simplify and enhance > 'libgomp.oacc-c-c++-common/pr85486*.c' [PR85486]"? > Yep, looks good. Thanks, - Tom