From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) by sourceware.org (Postfix) with ESMTP id 23E803858D1E for ; Thu, 22 Dec 2022 22:10:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 23E803858D1E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=kernel.crashing.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kernel.crashing.org Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id 2BMM9g4A017956; Thu, 22 Dec 2022 16:09:42 -0600 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 2BMM9fKV017953; Thu, 22 Dec 2022 16:09:41 -0600 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Thu, 22 Dec 2022 16:09:41 -0600 From: Segher Boessenkool To: Joseph Myers 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] Message-ID: <20221222220940.GY25951@gate.crashing.org> References: <718677e7-614d-7977-312d-05a75e1fd5b4@linux.ibm.com> <20221221212407.GU25951@gate.crashing.org> <20221222181811.GV25951@gate.crashing.org> <2ba9c17e-7e5a-cd2d-dc29-a75aff43253d@codesourcery.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <2ba9c17e-7e5a-cd2d-dc29-a75aff43253d@codesourcery.com> User-Agent: Mutt/1.4.2.3i X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,JMQ_SPF_NEUTRAL,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, Dec 22, 2022 at 07:48:28PM +0000, Joseph Myers wrote: > On Thu, 22 Dec 2022, Segher Boessenkool wrote: > > On Wed, Dec 21, 2022 at 09:40:24PM +0000, Joseph Myers wrote: > > > On Wed, 21 Dec 2022, Segher Boessenkool wrote: > > > > 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. They still are separate modes :-( It always is possible to create KFmode entities (via mode((KF)) if nothing else) and those should behave exactly the same as TFmode if TFmode is IEEE QP (just like KFmode always is). > 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). Right, TFmode should be just a different *name* for either IFmode or KFmode (and both of those modes always exist if either does). > If you don't have different modes with the same format, many of > the problems go away. I used to have patches for this. A few problems remained, but this was very long ago, who knows where we stand now. I'll recreate those patches, let's see where that gets us. Thanks for the help, Segher