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], Add power9 support to GCC, patch #1 (revised)


On Sun, Nov 8, 2015 at 4:33 PM, Michael Meissner
<meissner@linux.vnet.ibm.com> wrote:
> This is patch #1 that I revised.  I changed -mfusion-toc to -mtoc-fusion.  I
> changed the references to ISA 2.08 to 3.0.  I added two new debug switches for
> code in future patches that in undergoing development and is not ready to be on
> by default.
>
> I have done a bootstrap build on a little endian power8 system and there were
> no regressions in this patch.  Is it ok to install in the trunk?
>
> 2015-11-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
>
>         * config/rs6000/rs6000.opt (-mpower9-fusion): Add new switches for
>         ISA 3.0 (power9).
>         (-mpower9-vector): Likewise.
>         (-mpower9-dform): Likewise.
>         (-mpower9-minmax): Likewise.
>         (-mtoc-fusion): Likewise.
>         (-mmodulo): Likewise.
>         (-mfloat128-hardware): Likewise.
>
>         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add option
>         mask for ISA 3.0 (power9).
>         (POWERPC_MASKS): Add new ISA 3.0 switches.
>         (power9 cpu): Add power9 cpu.
>
>         * config/rs6000/rs6000.h (ASM_CPU_POWER9_SPEC): Add support for
>         power9.
>         (ASM_CPU_SPEC): Likewise.
>         (EXTRA_SPECS): Likewise.
>
>         * config/rs6000/rs6000-opts.h (enum processor_type): Add
>         PROCESSOR_POWER9.
>
>         * config/rs6000/rs6000.c (power9_cost): Initial cost setup for
>         power9.
>         (rs6000_debug_reg_global): Add support for power9 fusion.
>         (rs6000_setup_reg_addr_masks): Cache mode size.
>         (rs6000_option_override_internal): Until real power9 tuning is
>         added, use -mtune=power8 for -mcpu=power9.
>         (rs6000_setup_reg_addr_masks): Do not allow pre-increment,
>         pre-decrement, or pre-modify on SFmode/DFmode if we allow the use
>         of Altivec registers.
>         (rs6000_option_override_internal): Add support for ISA 3.0
>         switches.
>         (rs6000_loop_align): Add support for power9 cpu.
>         (rs6000_file_start): Likewise.
>         (rs6000_adjust_cost): Likewise.
>         (rs6000_issue_rate): Likewise.
>         (insn_must_be_first_in_group): Likewise.
>         (insn_must_be_last_in_group): Likewise.
>         (force_new_group): Likewise.
>         (rs6000_register_move_cost): Likewise.
>         (rs6000_opt_masks): Likewise.
>
>         * config/rs6000/rs6000.md (cpu attribute): Add power9.
>         * config/rs6000/rs6000-tables.opt: Regenerate.
>
>         * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
>         _ARCH_PWR9 if power9 support is available.
>
>         * config/rs6000/aix61.h (ASM_CPU_SPEC): Add power9.
>         * config/rs6000/aix53.h (ASM_CPU_SPEC): Likewise.
>
>         * configure.ac: Determine if the assembler supports the ISA 3.0
>         instructions.
>         * config.in (HAVE_AS_POWER9): Likewise.
>         * configure: Regenerate.
>
>         * doc/invoke.texi (RS/6000 and PowerPC Options): Document ISA 3.0
>         switches.

Okay.

Thanks, David


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