-
- Downloads
[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.
Showing
- gcc/config/nvptx/nvptx-c.cc 9 additions, 0 deletionsgcc/config/nvptx/nvptx-c.cc
- gcc/config/nvptx/nvptx-protos.h 1 addition, 0 deletionsgcc/config/nvptx/nvptx-protos.h
- gcc/config/nvptx/nvptx.cc 22 additions, 0 deletionsgcc/config/nvptx/nvptx.cc
- gcc/testsuite/gcc.target/nvptx/ptx31.c 10 additions, 0 deletionsgcc/testsuite/gcc.target/nvptx/ptx31.c
- gcc/testsuite/gcc.target/nvptx/ptx60.c 10 additions, 0 deletionsgcc/testsuite/gcc.target/nvptx/ptx60.c
- gcc/testsuite/gcc.target/nvptx/ptx63.c 10 additions, 0 deletionsgcc/testsuite/gcc.target/nvptx/ptx63.c
- gcc/testsuite/gcc.target/nvptx/ptx70.c 10 additions, 0 deletionsgcc/testsuite/gcc.target/nvptx/ptx70.c
Loading
Please register or sign in to comment