"Paulo J. Matos" <pocma...@gmail.com> writes: >> Without splitting HI the moves will disappear, try -fno-split-wide-types. >> > > It does work! It's enabled by -O1, maybe it should be disabled by -Os > if it improves the code size consistently.
-fsplit-wide-types is an improvement on most targets, in which ints and pointers have the size UNITS_PER_WORD. On AVR that appears not to be the case, and it seems possible that AVR should set flag_split_wide_types to 0 in TARGET_OPTION_OPTIMIZATION_TABLE. Ian