This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/50762] [4.7 Regression] ICE: in extract_insn, at recog.c:2137 (unrecognizable insn)
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 11 Nov 2011 13:17:41 +0000
- Subject: [Bug target/50762] [4.7 Regression] ICE: in extract_insn, at recog.c:2137 (unrecognizable insn)
- Auto-submitted: auto-generated
- References: <bug-50762-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50762
--- Comment #25 from Uros Bizjak <ubizjak at gmail dot com> 2011-11-11 13:17:41 UTC ---
(In reply to comment #24)
> In fact, except for the address_operand case, the mode checks seem
> to be correct in their actual effect: we either call a standard operator
> and omit the mode check, or else we have the genpred-generated mode check,
> but in conjunction with some match_code test that excludes CONST_INT
> and CONST_DOUBLE anyway.
address_operand is declared as special in std_preds[] table in gensupport.c, so
it doesn't check mode checks. genpreds figures this out and adds mode checks at
the end of non-special predicate that uses address_operand.
All in all, if we want to omit mode checks, we have to declare
lea_address_operand as a special predicate.