http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51002
--- Comment #2 from Wim Lewis <wiml at hhhh dot org> 2011-11-26 21:02:55 UTC --- I think that would produce correct code, at least. It seems like it would be more efficient for gcc to treat the stack pointer as mode QI on these parts, and promote it to HI when it needs to use it as a general purpose pointer; there's no reason to allocate r29 since it will always contain 0. But that might not be the minimal bugfix.