https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64600
--- Comment #11 from ktkachov at gcc dot gnu.org --- (In reply to rsand...@gcc.gnu.org from comment #10) > (In reply to ktkachov from comment #8) > > The ICE is in the wide-int bit_and code when trying to process the rtx: > > > > (and:SI > > (const_int 4294963215 [0xfffff00f]) > > (const_int 4111 [0x100f]) > > ) > > > > In particular it seems to have problems constructing a wide-int for > > (const_int 4294963215 [0xfffff00f]) > > Yeah, that isn't a valid SImode const_int. It needs to be sign-extended > rather than zero-extended from bit 31. Thanks, I think I've tracked down the source of it in expand. In particular arm_gen_constant during constant splitting from the andsi3 pattern. Some bit twiddling goes wrong. I'll have a closer look