[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.
This commit is contained in:
Tom de Vries 2021-12-15 14:37:58 +01:00
parent 73c3dacef9
commit eede2498e6
4 changed files with 9 additions and 2 deletions

View File

@ -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

View File

@ -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);

View File

@ -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.

View File

@ -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.