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 4D10A3857420 for ; Wed, 11 Aug 2021 10:30:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4D10A3857420 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=kernel.crashing.org Authentication-Results: sourceware.org; spf=fail 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 17BATTcO024694; Wed, 11 Aug 2021 05:29:29 -0500 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 17BATSHk024693; Wed, 11 Aug 2021 05:29:28 -0500 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Wed, 11 Aug 2021 05:29:28 -0500 From: Segher Boessenkool To: Bill Schmidt Cc: will schmidt , gcc-patches@gcc.gnu.org, dje.gcc@gmail.com, willschm@linux.ibm.com Subject: Re: [PATCH 05/34] rs6000: Add available-everywhere and ancient builtins Message-ID: <20210811102928.GO1583@gate.crashing.org> References: <54841e0e6324ff041ff9c2c383ec29640dd3f048.1627562851.git.wschmidt@linux.ibm.com> <8eaa8c3af61e4986d71c6dc5160ed36489412dc5.camel@vnet.ibm.com> <20210810173434.GJ1583@gate.crashing.org> <8064ed2a-8909-9414-254c-b812bf46ec24@linux.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <8064ed2a-8909-9414-254c-b812bf46ec24@linux.ibm.com> User-Agent: Mutt/1.4.2.3i X-Spam-Status: No, score=-5.7 required=5.0 tests=BAYES_00, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, TXREP, T_SPF_HELO_PERMERROR, T_SPF_PERMERROR autolearn=no 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: , X-List-Received-Date: Wed, 11 Aug 2021 10:30:32 -0000 On Tue, Aug 10, 2021 at 04:29:10PM -0500, Bill Schmidt wrote: > On 8/10/21 12:34 PM, Segher Boessenkool wrote: > >On Tue, Aug 10, 2021 at 11:17:05AM -0500, will schmidt wrote: > >>On Thu, 2021-07-29 at 08:30 -0500, Bill Schmidt wrote: > >>>+; This will break for long double == _Float128. libgcc history. > >>>+ const long double __builtin_pack_longdouble (double, double); > >>>+ PACK_TF packtf {} > >>Add a few more words to provide bigger hints for future archeological > >>digs? (This is perhaps an obvious issue, but I'd need to do some > >>spelunking) > >It is for __ibm128 only, not for other long double formats (we have > >three: plain double, double double, IEEE QP). So maybe the return type > >should be changed? The name of the builtin of course is unfortunate, > >but it is too late to change :-) > > Yeah...I'm not sure how much flexibility we have here to avoid breaking > code in the field, but it's not a big break because whoever may be using > it has to be assuming long double = __ibm128, and probably has work to > do anyway. We do have an __ibm128 __builtin_pack_ibm128 (double, double); already, so we just should get people to use that one, make it more prominent in the documentation? Or we can also make __builtin_pack_longdouble warn (or even error) if used when long double is not double-double. Maybe an attribute (or what is it called, a {thing} I mean) in the new description files to say "warn (or error) if long double is not ibm128"? > Perhaps I should commit as is for now, and then prepare a separate patch > to change this builtin?  There may be test suite fallout, not sure offhand. Yes, I did approve it already, right? Reviewing these patches I notice things that should be improved, but that does not have to be done *now*, or by you for that matter :-) Cheers, Segher