http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49799
Mikael Pettersson <mikpe at it dot uu.se> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikpe at it dot uu.se --- Comment #1 from Mikael Pettersson <mikpe at it dot uu.se> 2011-07-21 11:10:45 UTC --- gcc-4.5.3 and gcc-4.4.6 also generate the invalid sbfx, gcc-4.3.6 appears to work and generates foo: ldrsh r3, [r0, #0] mvn r2, #0 mov r3, r3, asl r2 cmp r2, r3, asr #16 movgt r3, #0 @ movhi strgth r3, [r0, #0] @ movhi bx lr