public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
To: "H.J. Lu" <hjl@lucon.org>
Cc: egcs@cygnus.com
Subject: Re: egcs 1.0.2
Date: Mon, 16 Feb 1998 04:49:00 -0000	[thread overview]
Message-ID: <Pine.SOL.3.90.980216134517.24718B-100000@ohara.informatik.rwth-aachen.de> (raw)
In-Reply-To: <m0y4Akd-0004eeC@ocean.lucon.org>

> Here is the patch I have been talking about. It was installed
> in egcs evev before egcs 1.0.1 was released.
> 
> Fri Dec  5 16:26:03 1997  Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
> 
> 	* i386.c (notice_update_cc): Remove bogus pentium GCC code.

You are twice wrong: the patch below doesn't match the ChangeLog entry, and
the patch that goes with the ChangeLog entry was installed in egcs-1.0.1.

Bernd

> --- ./../../../import/egcs/gcc/config/i386/i386.c	Fri Dec 19 00:47:13 1997
> +++ config/i386/i386.c	Thu Feb 12 10:49:09 1998
> @@ -3397,31 +3397,37 @@
>  	  if (cc_status.value1
>  	      && reg_overlap_mentioned_p (SET_DEST (exp), cc_status.value1))
>  	    cc_status.value1 = 0;
> +
>  	  if (cc_status.value2
>  	      && reg_overlap_mentioned_p (SET_DEST (exp), cc_status.value2))
>  	    cc_status.value2 = 0;
> +
>  	  return;
>  	}
> +
>        /* Moving register into memory doesn't alter the cc's.
>  	 It may invalidate the RTX's which we remember the cc's came from.  */
>        if (GET_CODE (SET_DEST (exp)) == MEM
>  	  && (REG_P (SET_SRC (exp))
>  	      || GET_RTX_CLASS (GET_CODE (SET_SRC (exp))) == '<'))
>  	{
> -	  if (cc_status.value1 && GET_CODE (cc_status.value1) == MEM
> -	      || reg_mentioned_p (SET_DEST (exp), cc_status.value1))
> +	  if (cc_status.value1
> +	      && reg_overlap_mentioned_p (SET_DEST (exp), cc_status.value1))
>  	    cc_status.value1 = 0;
> -	  if (cc_status.value2 && GET_CODE (cc_status.value2) == MEM
> -	      || reg_mentioned_p (SET_DEST (exp), cc_status.value2))
> +	  if (cc_status.value2
> +	      && reg_overlap_mentioned_p (SET_DEST (exp), cc_status.value2))
>  	    cc_status.value2 = 0;
> +
>  	  return;
>  	}
> +
>        /* Function calls clobber the cc's.  */
>        else if (GET_CODE (SET_SRC (exp)) == CALL)
>  	{
>  	  CC_STATUS_INIT;
>  	  return;
>  	}
> +
>        /* Tests and compares set the cc's in predictable ways.  */
>        else if (SET_DEST (exp) == cc0_rtx)
>  	{
> @@ -3429,14 +3435,14 @@
>  	  cc_status.value1 = SET_SRC (exp);
>  	  return;
>  	}
> +
>        /* Certain instructions effect the condition codes. */
>        else if (GET_MODE (SET_SRC (exp)) == SImode
>  	       || GET_MODE (SET_SRC (exp)) == HImode
>  	       || GET_MODE (SET_SRC (exp)) == QImode)
>  	switch (GET_CODE (SET_SRC (exp)))
>  	  {
> -	  case ASHIFTRT: case LSHIFTRT:
> -	  case ASHIFT:
> +	  case ASHIFTRT: case LSHIFTRT: case ASHIFT:
>  	    /* Shifts on the 386 don't set the condition codes if the
>  	       shift count is zero. */
>  	    if (GET_CODE (XEXP (SET_SRC (exp), 1)) != CONST_INT)
> @@ -3444,6 +3450,7 @@
>  		CC_STATUS_INIT;
>  		break;
>  	      }
> +
>  	    /* We assume that the CONST_INT is non-zero (this rtx would
>  	       have been deleted if it were zero. */
>  
> @@ -3468,6 +3475,7 @@
>        if (SET_DEST (XVECEXP (exp, 0, 0)) == pc_rtx)
>  	return;
>        if (SET_DEST (XVECEXP (exp, 0, 0)) == cc0_rtx)
> +
>  	{
>  	  CC_STATUS_INIT;
>            if (stack_regs_mentioned_p (SET_SRC (XVECEXP (exp, 0, 0))))
> @@ -3481,6 +3489,7 @@
>  	    cc_status.value1 = SET_SRC (XVECEXP (exp, 0, 0));
>  	  return;
>  	}
> +
>        CC_STATUS_INIT;
>      }
>    else
> 

  reply	other threads:[~1998-02-16  4:49 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-02-14 23:44 egcs cvs'd between 980214 8:00 and 9:13 UTC on m68k-next-nextstep3:Success Toon Moene
1998-02-15  8:24 ` egcs cvs'd between 980214 8:00 and 9:13 UTC on m68k-next-nextstep3: Success Jeffrey A Law
1998-02-15  8:32   ` egcs 1.0.2 H.J. Lu
1998-02-15  8:33     ` Jeffrey A Law
1998-02-15  8:42       ` H.J. Lu
1998-02-15  8:46         ` Jeffrey A Law
1998-02-15  8:50           ` H.J. Lu
1998-02-15 12:18     ` Joe Buck
1998-02-15 14:04       ` H.J. Lu
1998-02-16  4:49         ` Bernd Schmidt [this message]
1998-02-16 10:34           ` H.J. Lu
1998-02-16 18:19             ` Bruno Haible
1998-02-16 13:34 Daniel Egger
1998-02-16 14:21 ` H.J. Lu
1998-03-19 20:46 Felix Morley Finch
1998-03-30 16:18 Oyvind Yrke
1998-04-01 13:41 ` Jeffrey A Law
1998-04-01 19:44 ` Jim Wilson
1998-04-03 21:52   ` Joe Buck
1998-04-03 21:52 ` Andreas Schwab
     [not found] <3525297C.4A20D761@stavanger.geoquest.slb.com>
1998-04-03 21:52 ` Jim Wilson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.SOL.3.90.980216134517.24718B-100000@ohara.informatik.rwth-aachen.de \
    --to=crux@pool.informatik.rwth-aachen.de \
    --cc=egcs@cygnus.com \
    --cc=hjl@lucon.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).