nvptx: Support '-mptx=7.3'
gcc/ * config/nvptx/nvptx-opts.h (enum ptx_version): Add 'PTX_VERSION_7_3'. * config/nvptx/nvptx.cc (ptx_version_to_string) (ptx_version_to_number): Adjust. * config/nvptx/nvptx.h (TARGET_PTX_7_3): New. * config/nvptx/nvptx.opt (Enum(ptx_version)): Add 'EnumValue' '7.3' for 'PTX_VERSION_7_3'. * doc/invoke.texi (Nvidia PTX Options): Document '-mptx=7.3'. gcc/testsuite/ * gcc.target/nvptx/mptx=7.3.c: New.
This commit is contained in:
parent
975638b2d7
commit
ecb99f6978
6 changed files with 29 additions and 1 deletions
|
@ -43,6 +43,7 @@ enum ptx_version
|
|||
PTX_VERSION_6_0,
|
||||
PTX_VERSION_6_3,
|
||||
PTX_VERSION_7_0,
|
||||
PTX_VERSION_7_3,
|
||||
PTX_VERSION_7_8
|
||||
};
|
||||
|
||||
|
|
|
@ -267,6 +267,8 @@ ptx_version_to_string (enum ptx_version v)
|
|||
return "6.3";
|
||||
case PTX_VERSION_7_0:
|
||||
return "7.0";
|
||||
case PTX_VERSION_7_3:
|
||||
return "7.3";
|
||||
case PTX_VERSION_7_8:
|
||||
return "7.8";
|
||||
default:
|
||||
|
@ -291,6 +293,8 @@ ptx_version_to_number (enum ptx_version v, bool major_p)
|
|||
return major_p ? 6 : 3;
|
||||
case PTX_VERSION_7_0:
|
||||
return major_p ? 7 : 0;
|
||||
case PTX_VERSION_7_3:
|
||||
return major_p ? 7 : 3;
|
||||
case PTX_VERSION_7_8:
|
||||
return major_p ? 7 : 8;
|
||||
default:
|
||||
|
|
|
@ -102,6 +102,7 @@
|
|||
#define TARGET_PTX_6_0 (ptx_version_option >= PTX_VERSION_6_0)
|
||||
#define TARGET_PTX_6_3 (ptx_version_option >= PTX_VERSION_6_3)
|
||||
#define TARGET_PTX_7_0 (ptx_version_option >= PTX_VERSION_7_0)
|
||||
#define TARGET_PTX_7_3 (ptx_version_option >= PTX_VERSION_7_3)
|
||||
#define TARGET_PTX_7_8 (ptx_version_option >= PTX_VERSION_7_8)
|
||||
|
||||
/* Registers. Since ptx is a virtual target, we just define a few
|
||||
|
|
|
@ -142,6 +142,9 @@ Enum(ptx_version) String(6.3) Value(PTX_VERSION_6_3)
|
|||
EnumValue
|
||||
Enum(ptx_version) String(7.0) Value(PTX_VERSION_7_0)
|
||||
|
||||
EnumValue
|
||||
Enum(ptx_version) String(7.3) Value(PTX_VERSION_7_3)
|
||||
|
||||
EnumValue
|
||||
Enum(ptx_version) String(7.8) Value(PTX_VERSION_7_8)
|
||||
|
||||
|
|
|
@ -30211,7 +30211,7 @@ Valid version strings are
|
|||
@samp{3.1},
|
||||
@samp{4.1}, @samp{4.2},
|
||||
@samp{6.0}, @samp{6.3},
|
||||
@samp{7.0}, and @samp{7.8}.
|
||||
@samp{7.0}, @samp{7.3}, and @samp{7.8}.
|
||||
The default PTX ISA version is 6.0, unless a higher
|
||||
version is required for specified PTX ISA target architecture via
|
||||
option @option{-march=}.
|
||||
|
|
19
gcc/testsuite/gcc.target/nvptx/mptx=7.3.c
Normal file
19
gcc/testsuite/gcc.target/nvptx/mptx=7.3.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/* { dg-do assemble } */
|
||||
/* { dg-options {-march=sm_30 -mptx=7.3} } */
|
||||
/* { dg-additional-options -save-temps } */
|
||||
/* { dg-final { scan-assembler-times {(?n)^ \.version 7\.3$} 1 } } */
|
||||
/* { dg-final { scan-assembler-times {(?n)^ \.target sm_30$} 1 } } */
|
||||
|
||||
#if __PTX_ISA_VERSION_MAJOR__ != 7
|
||||
#error wrong value for __PTX_ISA_VERSION_MAJOR__
|
||||
#endif
|
||||
|
||||
#if __PTX_ISA_VERSION_MINOR__ != 3
|
||||
#error wrong value for __PTX_ISA_VERSION_MINOR__
|
||||
#endif
|
||||
|
||||
#if __PTX_SM__ != 300
|
||||
#error wrong value for __PTX_SM__
|
||||
#endif
|
||||
|
||||
int dummy;
|
Loading…
Add table
Reference in a new issue