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 rtl-optimization/24257] [4.1/4.2 Regression] ICE: in extract_insn with -O -fgcse -fgcse-sm



------- Comment #12 from steven at gcc dot gnu dot org  2006-01-08 00:45 -------
I looked at what is going on here with "GNU C version 4.1.0 20060107
(prerelease) (x86_64-unknown-linux-gnu)"

We produce the invalid insn in replace_store_insn, where we have:
(gdb) p debug_rtx(del)
(insn 19 17 21 0 (parallel [
            (set (mem/s:SI (reg/v/f:DI 63 [ s ]) [3 <variable>.buf+0 S4 A32])
                (ashift:SI (mem/s:SI (reg/v/f:DI 63 [ s ]) [3 <variable>.buf+0
S4 A32])
                    (subreg:QI (reg/v:SI 64 [ n ]) 0)))
            (clobber (reg:CC 17 flags))
        ]) 413 {*ashlsi3_1} (nil)
    (nil))

gen_move_insn is used to produce a move for this:
replace_store_insn (reg=0x2aaaaafcc000, del=0x2aaaaafc73c0, bb=0x2aaaaafb9780,
    smexpr=0xcdae70) at gcse.c:6296
6296      mem = smexpr->pattern;
(gdb) p debug_rtx(del)
(insn 19 17 21 0 (parallel [
            (set (mem/s:SI (reg/v/f:DI 63 [ s ]) [3 <variable>.buf+0 S4 A32])
                (ashift:SI (mem/s:SI (reg/v/f:DI 63 [ s ]) [3 <variable>.buf+0
S4 A32])
                    (subreg:QI (reg/v:SI 64 [ n ]) 0)))
            (clobber (reg:CC 17 flags))
        ]) 413 {*ashlsi3_1} (nil)
    (nil))
$8 = void
(gdb) next
6297      insn = gen_move_insn (reg, SET_SRC (single_set (del)));
(gdb) p debug_rtx(mem)
(mem/s:SI (reg/v/f:DI 63 [ s ]) [3 <variable>.buf+0 S4 A32])
$9 = void
(gdb) next
6298      insn = emit_insn_after (insn, del);
(gdb) p debug_rtx(insn)
(insn 57 0 0 (set (reg:SI 65)
        (ashift:SI (mem/s:SI (reg/v/f:DI 63 [ s ]) [3 <variable>.buf+0 S4 A32])
            (subreg:QI (reg/v:SI 64 [ n ]) 0))) -1 (nil)
    (nil))
$10 = void
(gdb) p recog_memoized (insn)
$11 = -1


-- 


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



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