https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114755
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2024-04-17
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
Status|UNCONFIRMED |ASSIGNED
Ever confirmed|0 |1
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 57974
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=57974&action=edit
gcc14-pr114755.patch
Lightly tested fix so far.
In these problematic cases, we ended up after negation with 0 as most
significant limb of v2 and used __builtin_clz* on that. On x86_64 that
returned 64 and kind of worked right after triggering UB several times, but on
aarch64 it returned 63 and misbehaved with the result.