From 9d87ad0ca5cd18807546a081e7d539be8b5418bf Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Fri, 25 Feb 2022 16:11:23 +0100 Subject: [nvptx] Add -mptx=_ Add an -mptx=_ value, that indicates the default ptx version. It can be used to undo an explicit -mptx setting, so this: ... $ gcc test.c -mptx=3.1 -mptx=_ ... has the same effect as: ... $ gcc test.c ... Tested on nvptx. gcc/ChangeLog: 2022-02-28 Tom de Vries * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_default. * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle PTX_VERSION_default. * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default. --- gcc/config/nvptx/nvptx-opts.h | 1 + gcc/config/nvptx/nvptx.cc | 3 ++- gcc/config/nvptx/nvptx.opt | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) (limited to 'gcc') diff --git a/gcc/config/nvptx/nvptx-opts.h b/gcc/config/nvptx/nvptx-opts.h index e918d43..30852b6 100644 --- a/gcc/config/nvptx/nvptx-opts.h +++ b/gcc/config/nvptx/nvptx-opts.h @@ -32,6 +32,7 @@ enum ptx_isa enum ptx_version { + PTX_VERSION_default, PTX_VERSION_3_0, PTX_VERSION_3_1, PTX_VERSION_4_2, diff --git a/gcc/config/nvptx/nvptx.cc b/gcc/config/nvptx/nvptx.cc index b9451c2..7862a90 100644 --- a/gcc/config/nvptx/nvptx.cc +++ b/gcc/config/nvptx/nvptx.cc @@ -296,7 +296,8 @@ sm_version_to_string (enum ptx_isa sm) static void handle_ptx_version_option (void) { - if (!OPTION_SET_P (ptx_version_option)) + if (!OPTION_SET_P (ptx_version_option) + || ptx_version_option == PTX_VERSION_default) { ptx_version_option = default_ptx_version_option (); return; diff --git a/gcc/config/nvptx/nvptx.opt b/gcc/config/nvptx/nvptx.opt index 9776c3b..f555ad1 100644 --- a/gcc/config/nvptx/nvptx.opt +++ b/gcc/config/nvptx/nvptx.opt @@ -94,6 +94,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(_) Value(PTX_VERSION_default) + mptx= Target RejectNegative ToLower Joined Enum(ptx_version) Var(ptx_version_option) Specify the version of the ptx version to use. -- cgit v1.1