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>;