From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27667 invoked by alias); 14 Jan 2002 23:46:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 27650 invoked by uid 71); 14 Jan 2002 23:46:01 -0000 Date: Mon, 14 Jan 2002 15:46:00 -0000 Message-ID: <20020114234601.27649.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Richard Henderson Subject: Re: target/5378: ICE: unrecognizable insn prefetch Reply-To: Richard Henderson X-SW-Source: 2002-01/txt/msg00532.txt.bz2 List-Id: The following reply was made to PR target/5378; it has been noted by GNATS. From: Richard Henderson To: Janis Johnson Cc: ritzert@t-online.de, gcc-gnats@gcc.gnu.org Subject: Re: target/5378: ICE: unrecognizable insn prefetch Date: Mon, 14 Jan 2002 15:36:58 -0800 On Mon, Jan 14, 2002 at 01:03:25PM -0800, Janis Johnson wrote: > > a.c:15: unrecognizable insn: > > (insn 154 81 31 (prefetch (plus:SI (reg/f:SI 72) > > (const_int 384 [0x180])) > > (const_int 1 [0x1]) > > (const_int 3 [0x3])) -1 (nil) > > (nil)) It was indeed a stupid typo. Fixed thus. r~ * config/i386/i386.md (prefetch): Tidy. (prefetch_3dnow): Fix locality operand. Index: i386.md =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.md,v retrieving revision 1.329 diff -c -p -d -u -r1.329 i386.md --- i386.md 2002/01/12 10:05:26 1.329 +++ i386.md 2002/01/14 23:31:06 @@ -19607,6 +19607,7 @@ { int rw = INTVAL (operands[1]); int locality = INTVAL (operands[2]); + if (rw != 0 && rw != 1) abort (); if (locality < 0 || locality > 3) @@ -19617,13 +19618,9 @@ (K6 machines). Otherwise use SSE prefetch as it allows specifying of locality. */ if (TARGET_3DNOW && (!TARGET_PREFETCH_SSE || rw)) - { - operands[2] = GEN_INT (3); - } + operands[2] = GEN_INT (3); else - { - operands[1] = const0_rtx; - } + operands[1] = const0_rtx; }) (define_insn "*prefetch_sse" @@ -19647,7 +19644,7 @@ (define_insn "*prefetch_3dnow" [(prefetch (match_operand:SI 0 "address_operand" "p") (match_operand:SI 1 "const_int_operand" "n") - (const_int 0))] + (const_int 3))] "TARGET_3DNOW" { if (INTVAL (operands[1]) == 0)