http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52170
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code Status|NEW |ASSIGNED Known to work| |4.6.3 AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org |gnu.org | Target Milestone|--- |4.7.0 Summary|ICE in trunc_int_for_mode, |[4.7 Regression] ICE in |at explow.c:57 during |trunc_int_for_mode, at |simplify_plus_minus |explow.c:57 during | |simplify_plus_minus --- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-02-08 11:44:20 UTC --- Like Index: simplify-rtx.c =================================================================== --- simplify-rtx.c (revision 183997) +++ simplify-rtx.c (working copy) @@ -3947,7 +3947,7 @@ simplify_plus_minus (enum rtx_code code, /* ~a -> (-a - 1) */ if (n_ops != 7) { - ops[n_ops].op = constm1_rtx; + ops[n_ops].op = CONSTM1_RTX (GET_MODE (this_op)); ops[n_ops++].neg = this_neg; ops[i].op = XEXP (this_op, 0); ops[i].neg = !this_neg; Mine.