public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jeffrey A Law <law@cygnus.com>
To: "Michael P. Hayes" <michaelh@ongaonga.chch.cri.nz>
Cc: meissner@cygnus.com, egcs@cygnus.com, gcc2@cygnus.com
Subject: Re: base + index register addressing
Date: Fri, 17 Oct 1997 21:40:00 -0000	[thread overview]
Message-ID: <15650.877132574@hurl.cygnus.com> (raw)
In-Reply-To: <199710172339.MAA26949@ongaonga.chch.cri.nz>

  In message < 199710172339.MAA26949@ongaonga.chch.cri.nz >you write:
  > Most of the utility of the patch occurs when an incoming function
  > argument is in a hard base (or possibly index) register.   
Yup.  I'm all too aware of losing base vs index distinctions
when hard argument registers.

You see, on the PA, it's absolutely critical that we be able to
distinguish the base from the index -- if you reverse them in a
memory reference it will fail at runtime.  Furthermore, any
general register can be a base or index.  Thus we can't use a
set of registers to know which is the base and which is the index.

Most of the time we can figure out which is the base by looking
at REGNO_POINTER_FLAG.  However, that can't detect cases where
a pass eliminates a copy from a hard incoming arg register to
a pseudo with REGNO_POINTER_FLAG set.

  > IMO, things would be simpler if two register addresses were
  > canonicalized so that the base register preceeded the index register,
  > i.e., (mem (plus (base_reg) (index_reg)).  This would reduce the
  > ambiguity when it comes to allocating base and index registers.
Yes.  I even proposed this once and Kenner rejected the idea.

jeff

  reply	other threads:[~1997-10-17 21:40 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-10-17 12:53 meissner
1997-10-17 13:57 ` Jeffrey A Law
1997-10-17 20:51   ` Michael P. Hayes
1997-10-17 21:40     ` Jeffrey A Law [this message]
1997-10-20  9:43       ` Nick Ing-Simmons
1997-10-20 18:12         ` Joern Rennecke
1997-10-21  8:49           ` Nick Ing-Simmons
1997-10-21  9:25         ` John Carr
     [not found] <199710170919.WAA23619@ongaonga.chch.cri.nz>
1997-10-17 13:57 ` Jeffrey A Law
  -- strict thread matches above, loose matches on Subject: below --
1997-10-17 12:53 meissner
1997-10-17 13:57 ` Jeffrey A Law
1997-10-17 20:51   ` Richard Henderson

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=15650.877132574@hurl.cygnus.com \
    --to=law@cygnus.com \
    --cc=egcs@cygnus.com \
    --cc=gcc2@cygnus.com \
    --cc=meissner@cygnus.com \
    --cc=michaelh@ongaonga.chch.cri.nz \
    /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).