http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50832
Bug #: 50832 Summary: Strange ix86_attr_length_immediate_default Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com CC: ubiz...@gmail.com ix86_attr_length_immediate_default has int ix86_attr_length_immediate_default (rtx insn, bool shortform) { int len = 0; int i; extract_insn_cached (insn); for (i = recog_data.n_operands - 1; i >= 0; --i) if (CONSTANT_P (recog_data.operand[i])) { enum attr_mode mode = get_attr_mode (insn); gcc_assert (!len); ... } When there is a match, we always get assert.