http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60300
--- Comment #5 from Matthijs Kooijman <matthijs at stdin dot nl> --- Ah, then the comments are a bit misleading, yes. Wouldn't it make sense to put this decision outside of avr_sp_immediate_operand, in the same area where the decision between the two options is made? Might lead to a bit of duplication, though, it seems the function is callled twice. In any case, from a user perspective, it surprises me that this exception is made, even when compiling with -Os. Wouldn't it make sense to ignore the range check with -Os? Or is -Os really only used to determine the list of optimizations to (not) run and not supposed to influence the behaviour of the compiler otherwise?