This is the mail archive of the gcc@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: PowerPC IEEE 128-bit floating point: Emulation functions


Right now the rs6000 backend of the GCC compiler is rather inconsistant in the
names used for the IBM extended double floating point.

For the basic operations it used __gcc_q<op>:

	__gcc_qadd
	__gcc_qsub
	__gcc_qmul
	__gcc_qdiv
	__gcc_qneg
	__gcc_qne
	__gcc_qgt
	__gcc_qlt
	__gcc_qle

In theory the conversions also use the __gcc_ format, but while it is set in
rs6000.c, the compiler ignores these names and uses:

	__dpd_extendddtf
	__dpd_extendsdtf
	__dpd_extendtftd
	__dpd_trunctdtf
	__dpd_trunctfdd
	__dpd_trunctfsd
	__fixtfdi
	__fixtfti
	__fixunstfdi
	__fixunstfti
	__floatditf
	__floattitf
	__floatunditf
	__floatuntitf
	__powitf2

This means if have a flag day and change all of long double to IEEE 128-bit, we
run the risk of the user inadvertently calling the wrong function.

As I see it, we have a choice to have something like multilibs where you select
which library to use, or we have to use alternate names for all of the IEEE
128-bit emulation functions.

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meissner@linux.vnet.ibm.com, phone: +1 (978) 899-4797


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