http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54211
--- Comment #4 from William J. Schmidt <wschmidt at gcc dot gnu.org> 2012-08-10 01:14:41 UTC --- The following patch is tested and awaiting approval: Index: gcc/gimple-ssa-strength-reduction.c =================================================================== --- gcc/gimple-ssa-strength-reduction.c (revision 190260) +++ gcc/gimple-ssa-strength-reduction.c (working copy) @@ -2534,7 +2534,7 @@ analyze_candidates_and_replace (void) /* Determine whether we'll be generating pointer arithmetic when replacing candidates. */ address_arithmetic_p = (c->kind == CAND_ADD - && POINTER_TYPE_P (TREE_TYPE (c->base_expr))); + && POINTER_TYPE_P (c->cand_type)); /* If all candidates have already been replaced under other interpretations, nothing remains to be done. */