From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id 905C33858D1E for ; Wed, 21 Dec 2022 21:40:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 905C33858D1E 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,263,1665475200"; d="scan'208";a="93829940" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa1.mentor.iphmx.com with ESMTP; 21 Dec 2022 13:40:30 -0800 IronPort-SDR: 1X735TkjdY389IzbfLlPS0Rufvp0GeL59nnE0gQU9e5D2CV4bDN9IIBfANIFEk7ibCHGVPB1lo uSvXNCNqvzNZPT7XdIctZzYr+9R6tXxV5TeVsI3TlcMJBgd9CcvtFnBxjEVymwEkwN4ZgchQUH GkzsayV6ct/nTK22y7hJ6R0JTbk66/Akx+M4NBH42ZJgX4xbn1rOM1oz2EnXhQRDxJ31heB77+ DbnMkL/uQlPsOw132jT7zw4btdg9QMPvN2Xq+f49u7NDSXfKRr7PkL0GTYva30mZORiNTi/ySB Lpk= Date: Wed, 21 Dec 2022 21:40:24 +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: <20221221212407.GU25951@gate.crashing.org> Message-ID: References: <718677e7-614d-7977-312d-05a75e1fd5b4@linux.ibm.com> <20221221212407.GU25951@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-10.mgc.mentorg.com (139.181.222.10) 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 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? I think it's best for the TYPE_PRECISION, for any type with the binary128 format, to be 128 (not 126). It's necessary that _Float128, _Float64x and long double all have the same TYPE_PRECISION when they have the same (binary128) format, or at least that TYPE_PRECISION for _Float128 >= that for long double >= that for _Float64x, so that the rules in c_common_type apply properly. How the TYPE_PRECISION compares to that of __ibm128, or of long double when that's double-double, is less important. -- Joseph S. Myers joseph@codesourcery.com