[Bug rtl-optimization/52170] [4.7 Regression] ICE in trunc_int_for_mode, at explow.c:57 during simplify_plus_minus

2012-02-08 Thread rguenth at gcc dot gnu.org
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.


[Bug rtl-optimization/52170] [4.7 Regression] ICE in trunc_int_for_mode, at explow.c:57 during simplify_plus_minus

2012-02-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52170

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-08 
11:46:35 UTC ---
There are some missed optimizations in simplify-rtx.c, obvious if you look
at uses of const*_rtx.


[Bug rtl-optimization/52170] [4.7 Regression] ICE in trunc_int_for_mode, at explow.c:57 during simplify_plus_minus

2012-02-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52170

--- Comment #6 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-08 
13:29:28 UTC ---
Author: rguenth
Date: Wed Feb  8 13:29:22 2012
New Revision: 184007

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=184007
Log:
2012-02-08  Richard Guenther  rguent...@suse.de

PR rtl-optimization/52170
* simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
properly handle integer vector modes.

* gcc.dg/torture/pr52170.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr52170.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/simplify-rtx.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/52170] [4.7 Regression] ICE in trunc_int_for_mode, at explow.c:57 during simplify_plus_minus

2012-02-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52170

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-08 
13:29:43 UTC ---
Fixed.