public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Henderson <rth@redhat.com>
To: Eric Botcazou <ebotcazou@libertysurf.fr>
Cc: gcc@gcc.gnu.org
Subject: Re: Another reload bug
Date: Thu, 10 Apr 2003 21:11:00 -0000	[thread overview]
Message-ID: <20030410210231.GA4350@redhat.com> (raw)
In-Reply-To: <200304100011.25221.ebotcazou@libertysurf.fr>

On Thu, Apr 10, 2003 at 12:18:02AM +0200, Eric Botcazou wrote:
> Should we restore the original code as the "plan B" here?

No, I'm going to backport a small bit o code from mainline
simplify_subreg that takes care of this.

I'll commit it after testing completes; the testcase from 
this pr will be committed as g++.dg/opt/reload2.C.


r~


        Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
        * simplify-rtx.c (simplify_subreg): When converting to a non-int
        mode, try to convert to an integer mode of matching size first.

Index: simplify-rtx.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/simplify-rtx.c,v
retrieving revision 1.94.2.1
diff -c -p -d -r1.94.2.1 simplify-rtx.c
*** simplify-rtx.c	6 Mar 2002 22:43:21 -0000	1.94.2.1
--- simplify-rtx.c	10 Apr 2003 20:48:36 -0000
*************** simplify_subreg (outermode, op, innermod
*** 2484,2489 ****
--- 2484,2503 ----
  	    return new;
  	}
  
+       if (GET_MODE_CLASS (outermode) != MODE_INT
+ 	  && GET_MODE_CLASS (outermode) != MODE_CC)
+ 	{
+ 	  enum machine_mode new_mode = int_mode_for_mode (outermode);
+ 
+ 	  if (new_mode != innermode || byte != 0)
+ 	    {
+ 	      op = simplify_subreg (new_mode, op, innermode, byte);
+ 	      if (! op)
+ 		return NULL_RTX;
+ 	      return simplify_subreg (outermode, op, new_mode, 0);
+ 	    }
+ 	}
+ 
        offset = byte * BITS_PER_UNIT;
        switch (GET_CODE (op))
  	{

  reply	other threads:[~2003-04-10 21:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-09 23:28 Eric Botcazou
2003-04-10 21:11 ` Richard Henderson [this message]
2003-04-11  1:49   ` Thanks, GCC developers & maintainers (was Re: Another reload bug) Jeff Epler

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=20030410210231.GA4350@redhat.com \
    --to=rth@redhat.com \
    --cc=ebotcazou@libertysurf.fr \
    --cc=gcc@gcc.gnu.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).