diff mbox

[PATCH/AARCH64] Accept vulcan as a cpu name for the AArch64 port of GCC

Message ID CANx+fTD5Jc-ZQTB9Cf4own4B0TebVPO7WXHkAvs+Rp90cHxpkA@mail.gmail.com
State New
Headers show

Commit Message

Virendra Pathak June 17, 2016, 8:27 p.m. UTC
Hi,

Please find the patch for introducing vulcan as a cpu name for the
AArch64 port of GCC.
Broadcom's vulcan is an armv8.1-a aarch64 server processor.

Since vulcan is the first armv8.1-a processor to be introduced in
aarch64-cores.def,
I have created a new section in the file for the armv8.1 based processors.
Kindly let me know if that is okay.

Tested the patch with cross aarch64-linux-gnu, bootstrapped native
aarch64-unknown-linux-gnu
and make check (gcc, ld, gas, binutils, gdb).
No new regression failure is added by this patch.

In addition, tested -mcpu=vulcan -mtune=vulcan flags by passing them
via command line.
Also verified that above flags passes armv8.1-a option to assembler(as).

At present we are using schedule & cost model of cortex-a57 but
soon we will be submitting one for vulcan.

Please review the patch.
Ok for trunk?


gcc/ChangeLog:

Virendra Pathak <virendra.pathak@broadcom.com>

        * config/aarch64/aarch64-cores.def (vulcan): New core.
        * config/aarch64/aarch64-tune.md: Regenerate.
        * doc/invoke.texi: Document vulcan as an available option.




with regards,
Virendra Pathak
From be0c77cce98d6dffe7b8d607df25ecb4386a1d34 Mon Sep 17 00:00:00 2001
From: Virendra Pathak <virendra.pathak@broadcom.com>
Date: Mon, 13 Jun 2016 03:18:08 -0700
Subject: [PATCH] [AArch64] Accept vulcan as a cpu name for the AArch64 port of
 GCC

---
 gcc/config/aarch64/aarch64-cores.def | 4 ++++
 gcc/config/aarch64/aarch64-tune.md   | 2 +-
 gcc/doc/invoke.texi                  | 4 ++--
 3 files changed, 7 insertions(+), 3 deletions(-)

Comments

James Greenhalgh June 21, 2016, 1:46 p.m. UTC | #1
On Sat, Jun 18, 2016 at 01:57:43AM +0530, Virendra Pathak wrote:
> Hi,
> 
> Please find the patch for introducing vulcan as a cpu name for the
> AArch64 port of GCC.
> Broadcom's vulcan is an armv8.1-a aarch64 server processor.
> 
> Since vulcan is the first armv8.1-a processor to be introduced in
> aarch64-cores.def,
> I have created a new section in the file for the armv8.1 based processors.
> Kindly let me know if that is okay.
> 
> Tested the patch with cross aarch64-linux-gnu, bootstrapped native
> aarch64-unknown-linux-gnu
> and make check (gcc, ld, gas, binutils, gdb).
> No new regression failure is added by this patch.
> 
> In addition, tested -mcpu=vulcan -mtune=vulcan flags by passing them
> via command line.
> Also verified that above flags passes armv8.1-a option to assembler(as).
> 
> At present we are using schedule & cost model of cortex-a57 but
> soon we will be submitting one for vulcan.
> 
> Please review the patch.
> Ok for trunk?
> 

This patch is OK for trunk.

I couldn't spot your name in the MAINTAINERS file, so I've applied this
on your behalf as revision 237645.

Thank you for the patch.

Thanks,
James

> gcc/ChangeLog:
> 
> Virendra Pathak <virendra.pathak@broadcom.com>
> 
>         * config/aarch64/aarch64-cores.def (vulcan): New core.
>         * config/aarch64/aarch64-tune.md: Regenerate.
>         * doc/invoke.texi: Document vulcan as an available option.
>
Virendra Pathak June 21, 2016, 2:16 p.m. UTC | #2
Hi James,

> This patch is OK for trunk.
Thank you for the review and merging the patch to trunk.

> I couldn't spot your name in the MAINTAINERS file, so I've applied this
> on your behalf as revision 237645.
My name is not present in the MAINTAINERS file. This was my first
patch in the GCC :-)
In future I will request aarch64's maintainers to apply the patches
on my behalf after review (to avoid any confusion).

Thanks.

with regards,
Virendra Pathak

