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: [RFC] POWER8 default for PPC64LE


Supporting this turned out to be more involved.  --with-cpu implicitly
adds -mcpu to all specs, which invokes the assembler with the correct
option.  Directly setting TARGET_DEFAULT does not adjust the assembler
invocation.

This patch adds support to rs6000_file_start to emit the .machine
assembler pseudo-op to inform the assembler of the processor type.
For the moment, the .machine pseudo-op is not emitted if --with-cpu or
-mcpu= was used because the assembly explicitly is invoked with the
processor type.  The default is machine ppc64 or ppc.  The
implementation does not attempt to cover the various embedded
processors, but they already were configured explicitly.

The machine type only is emitted for ELF files.  Darwin already emits
the option and I am skipping this on AIX for the moment.

The patch also changes the default processor tuning to POWER8 for
PPC64 big endian Linux and detects POWER7 on AIX.

Thanks, David

        * config/rs6000/default64.h: Include rs6000-cpus.def.
        (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
        * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7.
        * config/rs6000/linux64.h: Always default to POWER8.
        * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
        pseudo-op to specify assembler dialect.

Attachment: ZZ
Description: Binary data


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