https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85029
--- Comment #2 from Vegard Nossum <vegard.nossum at oracle dot com> --- I have another test case which crashes in the same way and thus could be fixed by your patch (I have not tried), but it looks quite different to me: unsigned register a[] = {a - 1 && 1e9};