[Fwd: CVS trunk bootstrap failure on alphaev6-unknown-linux-gnu]
Joern Rennecke
amylaar@redhat.com
Fri Jul 6 14:32:00 GMT 2001
> This piece of code aborts:
>
> /* Generate and return an insn body to add Y to X. */
>
> rtx
> gen_add2_insn (x, y)
> rtx x, y;
> {
> int icode = (int) add_optab->handlers[(int) GET_MODE (x)].insn_code;
>
> if (!
> ((*insn_data[icode].operand[0].predicate)
> (x, insn_data[icode].operand[0].mode))
> || ! ((*insn_data[icode].operand[1].predicate)
> (x, insn_data[icode].operand[1].mode))
> || ! ((*insn_data[icode].operand[2].predicate)
> (y, insn_data[icode].operand[2].mode)))
> abort ();
>
> It aborts because it's called with a (const_int 65535 [0xffff]) as y
> value, which doesn't have a mode.
Huh? The add?I predicates should allow a CONST_INT when passed their
respective integer modes. So where does the mode of y come in?
More information about the Gcc-bugs
mailing list