This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]