From: Tom de Vries Date: Wed, 23 Feb 2022 14:58:59 +0000 (+0100) Subject: [nvptx] Add missing t-omp-device isas X-Git-Tag: basepoints/gcc-13~944 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a046033ea0ba97314265933bc48124574db2d62a;p=thirdparty%2Fgcc.git [nvptx] Add missing t-omp-device isas In t-omp-device we list isas that can be used in omp declare variant like so: ... #pragma omp declare variant (f30) match (device={isa("sm_30")}) ... and in nvptx_omp_device_kind_arch_isa we handle them. Update both to reflect the current list of isas. Tested on x86_64-linux with nvptx accelerator. gcc/ChangeLog: 2022-02-23 Tom de Vries * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle sm_70, sm_75 and sm_80. * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80. Co-Authored-By: Tobias Burnus --- diff --git a/gcc/config/nvptx/nvptx.cc b/gcc/config/nvptx/nvptx.cc index 6f6d592e4621..b9451c2ed090 100644 --- a/gcc/config/nvptx/nvptx.cc +++ b/gcc/config/nvptx/nvptx.cc @@ -6181,7 +6181,13 @@ nvptx_omp_device_kind_arch_isa (enum omp_device_kind_arch_isa trait, if (strcmp (name, "sm_35") == 0) return TARGET_SM35 && !TARGET_SM53; if (strcmp (name, "sm_53") == 0) - return TARGET_SM53; + return TARGET_SM53 && !TARGET_SM70; + if (strcmp (name, "sm_70") == 0) + return TARGET_SM70 && !TARGET_SM75; + if (strcmp (name, "sm_75") == 0) + return TARGET_SM75 && !TARGET_SM80; + if (strcmp (name, "sm_80") == 0) + return TARGET_SM80; return 0; default: gcc_unreachable (); diff --git a/gcc/config/nvptx/t-omp-device b/gcc/config/nvptx/t-omp-device index 8765d9f18810..4228218a4248 100644 --- a/gcc/config/nvptx/t-omp-device +++ b/gcc/config/nvptx/t-omp-device @@ -1,4 +1,4 @@ omp-device-properties-nvptx: $(srcdir)/config/nvptx/nvptx.cc echo kind: gpu > $@ echo arch: nvptx >> $@ - echo isa: sm_30 sm_35 >> $@ + echo isa: sm_30 sm_35 sm_53 sm_70 sm_75 sm_80 >> $@