All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeffrey A Law <law@cygnus.com>
To: David Huggins-Daines <dhd@linuxcare.com>
Cc: Alan Modra <alan@linuxcare.com.au>,
	parisc-linux@thepuffingroup.com, parisc@lists.linuxcare.com
Subject: Re: Millicode calls, GP register, ld -r
Date: Sat, 12 Aug 2000 12:13:00 -0600	[thread overview]
Message-ID: <6983.966103980@upchuck> (raw)
In-Reply-To: Your message of 12 Aug 2000 11:23:35 EDT. <87punemrk8.fsf@linuxcare.com>

  In message <87punemrk8.fsf@linuxcare.com>you write:
  > Alan Modra <alan@linuxcare.com.au> writes:
  > 
  > > I'll install a slightly modified version of your patch.  The other PLABEL
  > > relocs should be handled as for PLABEL32, not that it matters for gcc
  > > output as I've never caught gcc generating code that used PLABEL14R and
  > > PLABEL21L.  A pity, because current gcc PIC code for handling function
  > > pointers is rather inefficient.  Typically, you get something like:
  > > 
  > > .LC1:
  > >         .word P'bar
  > > .
  > > .
  > >         addil LT'.LC1,%r19
  > >         ldw RT'.LC1(%r1),%r22
  > >         ldw 0(%r22),%r22
  > > 
  > > which could all be replaced with
  > > 
  > > 	ldil LP'bar,%r22
  > > 	ldo RP'bar(%r22),%r22
  > > 
  > > saving on code size, memory accesses, and relocs.
  > 
  > Interesting.  It would be trivial to hack that into GCC, I just wonder
  > if there's some good reason it hasn't been done before.
"inline plabels" used to be in GCC, but were removed a few years ago; they
were abolished roughly 4 years ago.

My recollection was that the inline plabel sequence needed for MPE was 
actually less efficient than getting the value out of memory.   And
HP didn't believe the benefit from having an inline sequence for the HPUX
calling conventions was worth the extra maintenance burden in their
compiler.  GCC (of course) followed HP's recommendations and abolished
inline plabels.

jeff

      parent reply	other threads:[~2000-08-13  0:13 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.LNX.4.21.0008111413410.29780-100000@front.linuxcare.com.au>
2000-08-11  7:32 ` Millicode calls, GP register, ld -r Alan Modra
2000-08-11 12:30   ` Jeffrey A Law
2000-08-11 14:56     ` Matthew Wilcox
2000-08-11 16:43       ` John David Anglin
2000-08-11 20:23   ` David Huggins-Daines
2000-08-11 22:35     ` David Huggins-Daines
2000-08-12  0:17       ` Alan Modra
2000-08-12  1:35         ` Alan Modra
2000-08-12 15:23           ` David Huggins-Daines
2000-08-12 16:07             ` John David Anglin
2000-08-12 16:29               ` David Huggins-Daines
2000-08-12 18:13             ` Jeffrey A Law [this message]

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=6983.966103980@upchuck \
    --to=law@cygnus.com \
    --cc=alan@linuxcare.com.au \
    --cc=dhd@linuxcare.com \
    --cc=parisc-linux@thepuffingroup.com \
    --cc=parisc@lists.linuxcare.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.