From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1861 invoked by alias); 9 Jan 2003 19:14:23 -0000 Mailing-List: contact cgen-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cgen-owner@sources.redhat.com Received: (qmail 1819 invoked from network); 9 Jan 2003 19:14:20 -0000 Received: from unknown (HELO touchme.toronto.redhat.com) (216.138.202.10) by 209.249.29.67 with SMTP; 9 Jan 2003 19:14:20 -0000 Received: from toenail.toronto.redhat.com (toenail.toronto.redhat.com [172.16.14.211]) by touchme.toronto.redhat.com (Postfix) with ESMTP id A4E1B8000E7; Thu, 9 Jan 2003 14:13:54 -0500 (EST) Received: (from fche@localhost) by toenail.toronto.redhat.com (8.11.6/8.11.6) id h09JDZT26060; Thu, 9 Jan 2003 14:13:35 -0500 X-Authentication-Warning: toenail.toronto.redhat.com: fche set sender to fche@redhat.com using -f To: Doug Evans Cc: cgen@sources.redhat.com Subject: Re: exposed pipeline patch (long!) References: <15901.6554.376799.858742@casey.transmeta.com> <15901.49440.723598.323574@casey.transmeta.com> Content-Type: text/plain; charset=US-ASCII From: fche@redhat.com (Frank Ch. Eigler) Date: Thu, 09 Jan 2003 19:14:00 -0000 In-Reply-To: <15901.49440.723598.323574@casey.transmeta.com> Message-ID: User-Agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (Cuyahoga Valley) MIME-Version: 1.0 X-SW-Source: 2003-q1/txt/msg00015.txt.bz2 dje wrote: > [...] > First, we need to separate architecture description from application usage. > RTL is all about abstract description. Right. > What are the ports in question? > Can I see the rtl where the new `delay' is used? (Are they checked in?) Hmm, that's an oversight. There are indeed a couple of ports that haven't been released yet. 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. > I'm guessing the difference is that the existing delay specifies when > an assignment happens (more or less) (Well, less - no actual deferred computation mechanism had existed in cgen or the runtimes.) > and the new delay specifies when an operand is ready. Right. > [...] 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. - FChE