https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81020
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- This was fixed with r254875. Before that combine was throwing away the masking by 1 and testing against 0, effectively replacing the u32_1 &= 1; u32_0 |= 0 < u32_1; with u32_0 |= u32_1; I'll add the testcase and close.