[nvptx] Enable setting vector length using -fopenacc-dim
authorTom de Vries <tdevries@suse.de>
Sat, 12 Jan 2019 22:19:15 +0000 (22:19 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Sat, 12 Jan 2019 22:19:15 +0000 (22:19 +0000)
Enable setting vector length using -fopenacc-dim, f.i. -fopenacc-dim=::128.

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

* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Alow setting
vector length using -fopenacc-dim.

* plugin/plugin-nvptx.c (nvptx_exec): Update error message.

From-SVN: r267896

gcc/ChangeLog
gcc/config/nvptx/nvptx.c
libgomp/ChangeLog
libgomp/plugin/plugin-nvptx.c

index 6f18a347b34b9da212e645a249056d001898c36c..2ba0b7cf8e08d943b2c8bead590dc9178abd0df3 100644 (file)
@@ -1,3 +1,8 @@
+2019-01-12  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Alow setting
+       vector length using -fopenacc-dim.
+
 2019-01-12  Tom de Vries  <tdevries@suse.de>
 
        * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Take larger vector
index 8d2740cd50fda1eb4fd5a7e06ed1a51783b490eb..03c0f82f4a2a7ea6cad4e38b26bf9d79928e3de4 100644 (file)
@@ -5705,7 +5705,8 @@ nvptx_goacc_validate_dims_1 (tree decl, int dims[], int fn_level, unsigned used)
 
   if (oacc_default_dims_p)
     {
-      dims[GOMP_DIM_VECTOR] = default_vector_length;
+      if (dims[GOMP_DIM_VECTOR] < 0)
+       dims[GOMP_DIM_VECTOR] = default_vector_length;
       if (dims[GOMP_DIM_WORKER] < 0)
        dims[GOMP_DIM_WORKER] = PTX_DEFAULT_RUNTIME_DIM;
       if (dims[GOMP_DIM_GANG] < 0)
index fc1fb2a967dcef31355125dba90044bb051672f4..00210529a55e1769bef177d8adf85e2d8384e924 100644 (file)
@@ -1,3 +1,7 @@
+2019-01-12  Tom de Vries  <tdevries@suse.de>
+
+       * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
+
 2019-01-12  Tom de Vries  <tdevries@suse.de>
 
        * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
index 8912660966ab80f99abea370761a26a36cfb7887..dd2bcf3083fe0739688cc19096612acae5f8f06e 100644 (file)
@@ -1321,7 +1321,7 @@ nvptx_exec (void (*fn), size_t mapnum, void **hostaddrs, void **devaddrs,
           " region or '-fopenacc-dim=:x:' where x <= 15"
           "; "
           "or, recompile the program with 'vector_length = 32' on that"
-          " offloaded region"
+          " offloaded region or '-fopenacc-dim=::32'"
           ".\n");
        GOMP_PLUGIN_fatal (msg, targ_fn->launch->fn, dims[GOMP_DIM_WORKER],
                           dims[GOMP_DIM_VECTOR]);