public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Janis Johnson <janis187@us.ibm.com>
To: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Cc: gcc@gcc.gnu.org
Subject: Re: Supporting decimal float on additional platforms
Date: Wed, 18 Nov 2009 19:20:00 -0000	[thread overview]
Message-ID: <1258571958.6391.11.camel@janis-laptop> (raw)
In-Reply-To: <ydd63978zly.fsf@manam.CeBiTec.Uni-Bielefeld.DE>

On Wed, 2009-11-18 at 19:19 +0100, Rainer Orth wrote:
> I've recently looked into what it takes to support decimal float on
> additional platforms (like Solaris, IRIX, and Tru64 UNIX in my case).
> I've found no documentation, and while I could figure out some things
> myself, I'd like to get some advice before continuing down that road.
> 
> I found that --enable-decimal-float alone is not enough.  One at least
> needs to add config/t-dfprules to config.gcc, too.  In addition, the
> platform <target>_scalar_mode_supported_p function needs to be augmented
> accordingly.  (I haven't tried this yet; it's just from code
> inspection.)

The target ABI needs to define how to handle the decimal32/64/128 data
types.  The compiler backend needs to implement that ABI for argument
passing and function results, and needs to define which registers to
use for those types.

> Even if this works, I now think this won't be enough and probably not
> even remotely useful (if only to pass parts of the testsuite) without
> libc support for the new *printf/*scanf formats, which certainly won't
> be added on legacy platforms like IRIX and Tru64 UNIX, and even on
> Solaris probably won't show up until DFP is fully standardized.

Much of the support for decimal floating types is in libraries that
are outside the scope of the GCC project.  This includes not just I/O
but math functions and support for floating-point exceptions and
rounding modes.  That support is provided by the libdfp project hosted
in the EGLIBC repository.  libdfp currently supports only GNU/Linux
targets, but that could be changed.

Janis

  reply	other threads:[~2009-11-18 19:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-18 18:20 Rainer Orth
2009-11-18 19:20 ` Janis Johnson [this message]
2009-11-20 21:12   ` Rainer Orth
2009-11-18 20:08 ` Joseph S. Myers
2009-11-20 21:28   ` Rainer Orth
2009-11-20 21:53     ` Joseph S. Myers

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=1258571958.6391.11.camel@janis-laptop \
    --to=janis187@us.ibm.com \
    --cc=gcc@gcc.gnu.org \
    --cc=ro@CeBiTec.Uni-Bielefeld.DE \
    /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).