This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/55838] [4.6/4.7/4.8 Regression] ICE in extract_insn (unrecognizable insn) with -O -funroll-loops
- From: "steven at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 01 Jan 2013 20:44:12 +0000
- Subject: [Bug rtl-optimization/55838] [4.6/4.7/4.8 Regression] ICE in extract_insn (unrecognizable insn) with -O -funroll-loops
- Auto-submitted: auto-generated
- References: <bug-55838-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55838
--- Comment #8 from Steven Bosscher <steven at gcc dot gnu.org> 2013-01-01 20:44:12 UTC ---
I would expect the insn to match the movqi_internal insn:
(define_insn "*movqi_internal"
[(set (match_operand:QI 0 "nonimmediate_operand" "=q,q ,q ,r,r ,?r,m")
(match_operand:QI 1 "general_operand" " q,qn,qm,q,rn,qm,qn"))]
"!(MEM_P (operands[0]) && MEM_P (operands[1]))"
But (const_int 129) isn't a general_operand:
#3 0x0000000000997327 in extract_insn (insn=0x7ffff6c85870) at
../../trunk/gcc/recog.c:2152
2152 fatal_insn_not_found (insn);
(gdb) p debug_rtx(insn)
(insn 93 92 94 3 (set (reg:QI 127)
(const_int 129 [0x81])) -1
(nil))
$34 = void
(gdb) p debug_rtx(PATTERN(insn))
(set (reg:QI 127)
(const_int 129 [0x81]))
$35 = void
(gdb) p debug_rtx(SET_DEST (PATTERN(insn)))
(reg:QI 127)
$36 = void
(gdb) p debug_rtx(SET_SRC (PATTERN(insn)))
(const_int 129 [0x81])
$37 = void
(gdb) p nonimmediate_operand(SET_DEST (PATTERN(insn)),QImode)
$38 = 1
(gdb) p general_operand(SET_SRC (PATTERN(insn)),QImode)
$39 = 0
(gdb)