https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98302
--- Comment #10 from Alex Coplan <acoplan at gcc dot gnu.org> --- Reduced to: int c = 1705; char a; long f = 50887638; unsigned long long *h(unsigned long long *k, unsigned long long *l) { return *k ? k : l; } void aa() {} int main() { long d = f; for (char g = 0; g < (char)c - 10; g += 2) { unsigned long long i = d, j = 4; a = *h(&i, &j) << ((d ? 169392992 : 0) - 169392955LL); } if (a) __builtin_abort(); } which is miscompiled at -O2 -ftree-vectorize or -O3.