https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108547
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Here is a slightly better testcase that does not depend on implicit conversion from a function pointer to an integer. int li_4, li_5, us_8; unsigned char func_7_ptr_13, func_7_uc_14; long t; int func_7_uc_10li_19(int); void func_7_ptr_18() { if (li_5) { for (;;) ; short s_15; for (; func_7_uc_14;) { us_8 = 7; for (; us_8; us_8 += 1) lblD2AF1FAB: if (us_8) li_4 = 1; func_7_uc_14 += t; if (func_7_ptr_13 & 1 && (func_7_uc_14 &= func_7_ptr_13)) s_15 %= func_7_uc_10li_19(s_15); } } goto lblD2AF1FAB; }