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


On Wed, 2003-09-17 at 11:32, Zack Weinberg wrote:
> Jim Wilson <wilson@specifixinc.com> writes:
> ...
> > 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.
> 
> I am working on a patch which removes this limitation.  It turns out
> to be easier than you might think - currently the only change to
> language-independent code is the addition of "extendxftf2" and
> "trunctfxf2" patterns.  (The changes to the ia64 back end are
> extensive, but mostly search-and-replace.)
> 
> It does seem to me that __float80 and "long double" should be the same
> type on ia64-linux.  I am not sure why Mark did it differently.  Maybe
> the psABI has something to say about this.

The reason I did not make them a typedef is that (a) they're not the
same in ILP32 mode, according to the psABI, which Cary Coutant has
informed me is not authoritative, which makes it a little confusing,
and (b) I had no good way of testing on IA64 GNU/Linux.

If it makes sense to make them the same type on GNU/Linux, I certainly
have no objection.

-- 
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com


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