https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102681
--- Comment #12 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So this is definitely a bad interaction between complete unrolling where we had: for (unsigned int i = 1; i < 2; i++) if (this->coeffs[1] != 0) return false; And jump threading. I am still reducing the testcase but at least I figured out this part of it.