http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58595
--- Comment #5 from Meador Inge <meadori at codesourcery dot com> --- Created attachment 32253 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=32253&action=edit Work in progress patch. Yeah, I am came to the same conclusion after making that comment that removing the asserts is a bogus approach. Although, my follow up approach is a little different. I was trying to replicate what we currently have in the 'movsi' pattern (see attached). This seems to work for the basic tests I have tried. This patch is lightly tested, is obviously in need of cleanup (since it duplicates code), and doesn't cover the thumb case. I am just posting it for discussion purposes. Are we guaranteed to always have the const plus form? Or do we need to be more general like in the patch I attached?