diff options
author | Tom de Vries <tdevries@suse.de> | 2022-03-29 16:04:09 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2022-03-29 16:16:31 +0200 |
commit | a2eacdbd4c4a698b3b6f27ef5e1f8dd3d836b2e5 (patch) | |
tree | b048248848706ee3d0368274b9744bae56ffcfa1 /gcc/tree.h | |
parent | 1625e893cca658a8df3dea50189c932a7025e223 (diff) | |
download | gcc-a2eacdbd4c4a698b3b6f27ef5e1f8dd3d836b2e5.zip gcc-a2eacdbd4c4a698b3b6f27ef5e1f8dd3d836b2e5.tar.gz gcc-a2eacdbd4c4a698b3b6f27ef5e1f8dd3d836b2e5.tar.bz2 |
[nvptx] Add __PTX_ISA_VERSION_{MAJOR,MINOR}__
Add preprocessor macros __PTX_ISA_VERSION_MAJOR__ and
__PTX_ISA_VERSION_MINOR__.
For the default 6.0, we have:
...
$ echo | cc1 -E -dD - 2>&1 | grep PTX_ISA_VERSION
#define __PTX_ISA_VERSION_MAJOR__ 6
#define __PTX_ISA_VERSION_MINOR__ 0
...
and for 3.1, we have:
...
$ echo | cc1 -mptx=3.1 -E -dD - 2>&1 | grep PTX_ISA_VERSION
#define __PTX_ISA_VERSION_MAJOR__ 3
#define __PTX_ISA_VERSION_MINOR__ 1
...
These can be used to express things like:
...
#if __PTX_ISA_VERSION_MAJOR__ >= 4 && __PTX_ISA_VERSION_MAJOR__ >= 1
/* Code using %dynamic_smem_size. */
#else
/* Fallback code. */
#endif
...
Tested on nvptx.
gcc/ChangeLog:
2022-03-29 Tom de Vries <tdevries@suse.de>
PR target/104857
* config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
__PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
* config/nvptx/nvptx.cc (ptx_version_to_number): New function.
* config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
gcc/testsuite/ChangeLog:
2022-03-29 Tom de Vries <tdevries@suse.de>
PR target/104857
* gcc.target/nvptx/ptx31.c: New test.
* gcc.target/nvptx/ptx60.c: New test.
* gcc.target/nvptx/ptx63.c: New test.
* gcc.target/nvptx/ptx70.c: New test.
Diffstat (limited to 'gcc/tree.h')
0 files changed, 0 insertions, 0 deletions