From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id 279473858425 for ; Thu, 22 Dec 2022 19:48:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 279473858425 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.96,266,1665475200"; d="scan'208";a="90646367" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa4.mentor.iphmx.com with ESMTP; 22 Dec 2022 11:48:34 -0800 IronPort-SDR: zHXo/9KRnWoOmL/kgm5It4EbYXqAK++PKk9TDlnM1kKFZGIotK3dwkZgQTHlU9LrJaeCL0DpxY c+n4cofY5DwLSZBGLIEyjeMqd3n+LEwXOnefZ1bCiMldNOkZP/A7Zm8o8raPJwuDEjm4a8rXpT hssu+Mex5lZT84Hc4wVbhxNVIFz5AaQL9+XueHWvx9329oly0XvKsufsInY2NjK5R3kYqYsyCq Ixc6qVETZMvTSSV1P0dHxGv9vdTkGELE3lTWiVt2I/15mIkID5GmHiZ4Cskvszl36i1gLkeFp3 HbI= Date: Thu, 22 Dec 2022 19:48:28 +0000 From: Joseph Myers To: Segher Boessenkool CC: Kewen.Lin , GCC Patches , Michael Meissner , David Edelsohn , Jakub Jelinek , Peter Bergner , Richard Biener , Richard Sandiford Subject: Re: [RFC/PATCH] Remove the workaround for _Float128 precision [PR107299] In-Reply-To: <20221222181811.GV25951@gate.crashing.org> Message-ID: <2ba9c17e-7e5a-cd2d-dc29-a75aff43253d@codesourcery.com> References: <718677e7-614d-7977-312d-05a75e1fd5b4@linux.ibm.com> <20221221212407.GU25951@gate.crashing.org> <20221222181811.GV25951@gate.crashing.org> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-13.mgc.mentorg.com (139.181.222.13) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-3109.3 required=5.0 tests=BAYES_00,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Thu, 22 Dec 2022, Segher Boessenkool wrote: > Hi! > > On Wed, Dec 21, 2022 at 09:40:24PM +0000, Joseph Myers wrote: > > On Wed, 21 Dec 2022, Segher Boessenkool wrote: > > > > --- a/gcc/tree.cc > > > > +++ b/gcc/tree.cc > > > > @@ -9442,15 +9442,6 @@ build_common_tree_nodes (bool signed_char) > > > > if (!targetm.floatn_mode (n, extended).exists (&mode)) > > > > continue; > > > > int precision = GET_MODE_PRECISION (mode); > > > > - /* Work around the rs6000 KFmode having precision 113 not > > > > - 128. */ > > > > > > It has precision 126 now fwiw. > > > > > > Joseph: what do you think about this patch? Is the workaround it > > > removes still useful in any way, do we need to do that some other way if > > > we remove this? > > You didn't address these questions. We don't see negative effects from > removing this workaround, but it isn't clear (to me) what problems were > there that caused you to do this workaround. Do you remember maybe? Or > can we just delete it and try to forget such worries :-) The purpose was to ensure that _Float128's TYPE_PRECISION was at least as large as that of long double, in the case where they both have binary128 format. I think at that time, in GCC 7, it was possible for _Float128 to be KFmode and long double to be TFmode, with those being different modes with the same format. In my view, it would be best not to have different modes with the same format - not simply ensure types with the same format have the same mode, but avoid multiple modes with the same format existing in the compiler at all. That is, TFmode should be the same mode as one of KFmode and IFmode (one name should be defined as a macro for the other name, or something similar). If you don't have different modes with the same format, many of the problems go away. -- Joseph S. Myers joseph@codesourcery.com