public inbox for cgen@sourceware.org
 help / color / mirror / Atom feed
From: Doug Evans <dje@transmeta.com>
To: fche@redhat.com (Frank Ch. Eigler)
Cc: cgen@sources.redhat.com
Subject: Re: exposed pipeline patch (long!)
Date: Sun, 12 Jan 2003 17:05:00 -0000	[thread overview]
Message-ID: <15905.41030.551684.625200@casey.transmeta.com> (raw)
In-Reply-To: <o5bs2qb0gx.fsf@toenail.toronto.redhat.com>

Frank Ch. Eigler writes:
 > > Can I see the rtl where the new `delay' is used?  (Are they checked in?)
 > 
 > [...] Here is a generic example:
 > 
 > NEW:  (if (test) (set (delay 1 foo) bar))
 > OLD:  (delay 1 (if (test) (set foo bar)))
 > 
 > The new meaning makes "delay" a property of an lvalue being assigned
 > to as a future time (== enqueuing position).  The old one relates
 > "delay" of a generic bunch of computation.  The former definition is
 > sufficient to model ordinary branch delay slots, or functional units
 > that expose taking their sweet time.

 > The latter was never actually
 > implemented in a way a reader may expect: there is no delay in the
 > "if" or anything associated with foo or bar; there is no use of the
 > "1" value.

For the purposes of this discussion (deciding whether the two delays
are mergable) I'm separating description from application.

I have this feeling that branch delay slots are a sufficiently different beast
than the delays of exposed pipelines.
Sure, one can argue the former is just an example of the latter.
But there are various semantics associated with branch delay slots.
OTOH, I don't have too strong an opinion I guess.

So next question.  The sid behaviour is special cased for fear
of breaking existing ports (or some such IIRC).
Presumably we can do a sufficiently reasonable job just by
comparing generated files before/after (and in particular if in
the first pass we take steps to remove all diffs in the generated
files then the confidence goes up high enough for me to make the change).
So _if_ delays are mergable and _if_ the new definition of delay is what we
want, why not just go with it?
[I still have questions of the implementation though (to follow).]

 > > [...] for the ports that need this patch, are the delays ISA related [...]
 > 
 > These are ISA defined.
 > That's what makes the pipelines exposed to the asm programmer.

An ISA might specify that the pipeline is exposed, but leave the
actual delay to fall out from whatever the implementation ends
up being.  I wanted to make sure you're not talking about this case,
and that you really want the delays in the rtl.

  reply	other threads:[~2003-01-12 17:05 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-09  3:27 Ben Elliston
2003-01-09  6:41 ` Doug Evans
2003-01-09 17:55   ` Frank Ch. Eigler
2003-01-09 18:36     ` Doug Evans
2003-01-09 19:14       ` Frank Ch. Eigler
2003-01-12 17:05         ` Doug Evans [this message]
2003-01-09 19:12     ` graydon hoare
2003-01-12 17:21       ` Doug Evans
2003-01-09  6:55 ` Doug Evans
2003-01-09  7:24 ` Doug Evans
2003-01-09 17:17   ` Frank Ch. Eigler
2003-01-12 17:54 ` Doug Evans

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=15905.41030.551684.625200@casey.transmeta.com \
    --to=dje@transmeta.com \
    --cc=cgen@sources.redhat.com \
    --cc=fche@redhat.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 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).