This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: optimization/6822: GCC 3.1.1 - Internal compiler error in extract_insn, at recog.c:2132


On Wed, May 29, 2002 at 06:11:10PM +0200, Eric Botcazou wrote:
> --- gcc/config/i386/i386.c.orig Wed May 29 17:14:21 2002
> +++ gcc/config/i386/i386.c Wed May 29 17:28:45 2002
> @@ -7963,6 +7963,8 @@
>        && (!TARGET_64BIT
>     || GET_MODE (ix86_compare_op0) != DImode
>     || (unsigned int) INTVAL (ix86_compare_op1) != 0x7fffffff)
> +      && (GET_MODE (ix86_compare_op0) != QImode
> +   || (unsigned int) INTVAL (ix86_compare_op1) != 0x7f)
>        && GET_CODE (operands[2]) == CONST_INT
>        && GET_CODE (operands[3]) == CONST_INT)
>      {

Does this also fix the short case?  e.g. 0x7fff

unsigned short
foo ()
{
    return 0x8000;
}

int
main ()
{
    unsigned short q = foo ();
    return (q < 0x8000) ? 64 : 0;
}

BTW, Thanks for looking into this!

- Glen Nakamura


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]