This is the mail archive of the gcc-prs@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: target/5378: ICE: unrecognizable insn prefetch


The following reply was made to PR target/5378; it has been noted by GNATS.

From: Richard Henderson <rth@redhat.com>
To: Janis Johnson <janis187@us.ibm.com>
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)


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