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], PowerPC long double transition patches, v2, Patch #3 (use correct way to get the IEEE 128-bit complex type)


This patch fixes the tests that use IEEE 128-bit float complex to use long
double _Complex on systems where the default is IEEE 128-bit.  Due to needing
to use the same internal type for long double and __float128 (to get the
mangling correct and make templates work), you can't really use KF or KC
attributes to get the float128 type when the long double type is IEEE 128-bit.

The compiler does have defines for __KC__ and __KF__ to convert them to __TC__
and __TF__ to allow older GLIBC include files to work.  But these tests just
used KC and/or KF.

I tested these on a little endian power8 system with toolchains that use both
128-bit long double types, and these test pass.  Can I check these patches into
the trunk and into the GCC 8.x branches?

[gcc/testsuite]
2018-06-20  Michael Meissner  <meissner@linux.ibm.com>

	* gcc.target/powerpc/divkc3-1.c: If the long double default is
	IEEE use long double _Complex to declare the IEEE 128-bit complex
	type.
	* gcc.target/powerpc/float128-complex-1.c: Likewise.
	* gcc.target/powerpc/float128-complex-2.c: Likewise.
	* gcc.target/powerpc/float128-type-1.c: Likewise.
	* gcc.target/powerpc/float128-type-2.c: Likewise.
	* gcc.target/powerpc/mulkc3-1.c: Likewise.

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

Attachment: ieee128-patch122b
Description: Text document


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