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.