aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2021-12-15 14:37:58 +0100
committerTom de Vries <tdevries@suse.de>2021-12-15 14:58:40 +0100
commiteede2498e61e00a176fb2908ca0317b55c084a84 (patch)
tree00ff3a01735af13ba0b00a1e7d9ab4afebfe2a8c /gcc/config
parent73c3dacef9a30d7d66918606a97c496c71289f1b (diff)
downloadgcc-eede2498e61e00a176fb2908ca0317b55c084a84.zip
gcc-eede2498e61e00a176fb2908ca0317b55c084a84.tar.gz
gcc-eede2498e61e00a176fb2908ca0317b55c084a84.tar.bz2
[nvptx] Add -mptx=7.0
Add support for ptx isa version 7.0, required for the addition of -misa=sm_75 and -misa=sm_80. Tested by setting the default ptx isa version to 7.0, and doing a build and libgomp test run. gcc/ChangeLog: * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_7_0. * config/nvptx/nvptx.c (nvptx_file_start): Handle TARGET_PTX_7_0. * config/nvptx/nvptx.h (TARGET_PTX_7_0): New macro. * config/nvptx/nvptx.opt (ptx_version): Add 7.0.
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/nvptx/nvptx-opts.h3
-rw-r--r--gcc/config/nvptx/nvptx.c4
-rw-r--r--gcc/config/nvptx/nvptx.h1
-rw-r--r--gcc/config/nvptx/nvptx.opt3
4 files changed, 9 insertions, 2 deletions
diff --git a/gcc/config/nvptx/nvptx-opts.h b/gcc/config/nvptx/nvptx-opts.h
index f7371dc..396fe87 100644
--- a/gcc/config/nvptx/nvptx-opts.h
+++ b/gcc/config/nvptx/nvptx-opts.h
@@ -30,7 +30,8 @@ enum ptx_isa
enum ptx_version
{
PTX_VERSION_3_1,
- PTX_VERSION_6_3
+ PTX_VERSION_6_3,
+ PTX_VERSION_7_0
};
#endif
diff --git a/gcc/config/nvptx/nvptx.c b/gcc/config/nvptx/nvptx.c
index 445d7ce..51eef2b 100644
--- a/gcc/config/nvptx/nvptx.c
+++ b/gcc/config/nvptx/nvptx.c
@@ -5404,7 +5404,9 @@ static void
nvptx_file_start (void)
{
fputs ("// BEGIN PREAMBLE\n", asm_out_file);
- if (TARGET_PTX_6_3)
+ if (TARGET_PTX_7_0)
+ fputs ("\t.version\t7.0\n", asm_out_file);
+ else if (TARGET_PTX_6_3)
fputs ("\t.version\t6.3\n", asm_out_file);
else
fputs ("\t.version\t3.1\n", asm_out_file);
diff --git a/gcc/config/nvptx/nvptx.h b/gcc/config/nvptx/nvptx.h
index c3480cc..92fd9d3 100644
--- a/gcc/config/nvptx/nvptx.h
+++ b/gcc/config/nvptx/nvptx.h
@@ -90,6 +90,7 @@
#define TARGET_SM53 (ptx_isa_option >= PTX_ISA_SM53)
#define TARGET_PTX_6_3 (ptx_version_option >= PTX_VERSION_6_3)
+#define TARGET_PTX_7_0 (ptx_version_option >= PTX_VERSION_7_0)
/* Registers. Since ptx is a virtual target, we just define a few
hard registers for special purposes and leave pseudos unallocated.
diff --git a/gcc/config/nvptx/nvptx.opt b/gcc/config/nvptx/nvptx.opt
index 514f19d..04b45da 100644
--- a/gcc/config/nvptx/nvptx.opt
+++ b/gcc/config/nvptx/nvptx.opt
@@ -79,6 +79,9 @@ Enum(ptx_version) String(3.1) Value(PTX_VERSION_3_1)
EnumValue
Enum(ptx_version) String(6.3) Value(PTX_VERSION_6_3)
+EnumValue
+Enum(ptx_version) String(7.0) Value(PTX_VERSION_7_0)
+
mptx=
Target RejectNegative ToLower Joined Enum(ptx_version) Var(ptx_version_option) Init(PTX_VERSION_3_1)
Specify the version of the ptx version to use.