This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
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