https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86869
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- #ifndef POINTERS_EXTEND_UNSIGNED gcc_assert (GET_MODE (x) == to_mode || GET_MODE (x) == VOIDmode); return x; #else /* defined(POINTERS_EXTEND_UNSIGNED) */ scalar_int_mode pointer_mode, address_mode, from_mode; rtx temp; So clearly avr has to define POINTERS_EXTEND_UNSIGNED in the correct way and/or the assert needs to be ajdusted for pointer/address_mode of as.