http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50955
--- Comment #15 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #14) > 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]). Before IV-OPTS I have this use: i.17_13 = (sizetype) i_52; D.13668_14 = i.17_13 + -1; D.13669_15 = D.13668_14 * 4; D.13670_16 = D.13666_12 + D.13669_15; att_17 = *D.13670_16; But we decided that it was not used as an address here though. We have: (gdb) p *use->iv $15 = {base = 0x7ffff77e1c60, base_object = 0x0, step = 0x7ffff77e1c60, ssa_name = 0x0, biv_p = 0 '\000', have_use_for = 1 '\001', use_id = 0} (gdb) p *use $16 = {id = 3, type = USE_NONLINEAR_EXPR, iv = 0x1376bb0, stmt = 0x7ffff727c780, op_p = 0x0, related_cands = 0x0, n_map_members = 10, cost_map = 0x13de580, selected = 0x0}