This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/30113] ICE in trunc_int_for_mode



------- Comment #2 from rguenth at gcc dot gnu dot org  2006-12-08 07:37 -------
Confirmed.  Fails with -m32 -O -funswitch-loops.

GNU C version 4.1.2 20061129 (prerelease) (SUSE Linux) (powerpc64-linux-gnu)

#1  0x00000000102be550 in trunc_int_for_mode (c=0, mode=CCmode)
    at ../../gcc41/BUILD/gcc-4.1.2-20061129/gcc/explow.c:54
54        gcc_assert (SCALAR_INT_MODE_P (mode));

#2  0x000000001029dd58 in gen_int_mode (c=0, mode=CCmode)
    at ../../gcc41/BUILD/gcc-4.1.2-20061129/gcc/emit-rtl.c:404
#3  0x00000000105d1394 in simplify_const_binary_operation (code=MINUS,
    mode=CCmode, op0=0x400002ab400, op1=0x400002ab400)
    at ../../gcc41/BUILD/gcc-4.1.2-20061129/gcc/simplify-rtx.c:2573
#4  0x00000000105cb798 in simplify_binary_operation (code=MINUS, mode=CCmode,
    op0=0x400002ab400, op1=0x400002ab400)
    at ../../gcc41/BUILD/gcc-4.1.2-20061129/gcc/simplify-rtx.c:1222
#5  0x00000000105c76e8 in simplify_gen_binary (code=MINUS, mode=CCmode,
    op0=0x400002ab400, op1=0x400002ab400)
    at ../../gcc41/BUILD/gcc-4.1.2-20061129/gcc/simplify-rtx.c:124
#6  0x00000000102c6be0 in implies_p (a=0x40000400540, b=0x400004004e0)
    at ../../gcc41/BUILD/gcc-4.1.2-20061129/gcc/loop-iv.c:1500
#7  0x00000000102c722c in simplify_using_condition (cond=0x400003fd580,
    expr=0xfffffa6ad68, altered=0x0)
    at ../../gcc41/BUILD/gcc-4.1.2-20061129/gcc/loop-iv.c:1651
#8  0x0000000010853148 in unswitch_single_loop (loops=0x10c6fb60,
    loop=0x10c74e80, cond_checked=0x400003fd660, num=2)
    at ../../gcc41/BUILD/gcc-4.1.2-20061129/gcc/loop-unswitch.c:348

(gdb)
#6  0x00000000102c6be0 in implies_p (a=0x40000400540, b=0x400004004e0)
    at ../../gcc41/BUILD/gcc-4.1.2-20061129/gcc/loop-iv.c:1500
1500          if (mode != VOIDmode
(gdb) call debug_rtx (a)
(gt:SI (reg:CC 171)
    (const_int 0 [0x0]))
(gdb) call debug_rtx (b)
(ge:SI (reg:CC 171)
    (const_int 0 [0x0]))

which of course doesn't make sense to ask with

1500          if (mode != VOIDmode
1501              && rtx_equal_p (op1, opb1)
1502              && simplify_gen_binary (MINUS, mode, opb0, op0) ==
const1_rtx)1503            return true;


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rguenth at gcc dot gnu dot
                   |                            |org, rakdver at gcc dot gnu
                   |                            |dot org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2006-12-08 07:37:00
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30113


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]