[Bug 297112] Please cherry-pick b23ba298 to CURRENT to fix math/p5-PDL on powerpc64le with IEEE ldbl
[email protected] Tue, 28 Jul 2026 07:20:05 +0000
| Newsgroups | gmane.os.freebsd.bugs |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D297112
Bug ID: 297112
Summary: Please cherry-pick b23ba298 to CURRENT to fix
math/p5-PDL on powerpc64le with IEEE ldbl
Product: Base System
Version: CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Only Me
Priority: ---
Component: bin
Assignee: [email protected]
Reporter: [email protected]
On powerpc64le with IEEE-128 long double, clang aborts while compiling
ports that test a long double for NaN -- e.g. math/p5-PDL's anyval_isbad:
Assertion failed: (Legalized && "Can't legalize BR_CC with legal
condition!"), function ExpandNode, LegalizeDAG.cpp
At -O2 the source pattern "fcmp uno x, 0.0 || fcmp uno y, 0.0" is left as
two unordered f128 compares feeding a logical or. SelectionDAG lowers
that to a SETCC + BrCond which the PowerPC legalizer turns into an
illegal f128 BR_CC it cannot expand, hence the assert.
Upstream b23ba298 teaches InstCombine to fold the pair into a single
"fcmp uno x, y" (freezing the second operand for poison safety), so the
optimizer no longer emits the crashing shape. The PowerPC backend
legalizer bug itself remains latent.
--=20
You are receiving this mail because:
You are the assignee for the bug.=