https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67295
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |law at gcc dot gnu.org --- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- At the RTL level, it would be nice if REE optimized away at least the redundant zero extension, thus change: cmp r1, #0 rev16ne r0, r0 uxthne r0, r0 .L2: sxth r0, r0 b foos16 to cmp r1, #0 rev16ne r0, r0 .L2: sxth r0, r0 b foos16 but it seems ARM doesn't enable REE at all. Or should some other pass handle that case?