On Tue, Jun 21, 2016 at 7:16 PM, James Greenhalgh
<james.greenhalgh@arm.com> wrote:
>
> On Sat, Jun 18, 2016 at 01:57:43AM +0530, Virendra Pathak wrote:
> > Hi,
> >
> > Please find the patch for introducing vulcan as a cpu name for the
> > AArch64 port of GCC.
> > Broadcom's vulcan is an armv8.1-a aarch64 server processor.
> >
> > Since vulcan is the first armv8.1-a processor to be introduced in
> > aarch64-cores.def,
> > I have created a new section in the file for the armv8.1 based processors.
> > Kindly let me know if that is okay.
> >
> > Tested the patch with cross aarch64-linux-gnu, bootstrapped native
> > aarch64-unknown-linux-gnu
> > and make check (gcc, ld, gas, binutils, gdb).
> > No new regression failure is added by this patch.
> >
> > In addition, tested -mcpu=vulcan -mtune=vulcan flags by passing them
> > via command line.
> > Also verified that above flags passes armv8.1-a option to assembler(as).
> >
> > At present we are using schedule & cost model of cortex-a57 but
> > soon we will be submitting one for vulcan.
> >
> > Please review the patch.
> > Ok for trunk?
> >
>
> This patch is OK for trunk.
>
> I couldn't spot your name in the MAINTAINERS file, so I've applied this
> on your behalf as revision 237645.
>
> Thank you for the patch.
>
> Thanks,
> James
>
> > gcc/ChangeLog:
> >
> > Virendra Pathak <virendra.pathak@broadcom.com>
> >
> >         * config/aarch64/aarch64-cores.def (vulcan): New core.
> >         * config/aarch64/aarch64-tune.md: Regenerate.
> >         * doc/invoke.texi: Document vulcan as an available option.
> >
>
diff mbox

Patch

diff --git a/gcc/config/aarch64/aarch64-cores.def b/gcc/config/aarch64/aarch64-cores.def
index 251a3eb..ced8f94 100644
--- a/gcc/config/aarch64/aarch64-cores.def
+++ b/gcc/config/aarch64/aarch64-cores.def
@@ -49,6 +49,10 @@  AARCH64_CORE("qdf24xx",     qdf24xx,   cortexa57, 8A,  AARCH64_FL_FOR_ARCH8 | AA
 AARCH64_CORE("thunderx",    thunderx,  thunderx,  8A,  AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC | AARCH64_FL_CRYPTO, thunderx,  "0x43", "0x0a1")
 AARCH64_CORE("xgene1",      xgene1,    xgene1,    8A,  AARCH64_FL_FOR_ARCH8, xgene1, "0x50", "0x000")
 
+/* V8.1 Architecture Processors.  */
+
+AARCH64_CORE("vulcan",  vulcan, cortexa57, 8_1A,  AARCH64_FL_FOR_ARCH8_1 | AARCH64_FL_CRYPTO, cortexa57, "0x42", "0x516")
+
 /* V8 big.LITTLE implementations.  */
 
 AARCH64_CORE("cortex-a57.cortex-a53",  cortexa57cortexa53, cortexa53, 8A,  AARCH64_FL_FOR_ARCH8 | AARCH64_FL_CRC, cortexa57, "0x41", "0xd07.0xd03")
diff --git a/gcc/config/aarch64/aarch64-tune.md b/gcc/config/aarch64/aarch64-tune.md
index cbc6f48..8c4a0e9 100644
--- a/gcc/config/aarch64/aarch64-tune.md
+++ b/gcc/config/aarch64/aarch64-tune.md
@@ -1,5 +1,5 @@ 
 ;; -*- buffer-read-only: t -*-
 ;; Generated automatically by gentune.sh from aarch64-cores.def
 (define_attr "tune"
-	"cortexa35,cortexa53,cortexa57,cortexa72,exynosm1,qdf24xx,thunderx,xgene1,cortexa57cortexa53,cortexa72cortexa53"
+	"cortexa35,cortexa53,cortexa57,cortexa72,exynosm1,qdf24xx,thunderx,xgene1,vulcan,cortexa57cortexa53,cortexa72cortexa53"
 	(const (symbol_ref "((enum attr_tune) aarch64_tune)")))
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index aa11209..2666592 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -13063,8 +13063,8 @@  Specify the name of the target processor for which GCC should tune the
 performance of the code.  Permissible values for this option are:
 @samp{generic}, @samp{cortex-a35}, @samp{cortex-a53}, @samp{cortex-a57},
 @samp{cortex-a72}, @samp{exynos-m1}, @samp{qdf24xx}, @samp{thunderx},
-@samp{xgene1}, @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53},
-@samp{native}.
+@samp{xgene1}, @samp{vulcan}, @samp{cortex-a57.cortex-a53},
+@samp{cortex-a72.cortex-a53}, @samp{native}.
 
 The values @samp{cortex-a57.cortex-a53}, @samp{cortex-a72.cortex-a53}
 specify that GCC should tune for a big.LITTLE system.