From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3825 invoked by alias); 12 Dec 2002 14:43:04 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 3817 invoked from network); 12 Dec 2002 14:43:03 -0000 Received: from unknown (HELO lutetium) (194.73.73.116) by sources.redhat.com with SMTP; 12 Dec 2002 14:43:03 -0000 Received: from host213-123-126-213.in-addr.btopenworld.com ([213.123.126.213] helo=dtukjgraham2) by lutetium with smtp (Exim 3.22 #16) id 18MUY1-0000xp-00; Thu, 12 Dec 2002 14:42:45 +0000 Message-ID: <011901c2a1ec$bbc8d490$d57e7bd5@altera.priv.altera.com> From: "Jonah" To: "Jon Beniston" Cc: References: <3DF7715F.40802@siroyan.com> Subject: Re: DSP-C in GCC Date: Thu, 12 Dec 2002 07:22:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-SW-Source: 2002-12/txt/msg00639.txt.bz2 I am certainly interested in any work in this direction. It is something on my wish list to do. My opinion is that it should definitely be new machine mode types (like floating point is different). New operators don't make as much sense. For example if you have: (plus_fixed:SI (reg:SI) (reg:SI)) does that mean you are adding two ints after converting or have they already been converted. This however removes the ambiguity: (plus:SR (fix:SR (reg:SI)) (fix:SR (reg:SI)). That means convert ints to accum mode and add. I think there is a advantage as doing as new modes for development time as well. You may be able to get away with defining storage for the new modes and, initially, not have to modify the front end too much. A different approach that I have considered is creating a machine description with a custom floating point type (like the c4x port) but have the custom fp type be fixed point. Then once you have proved it that way (i.e. with a machine description which has no real floating point types) you can figure out how to allow a machine to have this custom type and a the floating point type simultaneously by adding in the new front-end bits. The nice thing about the c4x, if I recall correctly, is it has 40-bit types. Along the circ buffer line I have not had as much thought. It is a trickier problem. Most of the operations on fixed point types are the same/similar to integer, but circular buffers means knowing more about the source code than is currently easily available. Please keep in touch. Jonah ----- Original Message ----- From: "Jon Beniston" To: Sent: Wednesday, December 11, 2002 5:09 PM Subject: DSP-C in GCC > Hi, > > I am currently prototyping an implementation of DSP-C like > (http://www.dsp-c.org) extensions in GCC. If anyone is interested in > this or would like to share some thoughts on how best to do this (I'm a > GCC developer newbie) then please, let me know. > > I'm planning on implementing a couple of new machine modes (SRmode -> > for __fixed, SAmode -> for __accum, possibly SCmode -> for __circ) for > the new datatypes. A collegue is suggesting that __fixed's should be > mapped onto SImode, and then define a new set of operators. Any thoughts? > > Cheers, > JonB > > > > ********************************************************************** > This email and any files transmitted with it are confidential and > intended solely for the use of the individual or entity to whom they > are addressed. If you have received this email in error please notify > the system manager. > > This footnote also confirms that this email message has been swept by > MIMEsweeper for the presence of computer viruses. > > www.mimesweeper.com > **********************************************************************