http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50955
--- Comment #14 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I am running into a similar situation with a modified 4.7 on mips64-linux-gnu (configured to use the Octeon2 instructions which has a load instruction which does base+index [or rather reg+reg]). <bb 3>: D.14164_68 = attr_widths_19(D) + 4; ivtmp.70_72 = (unsigned int) D.14164_68; <bb 4>: # tuple_width_54 = PHI <tuple_width_1(13), 0(3)> # i_52 = PHI <i_39(13), 1(3)> # ivtmp.70_70 = PHI <ivtmp.70_69(13), ivtmp.70_72(3)> D.13665_11 = rel_7(D)->rd_att; D.13666_12 = D.13665_11->attrs; D.14165_73 = (sizetype) attr_widths_19(D); D.14166_74 = -4 - D.14165_73; D.14167_75 = D.14166_74 + ivtmp.70_70; D.13670_16 = D.13666_12 + D.14167_75; att_17 = *D.13670_16; D.13671_18 = att_17->attisdropped; if (D.13671_18 != 0) goto <bb 13>; else goto <bb 5>;