[RS6000] PowerPC -mcpu=native support
authorAlan Modra <amodra@gmail.com>
Tue, 27 Nov 2018 01:56:06 +0000 (12:26 +1030)
committerAlan Modra <amodra@gcc.gnu.org>
Tue, 27 Nov 2018 01:56:06 +0000 (12:26 +1030)
commit28a095763f48725900eb86f7b4ee1b17c2e7afff
treefe44222f3f91b3397f46fd04d6b70cc98003635f
parent3da39f52ff740ad4263a000c48fd5a6d9afd18fd
[RS6000] PowerPC -mcpu=native support

The -mcpu=native support has bit-rotted a little, in particular the
fallback when the native cpu couldn't be determined.  This patch fixes
the bit-rot and reorganizes ASM_CPU_SPEC so that it should be a little
easier to keep the -mcpu=native data up to date.

The patch also changes the fix for PR63177 (-mpower9-vector being
passed by the user when the default is -mpower8) to also apply when
-mcpu=powerpc64le and -mcpu=native is given.  I'll note that the hack
for PR63177 should probably be extended to lots of other options, if
we're going to continue supporting all those sub-architecture options
(-mpower9-vector, -mpower8-vector, -mcrypto, -mdirect-move, -mhtm,
-mvsx and others) in the positive sense.  I think those should have
only been supported in their -mno- variants..

* config/rs6000/aix71.h (ASM_SPEC): Don't select default -maix64
cpu here.
(ASM_CPU_SPEC): Do so here.  Rewrite using if .. else if .. specs
form.  Error on missing -mcpu case.
* config/rs6000/driver-rs6000.c (asm_names <_AIX>): Update NULL case.
(asm_names <!_AIX>): Add missing cpus.  Update NULL case.  Apply
PR63177 fix for -mcpu=power8 and -mcpu=powerpc64le.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Rewrite using if ..
else if .. specs form.  Error on missing -mcpu case.  Don't output
duplicate -maltivec.  Apply PR63177 fix for -mcpu=powerpc64le.

From-SVN: r266502
gcc/ChangeLog
gcc/config/rs6000/aix71.h
gcc/config/rs6000/driver-rs6000.c
gcc/config/rs6000/rs6000.h