https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62208

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-08-26
                 CC|                            |rsandifo at gcc dot gnu.org
            Summary|ICE with LTO on valid code  |ICE with -fwhole-program on
                   |at -O3 on x86_64-linux-gnu  |valid code at -O3 on
                   |in trunc_int_for_mode, at   |x86_64-linux-gnu in
                   |explow.c:56                 |trunc_int_for_mode, at
                   |                            |explow.c:56
     Ever confirmed|0                           |1

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
As it's a single file, does it reproduce with -fwhole-program instead of -flto?
Still can't reproduce in my dev tree (but as usual this may have too many
patches...).  Confirmed on match-and-simplify branch with -fwhole-program.

Needs -march=x86-64 as well.

55        /* You want to truncate to a _what_?  */
56        gcc_assert (SCALAR_INT_MODE_P (mode));

(gdb) p mode
$1 = V4SImode

#4  0x0000000000c1683e in simplify_const_unary_operation (code=NOT, 
    mode=V4SImode, op=0x7ffff66ca470, op_mode=V4SImode)
    at /space/rguenther/src/svn/match-and-simplify/gcc/simplify-rtx.c:1735
1735          return immed_wide_int_const (result, mode);


Likely caused by the wide-int merge.  Richard?

Reply via email to