This is the mail archive of the gcc-patches@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: PATCH: IA64 floating-point types


Joseph S. Myers wrote:
Where are these types specified from a language extension point of view?

I've never had access to ia64-hpux, but I believe the only reason we define them is because some HPUX system header files assume they are available.


I don't believe they are documented anywhere from a language extension point of view, but I think they are really more for convenience than for FP.

The only purpose of _fpreg seems to be for generating special purpose FP load/store instructions (ldf.spill/stf.spill), and that support hasn't been implemented yet. I can't be sure though, since I have no documentation for _fpreg. It seems to be an HP specifix extension.

On Linux, where long double is __float80, I think the only possible operations that can work with __float128 are load/store. This is because linux has no support for 128 bit FP types. However, this assumes it is implemented correctly, which it isn't, because we can't have both 80 and 128 bit FP types at the same time, so the question is moot.

On HPUX, where long double is __float128, in theory one could support FP operations on __float80 because it is supported by the hardware, but the question is moot because gcc can't have both 80 and 128 bit FP types at the same time. Whether conversions are available between __float80 and __float128 depends on whether HP defined library routines for them. I don't have that info.

I see that Mark made __float128 a synonym for long double for HPUX, but he did not make __float80 a synonym for long double for Linux. That seems wrong, but I don't care much since I wouldn't recommend use of these types anyways.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



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