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: Thu, 09 Jan 2003 18:36:00 -0000	[thread overview]
Message-ID: <15901.49440.723598.323574@casey.transmeta.com> (raw)
In-Reply-To: <o565syxl6k.fsf@toenail.toronto.redhat.com>

Frank Ch. Eigler writes:
 > 
 > dje wrote:
 > 
 > > I have big problems with this patch.
 > > [...]
 > 
 > > One must have compelling reasons for moving or putting application
 > > specific stuff into the non-application specific parts of cgen [...]
 > > Refering to APPLICATION in rtl-c.scm.  Blech.
 > > 
 > >  > -(define-fn xop (estate options mode object) object)
 > >  > +(define-fn xop (estate options mode object) 
 > >  > +  (let ((delayed (assoc '#:delay (estate-modifiers estate))))
 > >  > +    (if (and delayed
 > >  > +	     (equal? APPLICATION 'SID-SIMULATOR)
 > >  > +	     (operand? object))
 > 
 > I believe this was added with good intentions: because the "delay"
 > operator name was already in some token use for older sim ports, and
 > we did not want to break them.  The new delay operator actually does
 > something, and when/if sim-side support is added, this rtl-c hack can
 > go away.  IIRC, the old delay operator did nothing except signal that
 > an abstract delay slot exists for the instruction in whose RTL the
 > operator appears someplace.  If someone is genuinely fond of this
 > meaning, then I propose renaming it to something else.

Redhat can keep this as a local mod of course, but
the FSF would never readily accept a target-specific hack like this to gcc
(#ifdef TARGET_Z8000 in expr.c for example).  I think the same principal
should apply here.

I don't think the situation is all that bleak though.

First, we need to separate architecture description from application usage.
RTL is all about abstract description.

What are the ports in question?
Can I see the rtl where the new `delay' is used?  (Are they checked in?)

If they're still under NDA I'm sure you can come up with an independent
example of how one would write rtl with the new `delay'.
[You'd have to do that anyway for anyone wanting to use the new `delay'.]
Then let's compare it, at the rtl level, with the old delay,
and go from there.

I'm guessing the difference is that the existing delay specifies when
an assignment happens (more or less) and the new delay specifies
when an operand is ready.  If there is no reasonable way to merge them
then clearly we need new rtl (assuming the new delay is for ISA-related
delays and not implementation-related delays: I didn't get an answer to
my question: for the ports that need this patch, are the delays ISA
related or or implementation-related?  I think
you answered it in a previous message but I couldn't be sure).

  reply	other threads:[~2003-01-09 18:36 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 [this message]
2003-01-09 19:14       ` Frank Ch. Eigler
2003-01-12 17:05         ` Doug Evans
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=15901.49440.723598.323574@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).