https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95784
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|tree-optimization |target --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I dont see an issue here. Gcc is avoiding one cmov by doing a sign extend from bit 0 (sal/sar) and an and instruction. Cmov on x86 processors is a bit weird and sometimes slower than using arthematic instructions.