This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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: Status of long double soft-fp support for powerpc32


	The PPC32 and PPC64 Linux ABI using the IBM 128-bit extended long
double format uses __gcc_qadd, __gcc_qsub, __gcc_qmul, __gcc_qdiv for the
hard float implementation.  I carried through with the __gcc_q prefix for
the soft-float implementation that adds comparison, extension, and
truncation.

	The _q_add, etc. names are the IEEE extended precision floating
point routines defined in the PPC32 SVR4 ABI.  Because PowerPC does not
support IEEE quad in hardware, all operations required function calls.
Glibc support for PowerPC Linux ABI should not use those files or function
names. 

	__addtf3, etc. are the standard names that GCC uses for software
floating point emulation routines.  Because the PPC32 SVR4 ABI still
specifies IEEE extended precision and GCC soft-fp emulation provides
implementations of IEEE extended precision with those names, the support
for IBM long double should not use the "tf" function names.  The "tf"
names should be reserved for the IEEE conventions and theoreitcally allows
the 32-bit PowerPC GCC long double implementation to be command-line
switchable for soft-float as it is for hard-float.

	In summary,

__gcc_qXXX = IBM long double hard float and soft float routines
_q_XXX     = IEEE quad PPC 32 SVR4 ABI routines
__XXXtf    = GCC IEEE long double soft-float routines

David


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