]> git.ipfire.org Git - thirdparty/gcc.git/commit
[nvptx] Force vl32 if calling vector-partitionable routines
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Jan 2019 10:01:49 +0000 (10:01 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Jan 2019 10:01:49 +0000 (10:01 +0000)
commit6a7cb08db01b4b7afacb658e59c0782f5e30123f
tree56290fe75d9fead37fbc9cb053d1e010cb3120f1
parente8be6bf5de2e50b787b74b631587d68ba183da65
[nvptx] Force vl32 if calling vector-partitionable routines

With PTX_MAX_VECTOR_LENGTH set to larger than PTX_WARP_SIZE, routines can be
called from offloading regions with vector-size set to larger than warp size.
OTOH, vector-partitionable routines assume warp-sized vector length.

Detect if we're calling a vector-partitionable routine from an offloading
region, and if so, fall back to warp-sized vector length in that region.

2019-01-07  Tom de Vries  <tdevries@suse.de>

PR target/85486
* config/nvptx/nvptx.c (has_vector_partitionable_routine_calls_p): New
function.
(nvptx_goacc_validate_dims): Force vl32 if calling vector-partitionable
routines.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267640 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/nvptx/nvptx.c