From patchwork Tue Dec 21 11:33:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Stubbs X-Patchwork-Id: 49142 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6F8F9385802E for ; Tue, 21 Dec 2021 11:33:37 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id 13CAA3858C2C for ; Tue, 21 Dec 2021 11:33:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 13CAA3858C2C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com IronPort-SDR: dCH2k0xfHEx1ABJDH3THn4tFS4E0UF+cHHQgBQg8H8J/vzHM8wfYhMphyzZ+ahBcmVwdm1o6JT 8rI9gimPIC4n7hGfsNeLDznI52IVQAAmxmtKvbaacdUH1GiWGOqLTDPn9+V3j6seI91SKagZ48 y8GobHuhzLEN1Uowu43dt12TWBqTLY2Nm67f4a4p8dbFjduXsrv7xs8bdDodRGkFvLjYaXbamz oYbbFbctryda9Imf3yZEKR9F3bsWBuZgnQNTAfDzjFoNNYd93HpW8qyn4o2pkDpxN8JMX6kFgM O/u/JfkB01d62NxqCHf02yV+ X-IronPort-AV: E=Sophos;i="5.88,223,1635235200"; d="scan'208";a="69970471" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 21 Dec 2021 03:33:20 -0800 IronPort-SDR: ff+k8OuhomJBzC3cCAmwQnrXswboBq+h7FxP2i8hcGNkrMKbnjrWBIvQmw70qtxK5uHUuOivXk 9i+uKQOqHTPsQ64Xzh9Mz+XbJRJmLXf6QeXpzbPmqBop9AD8kmhRR+tonibae7bg+lujTAmp2W PfI0uUTEsY6kmjFrQK3j22riKzdYo/U3J6HpdUDLDUqLo7XgZiHu42MVor3+mGpqRsKLFIAZwB 1oePVBoRpeZp6ObQRYaSK8xaWz1KYL4QNMoaB6O57sCPpxr3pX3IcQx/sjZ9VrdAMDz5m0F8K3 wEQ= Message-ID: <8b5136c0-2d30-8838-e870-78609f3885e6@codesourcery.com> Date: Tue, 21 Dec 2021 11:33:13 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.4.0 Subject: [PATCH] nvptx: bump default to PTX 4.1 Content-Language: en-GB From: Andrew Stubbs To: "gcc-patches@gcc.gnu.org" References: <25ad524d-f0d6-1970-b8e9-9b11b6cde68b@codesourcery.com> In-Reply-To: <25ad524d-f0d6-1970-b8e9-9b11b6cde68b@codesourcery.com> X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-14.mgc.mentorg.com (139.181.222.14) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, KAM_NUMSUBJECT, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" On 20/12/2021 15:58, Andrew Stubbs wrote: > In order to support the %dynamic_smem_size PTX feature is is necessary > to bump the minimum supported PTX version from 3.1 (~2013) to 4.1 (~2014). Tobias has pointed out, privately, that the default version is both documented and encoded in the -mptx option, so I need to fix that too. This patch adds -mptx=4.1, sets it as the default, and updates the documentation accordingly. The -mptx=3.1 option is kept for backwards compatibility as an alias for 4.1. There's no point in actually allowing 3.1 as any program linked against libgomp will fail (and that's all offloading programs). OK for stage 1? Andrew nvptx: bump default to PTX 4.1 gcc/ChangeLog: * config/nvptx/nvptx-opts.h (ptx_version): Change PTX_VERSION_3_1 to PTX_VERSION_4_1. * config/nvptx/nvptx.c (nvptx_file_start): Bump minimum PTX version to 4.1. * config/nvptx/nvptx.opt (ptx_version): Add 4.1. Change default. doc/invoke.texi: -mptx default is now 4.1. diff --git a/gcc/config/nvptx/nvptx-opts.h b/gcc/config/nvptx/nvptx-opts.h index 7b6ecd42fed..c7fcf1c8cd4 100644 --- a/gcc/config/nvptx/nvptx-opts.h +++ b/gcc/config/nvptx/nvptx-opts.h @@ -31,7 +31,7 @@ enum ptx_isa enum ptx_version { - PTX_VERSION_3_1, + PTX_VERSION_4_1, PTX_VERSION_6_3, PTX_VERSION_7_0 }; diff --git a/gcc/config/nvptx/nvptx.c b/gcc/config/nvptx/nvptx.c index ff44d9fdbef..9bc26d7de0c 100644 --- a/gcc/config/nvptx/nvptx.c +++ b/gcc/config/nvptx/nvptx.c @@ -5409,7 +5409,7 @@ nvptx_file_start (void) else if (TARGET_PTX_6_3) fputs ("\t.version\t6.3\n", asm_out_file); else - fputs ("\t.version\t3.1\n", asm_out_file); + fputs ("\t.version\t4.1\n", asm_out_file); if (TARGET_SM80) fputs ("\t.target\tsm_80\n", asm_out_file); else if (TARGET_SM75) diff --git a/gcc/config/nvptx/nvptx.opt b/gcc/config/nvptx/nvptx.opt index 1d88ef18d04..9e6a6a7fbff 100644 --- a/gcc/config/nvptx/nvptx.opt +++ b/gcc/config/nvptx/nvptx.opt @@ -79,8 +79,12 @@ Enum Name(ptx_version) Type(int) Known PTX versions (for use with the -mptx= option): +; Keep 3.1 for backwards compatibility only EnumValue -Enum(ptx_version) String(3.1) Value(PTX_VERSION_3_1) +Enum(ptx_version) String(3.1) Value(PTX_VERSION_4_1) + +EnumValue +Enum(ptx_version) String(4.1) Value(PTX_VERSION_4_1) EnumValue Enum(ptx_version) String(6.3) Value(PTX_VERSION_6_3) @@ -89,5 +93,5 @@ EnumValue Enum(ptx_version) String(7.0) Value(PTX_VERSION_7_0) mptx= -Target RejectNegative ToLower Joined Enum(ptx_version) Var(ptx_version_option) Init(PTX_VERSION_3_1) +Target RejectNegative ToLower Joined Enum(ptx_version) Var(ptx_version_option) Init(PTX_VERSION_4_1) Specify the version of the ptx version to use. diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 37836a7d614..92f0da62a2b 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -27056,8 +27056,8 @@ strings must be lower-case. Valid ISA strings include @samp{sm_30} and @item -mptx=@var{version-string} @opindex mptx Generate code for given the specified PTX version (e.g.@: @samp{6.3}). -Valid version strings include @samp{3.1} and @samp{6.3}. The default PTX -version is 3.1. +Valid version strings include @samp{4.1} and @samp{6.3}. The default PTX +version is 4.1. @item -mmainkernel @opindex mmainkernel