This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Supporting decimal float on additional platforms
On Fri, 20 Nov 2009, Rainer Orth wrote:
> > Much the same applies if anyone wishes to add fixed point (TR 18037)
> > support for more targets.
>
> I'll have a look at the last draft (N1169) for now. Right now, only
> MIPS support is in GCC, so there seems to be less traction so far.
Each of these extensions is aimed at a specific class of programs, and
users of such programs are much more likely to use some processors than
others - various embedded processors have fixed point instructions of one
form or another (not necessarily all mapping neatly to the TR 18037
types), while some Power and S390 processors have hardware support for
decimal floating point.
The TRs may eventually result in those classes of programs becoming more
portable, in which case people might eventually want to include free
software using these extensions in general-purpose operating system
distributions - which may drive porting the feature as people wish to
build those distributions for many different processors - but the limited
application domains for these features seem likely to exacerbate the
chicken-and-egg effect that applies to any new language feature (no demand
for the feature in compilers without applications using it, no
applications using it without compilers implementing it). Implementing a
feature without having any applications for it is of course one way of
addressing that effect, as is implementing a feature you'd like to use
yourself in programs you write in future; it seems a fine improvement to
the compiler to contribute as long as you work with any ABI maintainers to
avoid it causing future compatibility problems.
(Though I made decimal floating point work on e500 processors - to
eliminate the test failures seen in such configurations given that it's
enabled by default for Power GNU/Linux and already worked for other Power
processors - it's quite possible that no-one has ever used that
functionality other than for testcases. There were no ABI compatibility
issues there since e500 uses the same ABI as soft-float Power processors.)
Note that the fixed point implementation for MIPS substantially slows down
the build of libgcc for MIPS targets because of a huge number of libgcc
functions for fixed point that need to be built, so people may not care
for their libgcc builds being slowed down for other targets without any
applications for the new feature.
--
Joseph S. Myers
joseph@codesourcery.com