Re: Fixed point support for GCC cross compiler

Jeff Kenton <jeffrey.kenton@comcast.net>
20 Aug 2006 23:51:53 -0400

          From comp.compilers

Related articles
Fixed point support for GCC cross compiler shafitvm@gmail.com (shafi) (2006-08-15)
Re: Fixed point support for GCC cross compiler englere_geo@yahoo.com (Eric) (2006-08-15)
Re: Fixed point support for GCC cross compiler ian@airs.com (Ian Lance Taylor) (2006-08-18)
Re: Fixed point support for GCC cross compiler mailbox@dmitry-kazakov.de (Dmitry A. Kazakov) (2006-08-18)
Re: Fixed point support for GCC cross compiler adm@standarddeviance.com (thant) (2006-08-18)
Re: Fixed point support for GCC cross compiler gene.ressler@gmail.com (Gene) (2006-08-18)
Re: Fixed point support for GCC cross compiler englere_geo@yahoo.com (Eric) (2006-08-18)
Re: Fixed point support for GCC cross compiler jeffrey.kenton@comcast.net (Jeff Kenton) (2006-08-20)
| List of all articles for this month |

From: Jeff Kenton <jeffrey.kenton@comcast.net>
Newsgroups: comp.compilers
Date: 20 Aug 2006 23:51:53 -0400
Organization: Compilers Central
References: 06-08-083
Keywords: GCC, types
Posted-Date: 20 Aug 2006 23:51:53 EDT

shafi wrote:
> I am involved with the porting of GCC for a new arm processor.
> The trouble is that I have to add a feature which is not supported by
> GCC - Fixed point support.


You need to separate several issues:


1. internal number format/precision and run-time support. You have to
design and implement this no matter what other choices you make. Do it
first. It's not that hard, although division isn't 100% intuitive --
see Knuth or various other sources for details (Google is your friend
here, along with comp.arch.arithmetic).


2. compiler support for fixed point constants. also simple.


3. compiler support for fixed point expressions, casting and rules for
mixing of types.


4. fixed point I/O -- what do you want printf() to do?


Have fun.


jeff



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.