On Mon, Jun 26, 2006 at 09:24:57PM -0700, Ian Lance Taylor wrote: > Andrew Pinski <[EMAIL PROTECTED]> writes: > > > On Jun 26, 2006, at 2:09 PM, Ian Lance Taylor wrote: > > > > > As far as I can see, it doesn't. > > > > You missed: > > if (TARGET_MMX) > > ix86_init_mmx_sse_builtins (); > > > > Which HJL should have also quoted. > > I didn't miss it, I was just ambiguous. H.J. asked "Why does > __float80 have to depend on -mmmx/-msse?" and I answered "it doesn't," > meaning that __float80 doesn't have to depend on -mmmx/-msse. > > > > On the other hand, as far as I can > > > see, __float80 is undocumented and unused for the i386. Why does it > > > exist? > > > > Jan added it with __float128 also: > > 2003-10-30 Jan Hubicka <[EMAIL PROTECTED]> > > > > (ix86_init_mmx_sse_builtins): Add __float80, __float128. > > > > I think it was added for x86_64 ABI support which defines them > > > > http://gcc.gnu.org/ml/gcc-patches/2003-10/msg02473.html > > Are you saying that the x86_64 ABI calls for __float80 to be defined? > I can't find any reference to __float80 which is not related to gcc or > ia64. > > In any case that does not give any explanation for why it should only > be defined for MMX or SSE. > > I don't object to defining __float80 for i386. I agree with H.J. that > if we define it, we should define it unconditionally. And I also say > that if we define it, we should document it, or at least find some > other document which mentions it.
I have no strong opinion on the support for __float80. But the current behavior seems odd to me. Also, we have incomplete support for __float128. There is no runtime support for __float128 at all on x86-64. Libstdc++ doesn't support __float128 nor does glibc. I did post a __float128 runtime patch for glibc. But very few people showed any interest in it. I was wondering why gcc bothered with __float80 and __float128 on x86-64. H.J.