This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] POWER8 default for PPC64LE
- From: Bill Schmidt <wschmidt at linux dot vnet dot ibm dot com>
- To: David Edelsohn <dje dot gcc at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Peter Bergner <bergner at vnet dot ibm dot com>, Michael Meissner <meissner at linux dot vnet dot ibm dot com>, Ulrich Weigand <uweigand at de dot ibm dot com>
- Date: Fri, 16 Jan 2015 09:52:02 -0600
- Subject: Re: [RFC] POWER8 default for PPC64LE
- Authentication-results: sourceware.org; auth=none
- References: <CAGWvnyk5WC96w5RbOq-D_2Pytur+bhqoHA5ZpRBe5Q5iwyiStg at mail dot gmail dot com>
Hi David,
Something's not quite right here -- we've been having bootstrap failures
with BE and LE PPC64 Linux. Maybe a missing include?
g++ -c -g -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -
W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-format -Wmissing-format-
attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wn
o-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/gccbuild/gcc_t
runk_anonsvn/gcc/gcc -I/home/gccbuild/gcc_trunk_anonsvn/gcc/gcc/. -I/home/gccbui
ld/gcc_trunk_anonsvn/gcc/gcc/../include -I/home/gccbuild/gcc_trunk_anonsvn/gcc/g
cc/../libcpp/include -I/home/gccbuild/gcc_trunk_anonsvn/gcc/gcc/../libdecnumber
-I/home/gccbuild/gcc_trunk_anonsvn/gcc/gcc/../libdecnumber/dpd -I../libdecnumbe
r -I/home/gccbuild/gcc_trunk_anonsvn/gcc/gcc/../libbacktrace -o options.o -MT
options.o -MMD -MP -MF ./.deps/options.TPo options.c
In file included from tm.h:30:0,
from options.c:7:
/home/gccbuild/gcc_trunk_anonsvn/gcc/gcc/config/rs6000/default64.h:23:25: error:
âISA_2_7_MASKS_SERVERâ was not declared in this scope
#define TARGET_DEFAULT (ISA_2_7_MASKS_SERVER | MASK_POWERPC64 | MASK_64BIT | MA
SK_LITTLE_ENDIAN)
^
options.c:828:3: note: in expansion of macro âTARGET_DEFAULTâ
TARGET_DEFAULT, /* rs6000_isa_flags */
^
make[3]: *** [options.o] Error 1
make[3]: *** Waiting for unfinished jobs....
Bill
On Wed, 2015-01-14 at 15:32 -0500, David Edelsohn wrote:
> The PPC64LE ABI specifies POWER8 ISA as the minimum hardware
> requierment. Currently, Linux distributions are building the
> toolchain using --with-cpu=power7 or power8, as they wish. GCC
> defaults to essentially the POWER4 ISA.
>
> The appended patch changes the default for PPC64LE to POWER8 (ISA
> 2.7). 32-bit PPC SVR4 is not really defined, but it is left unchanged
> with no minimum ISA.
>
> The default ISA can be overridden using --with-cpu= and we presume
> that Linux distributions and users will continue to configure as they
> require for their deployment.
>
> * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA
> 2.7 (POWER8).
>
> Thanks, David
>
> Index: default64.h
> ===================================================================
> --- default64.h (revision 219607)
> +++ default64.h (working copy)
> @@ -20,7 +20,7 @@
>
> #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
> #undef TARGET_DEFAULT
> -#define TARGET_DEFAULT (MASK_PPC_GFXOPT | MASK_POWERPC64 | MASK_64BIT
> | MASK_LITTLE_ENDIAN)
> +#define TARGET_DEFAULT (ISA_2_7_MASKS_SERVER | MASK_POWERPC64 |
> MASK_64BIT | MASK_LITTLE_ENDIAN)
> #else
> #undef TARGET_DEFAULT
> #define TARGET_DEFAULT (MASK_PPC_GFXOPT | MASK_POWERPC64 | MASK_64BIT)
>