[nvptx] Add PTX_WARP_SIZE
authorTom de Vries <tdevries@suse.de>
Mon, 17 Dec 2018 21:27:09 +0000 (21:27 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Mon, 17 Dec 2018 21:27:09 +0000 (21:27 +0000)
Add PTX_WARP_SIZE constant and use it in nvptx_simt_vf.  The function
nvptx_simt_vf is used for OpenMP, and using PTX_WARP_SIZE here decouples the
OpenMP support from the PTX_VECTOR_LENGTH constant used in OpenACC support.

Build and reg-tested on x86_64 with nvptx accelerator.

2018-12-17  Tom de Vries  <tdevries@suse.de>

* config/nvptx/nvptx.c (PTX_WARP_SIZE): Define.
(nvptx_simt_vf): Return PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH.

From-SVN: r267215

gcc/ChangeLog
gcc/config/nvptx/nvptx.c

index 7b3144ecc0aa899cdd541f03e1d7f92ea3aa3184..b53cd6262e614e9c568c9d2650685773268ad30e 100644 (file)
@@ -1,3 +1,8 @@
+2018-12-17  Tom de Vries  <tdevries@suse.de>
+
+       * config/nvptx/nvptx.c (PTX_WARP_SIZE): Define.
+       (nvptx_simt_vf): Return PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH.
+
 2018-12-17  Tom de Vries  <tdevries@suse.de>
 
        * config/nvptx/nvptx.c (nvptx_single): Fix whitespace.
index 01505899785379313674e748f6827ecb329424cf..9906716890eb8de1fa76677a8cafe2af048eeffd 100644 (file)
@@ -81,6 +81,8 @@
 #define WORKAROUND_PTXJIT_BUG_2 1
 #define WORKAROUND_PTXJIT_BUG_3 1
 
+#define PTX_WARP_SIZE 32
+
 /* The various PTX memory areas an object might reside in.  */
 enum nvptx_data_area
 {
@@ -5175,7 +5177,7 @@ nvptx_expand_builtin (tree exp, rtx target, rtx ARG_UNUSED (subtarget),
 static int
 nvptx_simt_vf ()
 {
-  return PTX_VECTOR_LENGTH;
+  return PTX_WARP_SIZE;
 }
 
 /* Validate compute dimensions of an OpenACC offload or routine, fill