http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53988
--- Comment #1 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-09-03 10:01:46 UTC --- Omitting the sign/zero extensions is not safe for calculated QImode / HImode values, only after the extending loads. However, I guess it would still be a little bit better to do something like: <r5 calculated somehow> <r6 calculated somehow> extu.b r5,r1 ! zero-extend only one operand tst r1,r6 bf .Lsomething This would at least reduce R0 pressure.