[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