https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115999 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Sounds reasonable - btw, this is a quite special case. Do we canonicalize (unsigned)(a < 0) as ((unsigned)a >> 31)?