This is the mail archive of the 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: Why does __float80 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  <>
> > 
> >          (ix86_init_mmx_sse_builtins): Add __float80, __float128.
> > 
> > I think it was added for x86_64 ABI support which defines them
> > 
> >
> 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.

__float128 is defined as optional by x86_64 ABI, the main reason was to
stay mostly in sync with IA-64 to make porting of applications in
between both platforms easier.  When __float80 and __float128 was added
to IA-64 port, I enabled them on x86-64 as well.

>From this POV it seems to make sense to support both on x86-64 too, but
I could live with oposite sollution too.

The conditoinal H. J. quoted is definitly supposed to make "__float80"
equivalent of "long double" on 32bit compiler with 80bit long double and
new type otherwise. I don't see how it depends on MMX/SSE, but if
current logic is broken, would be possible to see the testcase?

> 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.
> Ian

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