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: support of 128 bit long real on linux for ia32


On Tue, Feb 12, 2002 at 09:24:05AM +0100, Andreas Jaeger wrote:
> > I have a small question concerning the support of
> > long double on linux ia32 with gcc v3.x
> 
> [...]
> > Now my question, is it true, that the precision for both compilations
> > is the same, except that for -m128bit-long-double the result of
> > sizeof(long double) is 16, while in the other case sizeof(long double) is 12?
> 
> Yes, that's true.
> 
> > Do plan to enhance your compiler in order to get 
> > "long double" in C compatible with real(16) in fortran ?
> 
> For such types, we would need a software floating point library doing
> the computation and possibly changes to C Library and binutils for
> supporting this format.  I'm not aware of anybody working on this,

Well, we already have the software floating point library doing the
computation (soft-fp in glibc), it is just matter of copying it into libf2c,
configuring for architectures which are supported by soft-fp (or add support
to new ones) and don't have IEEE quad long double already and changing gcc
middle end and backends so that they are able to cope with two different
TFmode style modes (at least on ia64 where TFmode is actually XFmode in 16
bytes). I don't know exactly what all functions need to be supported on
real(16) by Fortran, but probably it would mean converting several glibc
sysdeps/ieee754/ldbl-128/ routines so that they use soft-fp macros instead
of letting the C compiler do it (or compile them so that it works not on
long doubles but on double __attribute__((mode(TF))) type variables).

	Jakub


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