https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115009
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- For rl78: static scalar_int_mode rl78_addr_space_address_mode (addr_space_t addrspace) { switch (addrspace) { case ADDR_SPACE_GENERIC: return HImode; case ADDR_SPACE_NEAR: return HImode; case ADDR_SPACE_FAR: return SImode; default: gcc_unreachable (); } } So yes it is obvious that address space can have different sizes for pointers ...