https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85636
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I don't see this on the trunk: _1 = (long unsigned int) i_31; _2 = _1 * 4; _3 = c_11(D) + _2; v_12 = *_3; _6 = a_15(D) + _2; iftmp.1_8 = v_12 == 20 ? y_13(D) : x_14(D); _26 = v_12 != 20 ? y_13(D) : x_14(D); *_6 = _26; _5 = b_17(D) + _2; *_5 = iftmp.1_8; i_19 = i_31 + 1; ivtmp_28 = ivtmp_23 - 1;