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]

[PATCH] Add powerpc64-linux configuration options


On powerpc64-linux systems that run on IBM servers, the 32-bit software
emulation library is not built with the Red Hat and SUSE distributions, but the
FSF sources still list it as a multilib.  This patch adds a configuration
option (--disable-ppc64-swfloat) to disable building this library.

We've also seen some performance issues where building the multilibs with the
-mstrict-align option causes slow downs.  I vaguelly recall adding this option
in the 1995 time frame, because the 603, 604 systems of the day did not handle
unaligned accesses in little endian mode, and maybe some of the other embedded
chips did not handle unaligned accesses at all.  This patch also adds an option
(--disable-ppc64-strict-align) to disable building the multilibs with
-mstrict-align.

I have bootstrapped the compiler with and without the changes, and there are no
differences.  Is it ok to apply?

An alternative would be for the powerpc64-linux case, should we just delete the
software floating emulation multilib and stop using the -mstrict-align, since
Linux only runs in big endian mode.  The software emulation multilib would be
built for other powerpc varients and -mstrict-align would be used there as
well.

2012-05-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* configure.ac (--disable-ppc64-swfloat): New configure switches
	for powerpc64-linux to disable building multlibs for 32-bit
	software floating point emulation, and to remove the
	-mstrict-align option from the multilib options.
	(--disable-ppc64-strict-align): Likewise.
	* config.gcc (powerpc64-linux): Likewise.
	* configure: Regenerate.

	* config/rs6000/t-linux64-noalign: New configuration files for
	enabling and disabling building the libraries with
	-mstrict-align.
	* config/rs6000/t-linux64-align: Likewise.
	* config/rs6000/t-linux64-noswflt: New configuration file to
	disable building the 32-bit software floating point emulation
	library.
	* config/rs6000/t-linux64 (MULTILIB_EXTRA_OPTS): Move to
	t-linux64-align and t-linux64-noalign.

	* doc/install.texi (--disable-ppc64-swfloat): Document.
	(--dsiable-ppc64-strict-align): Likewise.

-- 
Michael Meissner, IBM
5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA
meissner@linux.vnet.ibm.com	fax +1 (978) 399-6899

Attachment: gcc-power7.patch340b
Description: Text document


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