http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52838
--- Comment #5 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2012-04-05 16:16:41 UTC --- > Can we somehow keep the knowledge that it is a zero-extended 32-bit value? > It is useful for encoding purpose. After combine has run, this seems hard. So the easiest approach might be to disable the combination by tweaking the costs at -Os.