------- Comment #9 from rguenth at gcc dot gnu dot org 2010-03-11 11:19 ------- + ops_arr[op_num] = build1 (NOP_EXPR, + TREE_TYPE (gimple_assign_lhs + (neg)), + gimple_assign_rhs1 (neg));
you shouldn't need the conversion. Btw, as you do not handle POINTER_PLUS_EXPR to compensate the lack of POINTER_MINUS_EXPR doing the transformation during expansion is bogus. Instead general re-association should do it. My original suggestion was to amend the POINTER_PLUS_EXPR case in expand_expr_real_2 to lookup the TER expression for treeop1 and in case of it being defined as -X dispatch to the MINUS_EXPR expansion. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40815