From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 12121 invoked from network); 31 May 2023 15:37:35 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 31 May 2023 15:37:35 -0000 Received: (qmail 15954 invoked by uid 550); 31 May 2023 15:37:31 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 15917 invoked from network); 31 May 2023 15:37:31 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=date:from:to:cc:subject:message-id:in-reply-to: references:mime-version; bh=rHn2z/ONql7pGFAZMbY/kattLXONHbMxEygvw9Q66Gw=; b=ifGrHcn0sjW8rF1F/SNGi0Cf+lqNlShaQxE1hWpsqtqbtWjBmgHV8kL8 mKXy2OLxOxtJMQuUFrG48AVVJHcqUKeelp85PdQBNGJykzOJlJvTIhs0H fbDwYAmEPIRpQxsbNQ0FYpcehgwMZ6C2WH9HzcRo9WkaghUQQGiuqIBRp o=; Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=jens.gustedt@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.00,207,1681164000"; d="scan'208";a="110550136" Date: Wed, 31 May 2023 17:37:18 +0200 From: =?UTF-8?B?SuKCkeKCmeKCmw==?= Gustedt To: Rich Felker Cc: musl@lists.openwall.com Message-ID: <20230531173718.3d7d499f@inria.fr> In-Reply-To: <20230531151406.GG4163@brightrain.aerifal.cx> References: <1c8e850ed3190af39b9e3f501d79899d438e7292.1685536608.git.Jens.Gustedt@inria.fr> <20230531142743.GB4163@brightrain.aerifal.cx> <20230531163643.2a382b4a@inria.fr> <20230531144128.GD4163@brightrain.aerifal.cx> <20230531165545.29eb823f@inria.fr> <20230531145724.GF4163@brightrain.aerifal.cx> <20230531170700.65bd9c11@inria.fr> <20230531151406.GG4163@brightrain.aerifal.cx> Organization: inria.fr X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) X-Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAAXNSR0IArs4c6QAAACRQTFRFERslNjAsLTE9Ok9wUk9TaUs8iWhSrYZkj42Rz6aD3sGZ MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/_z3kp=H.P_kDwtTgm4zAfdG"; protocol="application/pgp-signature"; micalg=pgp-sha1 Subject: Re: [musl] [C23 128 bit 4/4] C23: implement proper support for int128_t and uint128_t --Sig_/_z3kp=H.P_kDwtTgm4zAfdG Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Rich, on Wed, 31 May 2023 11:14:06 -0400 you (Rich Felker ) wrote: > On Wed, May 31, 2023 at 05:07:00PM +0200, J=E2=82=91=E2=82=99=E2=82=9B Gu= stedt wrote: > > Rich, > >=20 > > on Wed, 31 May 2023 10:57:24 -0400 you (Rich Felker > > ) wrote: > > =20 > > > On Wed, May 31, 2023 at 04:55:45PM +0200, J=E2=82=91=E2=82=99=E2=82= =9B Gustedt wrote: =20 > [...] =20 > [...] =20 > > > [...] =20 > > > [...] =20 > > > [...] =20 > [...] =20 > [...] =20 > [...] =20 > [...] =20 > > >=20 > > > OK, so AIUI based on this exception it's permitted but not > > > required to offer int128_t. =20 > >=20 > > yes > >=20 > > But compilers can never offer it if there is not minimal C library > > support, which we are doing here. This is the only way we found in > > yearlong discussions in WG14 to get us out of this intmax_t ABI > > trap. > >=20 > > For the 128 bit types in particular this answers numerous requests > > by users who want to have these in different contexts and where > > quite frustrated that compilers have these since decades but where > > not able to announce them officially, not even as extended integer > > types. =20 >=20 > OK, well this whole thread/topic then is a request/proposal for > extended functionality, not part of C23 support, and needs to be > considered as such. That's a stretch. It is an optional feature, we implement other optional features. This a feature that the C standard describes and that we are able to provide with relatively low effort. > I'm sorry there seems to have been a misunderstanding here. I'm trying > to understand where you're coming from, and I think now you were > probably looking at the intmax_t situation as if int128_t was > something we wanted to offer, but couldn't because of ABI > requirements. Whereas I was always looking at compounding library > support for larger and larger types as an odious requirement that > intmax_t helped us avoid. >=20 > I *do* think there is demand for being able to compute with > larger-than-int64 integer types, and this is a good thing, but it's a > problem _BitInt solves entirely without imposing any heavy library > requirements. I don't think "printing a 128 bit number in decimal" is > very useful functionality. Hex, maybe, but then 256+ is really what > you would want (for key material etc). I don't think that that particular feature is very useful functionality, we agree on that. It is just part of the catalogue that is needed to claim proper 128 bit support. Other features are probably more useful, such as checked arithmetic and the bit operation interfaces. These also come with C23, but for _BitInt types only if there is a fixed width type with the same width. > I'm sorry for sending you down a road of implementing this stuff in > a way that'd be plausible for inclusion in musl based on a > misunderstanding that it was a requirement for C23 support. This will come in other C libraries, anyhow. And this is not an extension outside the standard. The standard clearly describes how and when this has to be or can be done. Thanks J=E2=82=91=E2=82=99=E2=82=9B --=20 :: ICube :::::::::::::::::::::::::::::: deputy director :: :: Universit=C3=A9 de Strasbourg :::::::::::::::::::::: ICPS :: :: INRIA Nancy Grand Est :::::::::::::::::::::::: Camus :: :: :::::::::::::::::::::::::::::::::::: =E2=98=8E +33 368854536 :: :: https://icube-icps.unistra.fr/index.php/Jens_Gustedt :: --Sig_/_z3kp=H.P_kDwtTgm4zAfdG Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iFwEARECAB0WIQSN9stI2OFN1pLljN0P0+hp2tU34gUCZHdprgAKCRAP0+hp2tU3 4odsAJ9w+gDbJyi/m9wwB+FpnYFY2Yr3zwCYm0+rMvUmUdA6HsGMEN+DVa22oQ== =kyGN -----END PGP SIGNATURE----- --Sig_/_z3kp=H.P_kDwtTgm4zAfdG--