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: 128 bit floats on PA64


Coincidently, I started looking at this testerday.

> It looks like the hppa64 platform is using 64 bit long doubles instead
> of 128 bits.  This conflicts with the ABI (as the comment in pa-64.h
> notes) and we have been using 128 bit floats here with our testing and
> have not noticed any regressions.  Here is the patch, but I am not sure
> if this will break hppa*64*-*-linux*.  If it does perhaps I should

hppa*64*-*-linux* doesn't really exist yet.  Some very preliminary
work has been done in the last couple of weeks and I think there has
been success in running a very simple statically linked binary.  At
the moment, the 64-bit compiler is only used to build 64-bit kernels.

It is clear that the correct size for linux will be 128 bits.  Whether
the intel format is used or not remains open, but I think the general
thinking is that the ABI should be similar to hpux.

> change the header order in config.gcc and make long-double.h last so it
> sets LONG_DOUBLE_TYPE_SIZE to 128 after pa-64.h sets it to 64.  Linux
> does not include the long-double.h header.  This still leaves the
> CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P changes as
> something that could affect 64 bit linux.  128 bit floats on HP-UX will
> not work without removing these macros (or defining
> CLASS_CANNOT_CHANGE_MODE as NOREGS).  FYI:  I also removed them from
> pa32-regs.h and so no problems on PA32 HP-UX.

There is a problem.  LOAD_EXTEND_OP(MODE) is defined as ZERO_EXTEND
but loads to FPRs don't ZERO_EXTEND.  So, I don't think the macros
can be removed.  I don't fully understand why pa32-regs.h uses
NO_REGS but this appears to work on the 32-bit port.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)


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