From nobody Thu Jun 11 01:53:11 2026 X-Original-To: freebsd-ppc@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gbQfF54rBz6hDsG for ; Thu, 11 Jun 2026 01:53:25 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qv1-f51.google.com (mail-qv1-f51.google.com [209.85.219.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gbQfD53bGz40Bn for ; Thu, 11 Jun 2026 01:53:24 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=freebsd.org (policy=none); spf=pass (mx1.freebsd.org: domain of adrian.chadd@gmail.com designates 209.85.219.51 as permitted sender) smtp.mailfrom=adrian.chadd@gmail.com; arc=pass ("google.com:s=arc-20240605:i=1") Received: by mail-qv1-f51.google.com with SMTP id 6a1803df08f44-8ccdf8d4ac5so78693876d6.1 for ; Wed, 10 Jun 2026 18:53:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1781142803; cv=none; d=google.com; s=arc-20240605; b=PYlY3i0gXlzaC7SnsRDX/B11NJo6/uqr19NZ3fyBOXfiEn4kPAwfSW7/A8lI9c9gbv Ac4iEtTdir/N3GQCrFrsP7mNFPjTq//kYFfwBLVRrHgtwHCsC0+svT6dQ5AGLbnouiWA QqKMFHrml9/02/LBDJJqjzc628PqKB99uwv2JQ4YNZ4kA9uwSiP8ZAOKhX3ECEt4f3Gp QAW/h+KlNj7yfnDq2jj37HZi6nggUyVLiVWAh2NL/rrM3wxA23RTUAs1EOFbgB3vsTK1 gbIB/3zJi8RxdY7cSTURTR4DCdCfifpTHLv7nXNknYDD9XO7bxJemOkwyposBAc9U1W7 vyCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=hfbHdQFBQdX2RT2JS5Qa0Swzoz6PUOGDjYn5X6Przbw=; fh=m79KtjqDAQ1WN2aHOXsnEscAa1F2FAXhGNIlhI4DXQM=; b=GxiWtFX8ZvPjRkn6AcJaztNAPKMEOV04zrODRNVpOEjdQb9es8jw447SX/7VeaxnU6 4jZEqBAmgma/ZIY++6707fIS+WWqd3ZN8aaMx3SlFoI/5KfDL56TxbBSnT/kYVFYkHHD W8VUmnlJ2vlPbUAscupwov/5GoXrF0aMvqeJtCwL4XUr/j9xR9wiFvxwlFqwd/ur9GDQ M/LmtQBkk5Qn9SVmYunUoBL0wfgqwkHZwAwf8qad7GoW2NnEKcOBkzItF5fsxESX//Ur 7yyk7pGT/fDg2+vISJBxKKQDykxi8vOXNgYtVaDzpIfn8Chy2VWIbmT00mXJKIXaMrsE pnwg==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781142803; x=1781747603; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=hfbHdQFBQdX2RT2JS5Qa0Swzoz6PUOGDjYn5X6Przbw=; b=VCxeqsOkqcOrvXhqiChH7Hz/SWMD+2Aw9Zj/Ha0R/sxPDA72JZ1lAMvdyeIsc5d5uq pMknKmRMbXO8dOA6Q1ER/W3gVcsPesuclbImjuSzXrzX2dquB60PWjgElk3nCmIRQdoX yR3G8JiP1BRM7XQDBoIdV0p6WamoO2J+v+px55IiBwL/YAF7Kgleuyl5Br/EdnibyOYu nK/eGzQsHPYAoYh0lDgWvg7xsCvP+zD90be31SL/dVbiSO+vXcDdFo5Vl39bNEX7jPiI JJcwYtofrcPn4/s4o94jwCUcPwt/HXbpADk/F7hVD5JIUw/Y1ITMdYGQvrxdhYh8pMLm shEQ== X-Gm-Message-State: AOJu0Yzp4LbXr6oPRfd3JT9QyQwr74sJkPd/EU/nqoNb/lPBbAp/y37g 35WJOK9h/mJzI4QtlwCDL2d5SNekOnAP/Nh/bP6zGTdndRns4zBae2AIjLhrKX/IxJcYIemA/oI 3QjWBBxwprxtduCBF27fnHyEU3IPcnr0= X-Gm-Gg: Acq92OEUP8Gf+Lo8enuf86vr+cN/UA7off+ZkOuoEuGPVFPMvKUkT++1DvPKLoUDe04 Rteo+YoiU8OxqTjg5YvkzvUiayJTP9Ka1uI+w5zVo+5uHDwUMR9lbBillqw0uI6L5xHPatSD3Q6 YOiE6cPNC5flJ1BZJtzwukgZn1NDf3vPsLvX4nQJzzU4rXDdKYJd2hPXut0IEnjQ6SpgZyrvlp3 Xp8GNzaE7jEeMnkPWDhIifZWZAHfVZQ0mY/g1gtJuC35e0maeXOjpK+IzANwfLvOiOj/iADt0M6 SatPZ0TzpAnCdBc7iJL5AYaBwUH2tZs4/XLK4MTotJTLlt4HlJfRJZEdB/WRxSAM2CnlWIYcI+K NLm78GNCZbGZZ8/B6s/2aOQ5TxjsDk6Znd0ilMnYI202ycM22VQbEPMFp3yPg5Nv1Ry40 X-Received: by 2002:ad4:5ba9:0:b0:8ca:2675:8abf with SMTP id 6a1803df08f44-8d1d87306dcmr12979256d6.18.1781142803017; Wed, 10 Jun 2026 18:53:23 -0700 (PDT) List-Id: Porting FreeBSD to the PowerPC List-Archive: https://lists.freebsd.org/archives/freebsd-ppc List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-ppc@freebsd.org Sender: owner-freebsd-ppc@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: In-Reply-To: From: Adrian Chadd Date: Wed, 10 Jun 2026 18:53:11 -0700 X-Gm-Features: AVVi8CdOg_HKydgpsnskho0r7gVi37I8xTJz9E1Oj7kM7VgBkcKVp8w1NKEBwZg Message-ID: Subject: Re: Proposal to switch powerpc64le to IEEE-754 binary128 To: Piotr Kubaj Cc: freebsd-ppc@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-3.57 / 15.00]; ARC_ALLOW(-1.00)[google.com:s=arc-20240605:i=1]; NEURAL_HAM_LONG(-1.00)[-0.999]; NEURAL_HAM_SHORT(-0.98)[-0.976]; NEURAL_HAM_MEDIUM(-0.70)[-0.695]; FORGED_SENDER(0.30)[adrian@freebsd.org,adrianchadd@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; DMARC_POLICY_SOFTFAIL(0.10)[freebsd.org : SPF not aligned (relaxed), No valid DKIM,none]; FREEMAIL_ENVFROM(0.00)[gmail.com]; TO_DN_SOME(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.219.51:from]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_ONE(0.00)[1]; RCPT_COUNT_TWO(0.00)[2]; R_DKIM_NA(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FROM_NEQ_ENVFROM(0.00)[adrian@freebsd.org,adrianchadd@gmail.com]; FROM_HAS_DN(0.00)[]; MISSING_XM_UA(0.00)[]; TAGGED_FROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-ppc@freebsd.org]; MLMMJ_DEST(0.00)[freebsd-ppc@freebsd.org]; RCVD_IN_DNSWL_NONE(0.00)[209.85.219.51:from] X-Spamd-Bar: --- X-Rspamd-Queue-Id: 4gbQfD53bGz40Bn So, a few of us chatted in IRC about it. * The minimum for PPC64LE was POWER7 anyway, right? * There's no easy way to deal with this in library versioning and such, so we should just rip the bandaid off * We can fix the ports as they come up. * people wishing to run stuff built on -15 or earlier should just run a userland jail. so given that! * Please include something to propose to put in UPDATING * Please explain what will happen with all the toolchains in -HEAD (eg all the gcc versions will use the right base type, we won't have gcc compiling a different ABI to llvm21, etc) * Let's figure out when the flag day should be. -adrian On Tue, 2 Jun 2026 at 13:04, Piotr Kubaj wrote: > > Hello, > > as you may know, FreeBSD currently uses 64-bit long double. Since plain > double is also 64-bit, long double actually gives no advantage over > double and is actually the same type. > > However, we can do better, at least on powerpc64le. On Linux with glibc, > many distros have already switched to IEEE-754 binary128, which is > 128-bit long double. On FreeBSD, aarch64 and riscv64 already use 128-bit > long double. > Apart from the arguments "others do it", 128-bit long double provides > obviously better precision - it's analogous to float vs double. > Operations on long doubles are also slower and variables take twice as > much memory, but that's expected of bigger types. > > Upgrades are another issue: LLVM uses different functions for operations > on 64-bit long doubles and on binary128. This means that after upgrades, > software using long doubles will need to be rebuilt. Otherwise, there's > a risk of strange issues. I have verified that bootstraps for all the > major languages work fine (rust, ghc, sbcl, openjdk), but I assume that > some scientific software may have issues. > > The current patchset is at: https://reviews.freebsd.org/D57388 > > Some ports will probably also need to be patched, but that's another > issue. > > If you have some spare system for testing, I recommend a try and a > report, straight "make buildworld installworld" is expected to work. > > I have a powerpc64le VM where it works: > root@ieeeldbl:~ # echo | cc -dM -E - | grep LDBL > #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__ > #define __LDBL_DECIMAL_DIG__ 36 > #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L > #define __LDBL_DIG__ 33 > #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L > #define __LDBL_HAS_DENORM__ 1 > #define __LDBL_HAS_INFINITY__ 1 > #define __LDBL_HAS_QUIET_NAN__ 1 > #define __LDBL_MANT_DIG__ 113 > #define __LDBL_MAX_10_EXP__ 4932 > #define __LDBL_MAX_EXP__ 16384 > #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L > #define __LDBL_MIN_10_EXP__ (-4931) > #define __LDBL_MIN_EXP__ (-16381) > #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L > #define __LDBL_NORM_MAX__ 1.18973149535723176508575932662800702e+4932L > > On a system with the current default, 64-bit long double, the following > will be reported: > root@blackbird:~ # echo | cc -dM -E - | grep LDBL > #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__ > #define __LDBL_DECIMAL_DIG__ 17 > #define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L > #define __LDBL_DIG__ 15 > #define __LDBL_EPSILON__ 2.2204460492503131e-16L > #define __LDBL_HAS_DENORM__ 1 > #define __LDBL_HAS_INFINITY__ 1 > #define __LDBL_HAS_QUIET_NAN__ 1 > #define __LDBL_MANT_DIG__ 53 > #define __LDBL_MAX_10_EXP__ 308 > #define __LDBL_MAX_EXP__ 1024 > #define __LDBL_MAX__ 1.7976931348623157e+308L > #define __LDBL_MIN_10_EXP__ (-307) > #define __LDBL_MIN_EXP__ (-1021) > #define __LDBL_MIN__ 2.2250738585072014e-308L > #define __LDBL_NORM_MAX__ 1.7976931348623157e+308L From nobody Thu Jun 11 06:25:19 2026 X-Original-To: freebsd-ppc@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gbXhF21yDz6hht9 for ; Thu, 11 Jun 2026 06:25:33 +0000 (UTC) (envelope-from g.fischer@r-a-c.de) Received: from server.ah-webhosting.com (server.ah-webhosting.com [88.99.65.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4gbXhC4Xt5z3RWr for ; Thu, 11 Jun 2026 06:25:31 +0000 (UTC) (envelope-from g.fischer@r-a-c.de) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=pass (policy=reject) header.from=r-a-c.de; spf=pass (mx1.freebsd.org: domain of g.fischer@r-a-c.de designates 88.99.65.133 as permitted sender) smtp.mailfrom=g.fischer@r-a-c.de Received: from ggate2 (ip-078-042-216-025.um17.pools.vodafone-ip.de [78.42.216.25]) by server.ah-webhosting.com (Postfix) with ESMTPSA id E5721A020D7 for ; Thu, 11 Jun 2026 08:25:22 +0200 (CEST) Received-SPF: pass (server.ah-webhosting.com: connection is authenticated) Received: by ggate2 with ESMTP id eba058e5 for ; Thu, 11 Jun 2026 06:25:21 +0000 (UTC) Received: from dummy.name; Thu, 11 Jun 2026 08:25:22 +0200 From: "Goetz T. Fischer" To: "freebsd-ppc@freebsd.org" Subject: Re: Proposal to switch powerpc64le to IEEE-754 binary128 X-Mailer: Preside Message-ID: <64A266D8-CB1E-472B-95D4-70E15DEF2190.goodhumans@r-a-c.de> Date: Thu, 11 Jun 2026 08:25:19 +0200 In-Reply-To: References: List-Id: Porting FreeBSD to the PowerPC List-Archive: https://lists.freebsd.org/archives/freebsd-ppc List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-ppc@freebsd.org Sender: owner-freebsd-ppc@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-GoodHumans-SenderId: 6F6606AC-6F6606AC-2 X-Spamd-Result: default: False [-3.74 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.99)[-0.985]; NEURAL_HAM_MEDIUM(-0.96)[-0.960]; DMARC_POLICY_ALLOW(-0.50)[r-a-c.de,reject]; R_SPF_ALLOW(-0.20)[+a:server.ah-webhosting.com]; MIME_GOOD(-0.10)[text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; MID_RHS_MATCH_FROM(0.00)[]; ASN(0.00)[asn:24940, ipnet:88.99.0.0/16, country:DE]; R_DKIM_NA(0.00)[]; MLMMJ_DEST(0.00)[freebsd-ppc@freebsd.org]; RCVD_COUNT_THREE(0.00)[3]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; TO_DN_EQ_ADDR_ALL(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-ppc@freebsd.org]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; ARC_NA(0.00)[] X-Spamd-Bar: --- X-Rspamd-Queue-Id: 4gbXhC4Xt5z3RWr On 11. Jun 2026 at 03:53:11 CEST, Adrian Chadd = wrote: > * The minimum for PPC64LE was POWER7 anyway, right? no, power 8 From nobody Thu Jun 11 08:22:30 2026 X-Original-To: freebsd-ppc@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gbbHN0cJZz6gw5C for ; Thu, 11 Jun 2026 08:22:40 +0000 (UTC) (envelope-from pkubaj@freebsd.org) Received: from mail.anongoth.pl (mail.anongoth.pl [IPv6:2001:470:71:6b::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "anongoth.pl", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gbbHM4Ddfz3gkN; Thu, 11 Jun 2026 08:22:39 +0000 (UTC) (envelope-from pkubaj@freebsd.org) Authentication-Results: mx1.freebsd.org; none Received: by mail.anongoth.pl (Postfix) id 5CB4A64704; Thu, 11 Jun 2026 10:22:31 +0200 (CEST) Date: Thu, 11 Jun 2026 10:22:30 +0200 From: Piotr Kubaj To: Adrian Chadd Cc: freebsd-ppc@freebsd.org Subject: Re: Proposal to switch powerpc64le to IEEE-754 binary128 Message-ID: References: List-Id: Porting FreeBSD to the PowerPC List-Archive: https://lists.freebsd.org/archives/freebsd-ppc List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-ppc@freebsd.org Sender: owner-freebsd-ppc@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="iwpFMAOwhZdB/ivt" Content-Disposition: inline In-Reply-To: X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Queue-Id: 4gbbHM4Ddfz3gkN X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated --iwpFMAOwhZdB/ivt Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 26-06-10 18:53:11, Adrian Chadd wrote: > So, a few of us chatted in IRC about it. >=20 > * The minimum for PPC64LE was POWER7 anyway, right? POWER8. Last I heard, POWER7 has issues with unaligned access, which is vital on LE. All the toolchains assume POWER8 as given on ppc64le. > * There's no easy way to deal with this in library versioning and > such, so we should just rip the bandaid off > * We can fix the ports as they come up. Yes, and there's not much to fix. The good news is that reinstallation won't be necessary, upgrade is just the usual buildworld + installworld. > * people wishing to run stuff built on -15 or earlier should just run > a userland jail. >=20 > so given that! >=20 > * Please include something to propose to put in UPDATING The review at https://reviews.freebsd.org/D57388 includes UPDATING entry. > * Please explain what will happen with all the toolchains in -HEAD (eg > all the gcc versions will use the right base type, we won't have gcc > compiling a different ABI to llvm21, etc) Compilers explicitly using C's long double will need updating. Everything else will work as it is. I have tested bootstraps for Rust, GHC, OpenJDK and SBCL - all of them work. GCC and LLVM will need to be updated though to emit correct long double, otherwise code built with them that also uses long double type will misbehave. I'm also currently playing with ldc and it will also need to be updated. > * Let's figure out when the flag day should be. Since it's CURRENT, people should expect breakages, we can't provide stability there. IMO it's better to do it sooner than later so that more people can test it. If someone doesn't want to upgrade yet, we're not Microsoft, we don't force upgrades. >=20 >=20 >=20 > -adrian >=20 > On Tue, 2 Jun 2026 at 13:04, Piotr Kubaj wrote: > > > > Hello, > > > > as you may know, FreeBSD currently uses 64-bit long double. Since plain > > double is also 64-bit, long double actually gives no advantage over > > double and is actually the same type. > > > > However, we can do better, at least on powerpc64le. On Linux with glibc, > > many distros have already switched to IEEE-754 binary128, which is > > 128-bit long double. On FreeBSD, aarch64 and riscv64 already use 128-bit > > long double. > > Apart from the arguments "others do it", 128-bit long double provides > > obviously better precision - it's analogous to float vs double. > > Operations on long doubles are also slower and variables take twice as > > much memory, but that's expected of bigger types. > > > > Upgrades are another issue: LLVM uses different functions for operations > > on 64-bit long doubles and on binary128. This means that after upgrades, > > software using long doubles will need to be rebuilt. Otherwise, there's > > a risk of strange issues. I have verified that bootstraps for all the > > major languages work fine (rust, ghc, sbcl, openjdk), but I assume that > > some scientific software may have issues. > > > > The current patchset is at: https://reviews.freebsd.org/D57388 > > > > Some ports will probably also need to be patched, but that's another > > issue. > > > > If you have some spare system for testing, I recommend a try and a > > report, straight "make buildworld installworld" is expected to work. > > > > I have a powerpc64le VM where it works: > > root@ieeeldbl:~ # echo | cc -dM -E - | grep LDBL > > #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__ > > #define __LDBL_DECIMAL_DIG__ 36 > > #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L > > #define __LDBL_DIG__ 33 > > #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L > > #define __LDBL_HAS_DENORM__ 1 > > #define __LDBL_HAS_INFINITY__ 1 > > #define __LDBL_HAS_QUIET_NAN__ 1 > > #define __LDBL_MANT_DIG__ 113 > > #define __LDBL_MAX_10_EXP__ 4932 > > #define __LDBL_MAX_EXP__ 16384 > > #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L > > #define __LDBL_MIN_10_EXP__ (-4931) > > #define __LDBL_MIN_EXP__ (-16381) > > #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L > > #define __LDBL_NORM_MAX__ 1.18973149535723176508575932662800702e+4932L > > > > On a system with the current default, 64-bit long double, the following > > will be reported: > > root@blackbird:~ # echo | cc -dM -E - | grep LDBL > > #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__ > > #define __LDBL_DECIMAL_DIG__ 17 > > #define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L > > #define __LDBL_DIG__ 15 > > #define __LDBL_EPSILON__ 2.2204460492503131e-16L > > #define __LDBL_HAS_DENORM__ 1 > > #define __LDBL_HAS_INFINITY__ 1 > > #define __LDBL_HAS_QUIET_NAN__ 1 > > #define __LDBL_MANT_DIG__ 53 > > #define __LDBL_MAX_10_EXP__ 308 > > #define __LDBL_MAX_EXP__ 1024 > > #define __LDBL_MAX__ 1.7976931348623157e+308L > > #define __LDBL_MIN_10_EXP__ (-307) > > #define __LDBL_MIN_EXP__ (-1021) > > #define __LDBL_MIN__ 2.2250738585072014e-308L > > #define __LDBL_NORM_MAX__ 1.7976931348623157e+308L --iwpFMAOwhZdB/ivt Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQJPBAABCAA5FiEEycyIeNkkgohzsoorelmbhSCDnJ0FAmoqcEYbFIAAAAAABAAO bWFudTIsMi41KzEuMTIsMCwyAAoJEHpZm4Ugg5ydkMoP/R695APRsIYELdbywEA3 6xAdY0BfIxzG+iFDRoKlvuNUWaRqX/riujTTmdZbyYIWtLi9OZmKivU+HscAEO6D GLjjJ8mKYeFX36s+oiCddgTKsN+4Xl7ptcx7DodAhwZXEhzApGBromV4CqVg14kP aFxXpO5f+g1+aR79YHFRjdZf68ie95VG82p10AH48drOWjVt4drLSJa/qLuCsYCz u/3feZvxqVShlt5i/xGZcWYKyrQgtEa/8ntzqmmKWJNKoxwUl02vsIVOQz8tiCXU dj0K4u0/9vqzKtnfRwPFjRLPh4bIjNQk8C9giLY/SNF9J825dreO1fKuTK8LvWDf J5JHDXzRhrIsJdTSr+SoogUgNDfvnllqwdJzc7YGPta79tNf4YvS40NFD3VtP/SI GQ7BWFhwOWXxlKrmRXkFNlZ+JrMU0EJLPHq18VsgSjwagwcAZNO1wIvkPNgoPcXy khn2vE4YI+T8gmi9WyHaAPD4qMKWpOfEzdxmVMNIoKq3WjrUEg6bKR4tAPyqRtRI loQOr8nhn3LuwNK+5ZMhQ8Y4ROcoOdAcbx6k9nzI86X1vZ9QwqTd+5vcCZVzunmB iemid57PW2Qzm5hHDvuv0LD3VcA+L/i22dHENLaDW0PgxKAjQZYuWRBPw8wWFNcR bI2M+n/7z5zr2yxxQWYtW2fZ =1PSa -----END PGP SIGNATURE----- --iwpFMAOwhZdB/ivt-- From nobody Thu Jun 11 16:54:09 2026 X-Original-To: freebsd-ppc@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gbpdq2pg7z6hsFH for ; Thu, 11 Jun 2026 16:54:23 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gbpdp5338z4182 for ; Thu, 11 Jun 2026 16:54:22 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qk1-f171.google.com with SMTP id af79cd13be357-9156b74006aso8087985a.0 for ; Thu, 11 Jun 2026 09:54:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1781196862; cv=none; d=google.com; s=arc-20240605; b=ILvo8sEDPyJ5+e8V5xk9siV53LoGRmmJaUOtbEyCo9c5HMrBlLjUETc6c46nd6GFoM 2d5H9A4yqGuH21CHHVpwOlYzymWDmM4NhNeRtnYXQTeZnOkCpCc3lONTXn+0i9SSSGIs uNGJ1ddcmLRD7K/5IqUZg7H2d0K7g3NWCEhv7+aZzrp9gGBfkRAoHhIE6NvYQYV5okUP dD396Fe0R2PyrilKPorTyAmmbH3K1YJgQSRPeaCRysaqQqpu97xRT5ZcXUmF5dUTBtev 2F6u3q5+iF/Nib/GoR0svxvt+D7rKajHRB8pZpeF53k9VftQJfsTGli/eLk3ju40MLlv AaaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=8KWDjgxjkK14YtOseeoefF0cPU6Gh0NcS5voa78XMZw=; fh=m79KtjqDAQ1WN2aHOXsnEscAa1F2FAXhGNIlhI4DXQM=; b=FD3Saw8pgJEF6zUv+lfvZfDrUeQmjycj8xbo+VsyzzeJl9d5OJbKWUVTFL9erwdgcn UwUJtlz+cfwUJQAHCAACByxTySUTdmp+znm4h2RGMRtJ51RPAlxNxK7ALE9CgleUUkt9 HShwkZMpflymbBEVX0Ia6epD/zWvKWl2GMCGRKmuTi0dNkY0+JLNIbkNAZNhyD9LWxQN 8+RRoP5hQYrIssIyHCBy0aXPJMV0CjBYfVa9K7sIvl3CQH+AwZj1TAewJ4Ji2aQbcOju lBQIxt6QoVYZKbQ+nlxOgVq0c7AgaNwsFKGJETpHEpofo9mgUvQTecRm2JN/tSyapIpD AsEQ==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781196862; x=1781801662; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8KWDjgxjkK14YtOseeoefF0cPU6Gh0NcS5voa78XMZw=; b=R7O3xRncoB9wF7cBtG1rWQn+JoJRzGF/4Bp4tfoQuJ/xsQUol8WVYhH0j36JtqG/M3 UQEzCl79XVtRwwg5xPUcJfKD0hyxokow4NN1ao3pDfCEnn+JqG7gthkKDh3CCQNkU3l9 BzUxP+djE73Xn7gYKYzYe6RnhTK1XuiM3uX/hsxME1bJKkWcilXPCLqAe9XQpa0jzWLT XSEhV2uMrNYIe/RkGfZsodyvSbPbk+Wxezvw3IoTmqZKta5c9dZHuBUFfUHvsFKgnhKZ 3sfoCQZlbYsOk57h+xhVOvff1mKZdR0BrGKHu6xpijiRJ6EJlbltRab8aYs1ijhN+AdV y1HA== X-Gm-Message-State: AOJu0YzKLfoT2Jze3E33dPGPBUt+nMIFRuGvxv5ztcy0TLIJr71SUpsO 4I5RhRXjtpiZGvsVIrmue6/mq0TNkANzuscD6kqL92Im6L3Ubn4950WfjOmUNliZc7IVnXx7mJ2 EeLvq4ETRzfWA/G8Gm9eU7iSwb3JDKlQ= X-Gm-Gg: Acq92OEoabuh1hYGHXhDEx21q1MqHicwXBWfTYWBVIfDc6tbIABe3qO8+70MnpbrQZY MaZDUcqylGpQbejl1k8TKURO9AOgR87iHAuWYITA6jin7KGEwn1SBL0/n2a1dD4Zv0Gvu3bqX5K RSitBD51729bANw8mUUsIMz2Y3QF4NDKY4/QRHSSGpCQzDQ8OI1svZd5EFQihWPs/Pz49TmUkEc Zc7zISi8nt1TyQoyiQqbz2bq9nRv09a83XV40fM++A4ykJTA7jym3F8irahbXBUb8VJ1c7U/r2P jxCctU5xEHI3CGqRIzVsJ0wVZ8Gw8Cp5oAZKfPIY4CVLnRAH84nx7Rrs8u3OVJuMcu4pk4UIxI4 7Fi9eKq+4iTRoFVxokFWd1/Mw700= X-Received: by 2002:a05:620a:31aa:b0:915:8076:9e77 with SMTP id af79cd13be357-9160ad40d37mr574016785a.42.1781196861523; Thu, 11 Jun 2026 09:54:21 -0700 (PDT) List-Id: Porting FreeBSD to the PowerPC List-Archive: https://lists.freebsd.org/archives/freebsd-ppc List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-ppc@freebsd.org Sender: owner-freebsd-ppc@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: In-Reply-To: From: Adrian Chadd Date: Thu, 11 Jun 2026 09:54:09 -0700 X-Gm-Features: AVVi8Cel8saQ6IFCn15dpsb0kYqKBuwTq8hqZZLD7RXBkQhyaTmqYfRFbhqAF5I Message-ID: Subject: Re: Proposal to switch powerpc64le to IEEE-754 binary128 To: Piotr Kubaj Cc: freebsd-ppc@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4gbpdp5338z4182 X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On Thu, 11 Jun 2026 at 01:22, Piotr Kubaj wrote: > > On 26-06-10 18:53:11, Adrian Chadd wrote: > > So, a few of us chatted in IRC about it. > > > > * The minimum for PPC64LE was POWER7 anyway, right? > POWER8. Last I heard, POWER7 has issues with unaligned access, which is > vital on LE. All the toolchains assume POWER8 as given on ppc64le. > > * There's no easy way to deal with this in library versioning and > > such, so we should just rip the bandaid off > > * We can fix the ports as they come up. > Yes, and there's not much to fix. The good news is that reinstallation > won't be necessary, upgrade is just the usual buildworld + installworld. > > * people wishing to run stuff built on -15 or earlier should just run > > a userland jail. > > > > so given that! > > > > * Please include something to propose to put in UPDATING > The review at https://reviews.freebsd.org/D57388 includes UPDATING > entry. > > * Please explain what will happen with all the toolchains in -HEAD (eg > > all the gcc versions will use the right base type, we won't have gcc > > compiling a different ABI to llvm21, etc) > Compilers explicitly using C's long double will need updating. > Everything else will work as it is. I have tested bootstraps for Rust, > GHC, OpenJDK and SBCL - all of them work. GCC and LLVM will need to be > updated though to emit correct long double, otherwise code built with > them that also uses long double type will misbehave. I'm also currently > playing with ldc and it will also need to be updated. Ok, can you go investigate GCC and LLVM too? And go, maybe? Does go currently work on ppc64le? > > * Let's figure out when the flag day should be. > Since it's CURRENT, people should expect breakages, we can't provide > stability there. IMO it's better to do it sooner than later so that more > people can test it. If someone doesn't want to upgrade yet, we're not > Microsoft, we don't force upgrades. Hey if you're willing to drive it forward then great! We just need to make sure it gets done enough that we don't end up with half working toolchains in ports. -adrian From nobody Thu Jun 11 21:42:32 2026 X-Original-To: freebsd-ppc@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gbx2T1v4wz6gh08 for ; Thu, 11 Jun 2026 21:42:41 +0000 (UTC) (envelope-from pkubaj@FreeBSD.org) Received: from mail.anongoth.pl (mail.anongoth.pl [IPv6:2001:470:71:6b::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "anongoth.pl", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gbx2S47gpz3w9s; Thu, 11 Jun 2026 21:42:40 +0000 (UTC) (envelope-from pkubaj@FreeBSD.org) Authentication-Results: mx1.freebsd.org; none Received: by mail.anongoth.pl (Postfix) id 5925464DA7; Thu, 11 Jun 2026 23:42:33 +0200 (CEST) Date: Thu, 11 Jun 2026 23:42:32 +0200 From: Piotr Kubaj To: Adrian Chadd Cc: freebsd-ppc@freebsd.org Subject: Re: Proposal to switch powerpc64le to IEEE-754 binary128 Message-ID: References: List-Id: Porting FreeBSD to the PowerPC List-Archive: https://lists.freebsd.org/archives/freebsd-ppc List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-ppc@freebsd.org Sender: owner-freebsd-ppc@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="ocEJ/YwSIXe3Vz2b" Content-Disposition: inline In-Reply-To: X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:6939, ipnet:2001:470::/32, country:US] X-Rspamd-Queue-Id: 4gbx2S47gpz3w9s X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated --ocEJ/YwSIXe3Vz2b Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 26-06-11 09:54:09, Adrian Chadd wrote: > On Thu, 11 Jun 2026 at 01:22, Piotr Kubaj wrote: > > > > On 26-06-10 18:53:11, Adrian Chadd wrote: > > > So, a few of us chatted in IRC about it. > > > > > > * The minimum for PPC64LE was POWER7 anyway, right? > > POWER8. Last I heard, POWER7 has issues with unaligned access, which is > > vital on LE. All the toolchains assume POWER8 as given on ppc64le. > > > * There's no easy way to deal with this in library versioning and > > > such, so we should just rip the bandaid off > > > * We can fix the ports as they come up. > > Yes, and there's not much to fix. The good news is that reinstallation > > won't be necessary, upgrade is just the usual buildworld + installworld. > > > * people wishing to run stuff built on -15 or earlier should just run > > > a userland jail. > > > > > > so given that! > > > > > > * Please include something to propose to put in UPDATING > > The review at https://reviews.freebsd.org/D57388 includes UPDATING > > entry. > > > * Please explain what will happen with all the toolchains in -HEAD (eg > > > all the gcc versions will use the right base type, we won't have gcc > > > compiling a different ABI to llvm21, etc) >=20 > > Compilers explicitly using C's long double will need updating. > > Everything else will work as it is. I have tested bootstraps for Rust, > > GHC, OpenJDK and SBCL - all of them work. GCC and LLVM will need to be > > updated though to emit correct long double, otherwise code built with > > them that also uses long double type will misbehave. I'm also currently > > playing with ldc and it will also need to be updated. >=20 > Ok, can you go investigate GCC and LLVM too? The clang part of our FreeBSD patch will be upstreamed and can be readily backported to our ports. Regarding GCC, there's a configure option for IEEE long double, so we would be modifying just a port's Makefile. >=20 > And go, maybe? Does go currently work on ppc64le? Go doesn't work, there's a ready patch from Raptor that upstream somehow isn't willing to merge. Raptor is apparently working on it. I have no idea whether Raptor's patch will need modifications. >=20 > > > * Let's figure out when the flag day should be. >=20 > > Since it's CURRENT, people should expect breakages, we can't provide > > stability there. IMO it's better to do it sooner than later so that more > > people can test it. If someone doesn't want to upgrade yet, we're not > > Microsoft, we don't force upgrades. >=20 > Hey if you're willing to drive it forward then great! We just need to mak= e sure > it gets done enough that we don't end up with half working toolchains in = ports. Hmmm, I pretty often do bulk port builds anyway, just usually not CURRENT, because with debugging enabled it takes a lot of time (and I prefer to keep it enabled because it's CURRENT). I guess after the switch I'll run CURRENT builds more often. >=20 >=20 >=20 > -adrian >=20 --ocEJ/YwSIXe3Vz2b Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQJPBAABCAA5FiEEycyIeNkkgohzsoorelmbhSCDnJ0FAmorK8UbFIAAAAAABAAO bWFudTIsMi41KzEuMTIsMCwyAAoJEHpZm4Ugg5ydQEIQAKi8OpB9DFYETC05DyzX l1TChor7pcsQ7e94qJcJ49EG6aLaKzJMRgDbRdpaRgjxn7k6a1hxwgueeL5GFD7o iyINOrgBM9plEewZQdP9bJLIOcLaGITK8YfvmyQm5q/KfApANnoEjUgL1bsZzYVF 47gVfFPRmw5DnhCdu3NTMOJxXXohRTiKqQd2tAjIdZ7WwvjLpSUAlVemApcokI95 s/iGhd86J9rrWih4wI6wxfQoFGjYaWq7N4SVJljqsLrkV44HYGbtxH8zldybem3u fUMKR+voC4rzzGqD38x19RR9szb6ngkzFhd6LMXe/vi9IDT9cC9tYkp4gYfuL4uf j52LiSeSyOnsIkKUqJRgNZAlHwbtKfn+PgfNNgJJZcAKGJntLiwF0lUt+OL8nXfb ye9nTh4pFF4BaIYuYR2mAfTID4g4yPZu3rl30kxFrxK0WBPQH6jME3Tliv4Ia1sG SgAXXgWnqZC4gNDJWlgbM/6uuWKPNrSM8iWGJT7WwVFYsAlNuhlNf+ianw/6zybU AOqIP2XwzUK7oM9ocDWima3DoYpnmoQwL51ZoDmmvSX9TL6bRcCRvcFUV+WJ9fDy KOYf/rniS5uM5XFc5Jwm2VlqGoN/Nkn6WUekBYFfryLsdqTJ660gD278jO/piYbL 5sSQZ8s7NaQSduDVk4s43MDA =4Agt -----END PGP SIGNATURE----- --ocEJ/YwSIXe3Vz2b-- From nobody Thu Jun 11 22:01:15 2026 X-Original-To: freebsd-ppc@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gbxSG1jxtz6gjWV for ; Thu, 11 Jun 2026 22:01:34 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qk1-f176.google.com (mail-qk1-f176.google.com [209.85.222.176]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gbxSF4pQkz3wwN for ; Thu, 11 Jun 2026 22:01:28 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-qk1-f176.google.com with SMTP id af79cd13be357-91587626ae1so41444485a.3 for ; Thu, 11 Jun 2026 15:01:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1781215287; cv=none; d=google.com; s=arc-20240605; b=HM2NXgdt1qhYZoCp/+REHcc0Ccc4+ybNCJwRp/Kz4DMKS5sxfmhZVp2Cq0n/WpMiqT Ut1Xgto+d5WgnpmjPSaYBVPEDgrWDWe3EmHIuSZOV8g8pdWfJonqrqYMWXbERRbQw0F/ pkjpjYlzAbb1zznu9BQv00KoF/bAnhsQLozOInNhXXqfFclTabVdGQ8B1nVLoG2jY0f8 YMiJEtdvbEfKizfOozKOnVwae5wiHDFOLiB2Orbzt+HyKrkH2SzNI8oIm69rVJEs48DM KXDg4sHFb2KzB1q4y3PFPAR1Hwkt9tqgx9BWq19dfs0z51ZRQg1dxIfQDs7ZFyfTMi3j o+iw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version; bh=FbkJo4dq2/K2nrc/n3sJLDiGruDIE5QkT+HXJOFhel8=; fh=m79KtjqDAQ1WN2aHOXsnEscAa1F2FAXhGNIlhI4DXQM=; b=EBDT9BxX8fktff/v6p/zNaBRaIDVEvyARqe/v/l4khZ5kG2poUC0vdb/sjo0qIVQEB 1ls1zK07d6T24ZfpNY0zfBEEG/z1PTeN+PPr40gOCjB+Q6uJnRI2q2y2mZ+CfzGc9ugR 2AL71iB3GGucIeWOiO60wxN2Ep2Ly3S6f3vlb47Lx0cK8L8wTbHsuvG8RWGFqLaVWeQ1 uyztUKC10AbABZgkNuvEzmsIthV404LwgjtfaxFJWvEH5/EKZEFHu+8YQWQO1MmORd8j wreFnzSmtQ/jTjbwo0RG+P6q1klror6QPanm0R+5VylMTv/HTk+8cRPaT2GZNgsIqIfg l4Dg==; darn=freebsd.org ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781215287; x=1781820087; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=FbkJo4dq2/K2nrc/n3sJLDiGruDIE5QkT+HXJOFhel8=; b=oUv0JMeT94qtSaHYTOwZLbjB6XleYzMMdt8CKT6bJcVr6bGBs+7wVY2UQscexn94IC Paclx/EVgyxK5y0yqNbdFRTJFrgebQhVL8XxDgLcvCDj7yIdX40Erv4eyAP24fTxmK7p TYmqae4a+jrLcbcvGUDHIxNgtWsGB7MUhAhpnHpBFaIiedf4v1wsDbKL5dCvN2vfFpbF 2HeQMWrp7rRly3m712D640kE3N2QU/uQWTrQNNw4nXaOzVSfghxItL7VNBVwq3VKSajU fj971Rm3LA7RuJ0G981mpm3XJlz6d4CjitymuZAUOTPC3DLrEIq8Wsa/SudGukvkrkPv 55cw== X-Gm-Message-State: AOJu0YwD3c+gj/dlJVdtmamk3f/XJ+U0dLtBR6kXwZNI8jz0iJuil3hW SM7dB7WUQDR65pmAk6HBhPZu4ttP1szo00elb/C4zUp72IyVZTf7vzcEafymsfNoSUKQYu06p92 YZaiV+InCRZZwxPaPMCxZrc7k0uD3iRs= X-Gm-Gg: Acq92OFCSWbPqhXiTxBVrsS1rzVVNehaJhSWrjGizLnpE5bsS+SsLj0HutJ5zSxiY9A NHVse4esfEv6ez4jzUCY5i/oJCpBgG+yEWUoeTzYd9Z+8af3At0ZZPqipuLL4WavSIQ7xoEafme M0YUtIa41nMW+3tHZZsXwQQYNfrXRQ5ASaxOZQnmoWMP+6OHmj62ccK/Ifbai3e7Q6v9f4zk15W bB3Zoky5xp8Wf9QNSp8+McSRVgQeFOwn5X06LqxQQf6yuH2X5pJ3W9xEABd9qnC3FCZDpMh6YTk eUAJgXNbeBaXIzyHISIdI9bWbNCnJdt9a2qW4oTlPORirqe7TRth+xKG1FXeuYDWueJF9V+mw4H GWNhRb0SFssH0i4nKnk9SxZmIHAc= X-Received: by 2002:a05:620a:a2d2:20b0:916:1806:302d with SMTP id af79cd13be357-916180630efmr189262885a.58.1781215286855; Thu, 11 Jun 2026 15:01:26 -0700 (PDT) List-Id: Porting FreeBSD to the PowerPC List-Archive: https://lists.freebsd.org/archives/freebsd-ppc List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-ppc@freebsd.org Sender: owner-freebsd-ppc@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 References: In-Reply-To: From: Adrian Chadd Date: Thu, 11 Jun 2026 15:01:15 -0700 X-Gm-Features: AVVi8CfVwUSUklNFgsqFEA7F6_Hh83IsmA32MAxCCWKa69k2gk_8IR4qL0Cpv7E Message-ID: Subject: Re: Proposal to switch powerpc64le to IEEE-754 binary128 To: Piotr Kubaj Cc: freebsd-ppc@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4gbxSF4pQkz3wwN X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated On Thu, 11 Jun 2026 at 14:42, Piotr Kubaj wrote: > > On 26-06-11 09:54:09, Adrian Chadd wrote: > > On Thu, 11 Jun 2026 at 01:22, Piotr Kubaj wrote: > > > > > > On 26-06-10 18:53:11, Adrian Chadd wrote: > > > > So, a few of us chatted in IRC about it. > > > > > > > > * The minimum for PPC64LE was POWER7 anyway, right? > > > POWER8. Last I heard, POWER7 has issues with unaligned access, which is > > > vital on LE. All the toolchains assume POWER8 as given on ppc64le. > > > > * There's no easy way to deal with this in library versioning and > > > > such, so we should just rip the bandaid off > > > > * We can fix the ports as they come up. > > > Yes, and there's not much to fix. The good news is that reinstallation > > > won't be necessary, upgrade is just the usual buildworld + installworld. > > > > * people wishing to run stuff built on -15 or earlier should just run > > > > a userland jail. > > > > > > > > so given that! > > > > > > > > * Please include something to propose to put in UPDATING > > > The review at https://reviews.freebsd.org/D57388 includes UPDATING > > > entry. > > > > * Please explain what will happen with all the toolchains in -HEAD (eg > > > > all the gcc versions will use the right base type, we won't have gcc > > > > compiling a different ABI to llvm21, etc) > > > > > Compilers explicitly using C's long double will need updating. > > > Everything else will work as it is. I have tested bootstraps for Rust, > > > GHC, OpenJDK and SBCL - all of them work. GCC and LLVM will need to be > > > updated though to emit correct long double, otherwise code built with > > > them that also uses long double type will misbehave. I'm also currently > > > playing with ldc and it will also need to be updated. > > > > Ok, can you go investigate GCC and LLVM too? > The clang part of our FreeBSD patch will be upstreamed and can be > readily backported to our ports. Sweet. > > Regarding GCC, there's a configure option for IEEE long double, so we > would be modifying just a port's Makefile. Sweet. > > > > And go, maybe? Does go currently work on ppc64le? > > Go doesn't work, there's a ready patch from Raptor that upstream somehow > isn't willing to merge. Raptor is apparently working on it. I have no > idea whether Raptor's patch will need modifications. > > > > > > * Let's figure out when the flag day should be. > > > > > Since it's CURRENT, people should expect breakages, we can't provide > > > stability there. IMO it's better to do it sooner than later so that more > > > people can test it. If someone doesn't want to upgrade yet, we're not > > > Microsoft, we don't force upgrades. > > > > Hey if you're willing to drive it forward then great! We just need to make sure > > it gets done enough that we don't end up with half working toolchains in ports. > Hmmm, I pretty often do bulk port builds anyway, just usually not > CURRENT, because with debugging enabled it takes a lot of time (and I > prefer to keep it enabled because it's CURRENT). I guess after the > switch I'll run CURRENT builds more often. Ok. Let's pick a date and give anyone else a chance to speak up before you pull the lever and commit us to the path! -adrian