Message ID | e4235fc1-b178-8139-8a55-3f16cc3b56b9@foss.arm.com |
---|---|
State | New |
Headers | show |
On 02/11/16 10:07, Thomas Preudhomme wrote: > Ping? > > Best regards, > > Thomas > > On 26/10/16 17:42, Thomas Preudhomme wrote: >> Hi, >> >> This patch adds support for the Cortex-M33 processor launched by ARM [1]. The >> patch adds support for the name and wires it up to the ARMv8-M Mainline with DSP >> extensions architecture and arm_v7m_tune tuning parameters for the time being. >> It also updates documentation to mention this new processor. >> >> [1] http://www.arm.com/products/processors/cortex-m/cortex-m33-processor.php >> >> ChangeLog entry is as follows: >> >> *** gcc/Changelog *** >> >> 2016-10-26 Thomas Preud'homme <thomas.preudhomme@arm.com> >> >> * config/arm/arm-arches.def (armv8-m.main+dsp): Set Cortex-M33 as >> representative core for this architecture. >> * config/arm/arm-cores.def (cortex-m33): Define new processor. >> * config/arm/arm-tables.opt: Regenerate. >> * config/arm/arm-tune.md: Likewise. >> * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M33 to the list of >> valid -mcpu options. >> * doc/invoke.texi (ARM Options): Document new Cortex-M33 processor. >> >> >> Tested by building libgcc and libstdc++ for Cortex-M33 and running a hello world >> compiled for it. >> >> Is this ok for master? >> Ok. Thanks, Kyrill >> Best regards, >> >> Thomas
On 02/11/16 10:14, Kyrill Tkachov wrote: > > On 02/11/16 10:07, Thomas Preudhomme wrote: >> Ping? >> >> Best regards, >> >> Thomas >> >> On 26/10/16 17:42, Thomas Preudhomme wrote: >>> Hi, >>> >>> This patch adds support for the Cortex-M33 processor launched by ARM [1]. The >>> patch adds support for the name and wires it up to the ARMv8-M Mainline with DSP >>> extensions architecture and arm_v7m_tune tuning parameters for the time being. >>> It also updates documentation to mention this new processor. >>> >>> [1] http://www.arm.com/products/processors/cortex-m/cortex-m33-processor.php >>> >>> ChangeLog entry is as follows: >>> >>> *** gcc/Changelog *** >>> >>> 2016-10-26 Thomas Preud'homme <thomas.preudhomme@arm.com> >>> >>> * config/arm/arm-arches.def (armv8-m.main+dsp): Set Cortex-M33 as >>> representative core for this architecture. >>> * config/arm/arm-cores.def (cortex-m33): Define new processor. >>> * config/arm/arm-tables.opt: Regenerate. >>> * config/arm/arm-tune.md: Likewise. >>> * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M33 to the list of >>> valid -mcpu options. >>> * doc/invoke.texi (ARM Options): Document new Cortex-M33 processor. >>> >>> >>> Tested by building libgcc and libstdc++ for Cortex-M33 and running a hello world >>> compiled for it. >>> >>> Is this ok for master? >>> > > Ok. > Thanks, > Kyrill Committed, thanks. Best regards, Thomas
Hi, We have decided to backport this patch to add support for ARM Cortex-M33 to our embedded-6-branch. 2016-11-09 Thomas Preud'homme <thomas.preudhomme@arm.com> Backport from mainline 2016-11-04 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm-arches.def (armv8-m.main+dsp): Set Cortex-M33 as representative core for this architecture. * config/arm/arm-cores.def (cortex-m33): Define new processor. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Likewise. * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M33 to the list of valid -mcpu options. * doc/invoke.texi (ARM Options): Document new Cortex-M33 processor. Best regards, Thomas On 02/11/16 10:14, Kyrill Tkachov wrote: > > On 02/11/16 10:07, Thomas Preudhomme wrote: >> Ping? >> >> Best regards, >> >> Thomas >> >> On 26/10/16 17:42, Thomas Preudhomme wrote: >>> Hi, >>> >>> This patch adds support for the Cortex-M33 processor launched by ARM [1]. The >>> patch adds support for the name and wires it up to the ARMv8-M Mainline with DSP >>> extensions architecture and arm_v7m_tune tuning parameters for the time being. >>> It also updates documentation to mention this new processor. >>> >>> [1] http://www.arm.com/products/processors/cortex-m/cortex-m33-processor.php >>> >>> ChangeLog entry is as follows: >>> >>> *** gcc/Changelog *** >>> >>> 2016-10-26 Thomas Preud'homme <thomas.preudhomme@arm.com> >>> >>> * config/arm/arm-arches.def (armv8-m.main+dsp): Set Cortex-M33 as >>> representative core for this architecture. >>> * config/arm/arm-cores.def (cortex-m33): Define new processor. >>> * config/arm/arm-tables.opt: Regenerate. >>> * config/arm/arm-tune.md: Likewise. >>> * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M33 to the list of >>> valid -mcpu options. >>> * doc/invoke.texi (ARM Options): Document new Cortex-M33 processor. >>> >>> >>> Tested by building libgcc and libstdc++ for Cortex-M33 and running a hello world >>> compiled for it. >>> >>> Is this ok for master? >>> > > Ok. > Thanks, > Kyrill Committed, thanks. Best regards, Thomas
diff --git a/gcc/config/arm/arm-arches.def b/gcc/config/arm/arm-arches.def index 9293429b3f9a026bcdacc1651c534bdf14d4df1e..cd79bc505853d4dda6cf2e58bdc2d129032befef 100644 --- a/gcc/config/arm/arm-arches.def +++ b/gcc/config/arm/arm-arches.def @@ -73,7 +73,7 @@ ARM_ARCH("armv8-m.base", cortexm23, 8M_BASE, ARM_FSET_MAKE_CPU1 ( FL_FOR_ARCH8M_BASE)) ARM_ARCH("armv8-m.main", cortexm7, 8M_MAIN, ARM_FSET_MAKE_CPU1(FL_CO_PROC | FL_FOR_ARCH8M_MAIN)) -ARM_ARCH("armv8-m.main+dsp", cortexm7, 8M_MAIN, +ARM_ARCH("armv8-m.main+dsp", cortexm33, 8M_MAIN, ARM_FSET_MAKE_CPU1(FL_CO_PROC | FL_ARCH7EM | FL_FOR_ARCH8M_MAIN)) ARM_ARCH("iwmmxt", iwmmxt, 5TE, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_STRONG | FL_FOR_ARCH5TE | FL_XSCALE | FL_IWMMXT)) ARM_ARCH("iwmmxt2", iwmmxt2, 5TE, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_STRONG | FL_FOR_ARCH5TE | FL_XSCALE | FL_IWMMXT | FL_IWMMXT2)) diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def index 940b5de82f0340fc0c26be80d47729bc1f193db0..ec63ee4abe54af06cd5531486f294f9a8dae71a1 100644 --- a/gcc/config/arm/arm-cores.def +++ b/gcc/config/arm/arm-cores.def @@ -168,6 +168,7 @@ ARM_CORE("cortex-a17.cortex-a7", cortexa17cortexa7, cortexa7, 7A, ARM_FSET_MAKE_ /* V8 Architecture Processors */ ARM_CORE("cortex-m23", cortexm23, cortexm23, 8M_BASE, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_FOR_ARCH8M_BASE), v6m) ARM_CORE("cortex-a32", cortexa32, cortexa53, 8A, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_CRC32 | FL_FOR_ARCH8A), cortex_a35) +ARM_CORE("cortex-m33", cortexm33, cortexm33, 8M_MAIN, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_ARCH7EM | FL_FOR_ARCH8M_MAIN), v7m) ARM_CORE("cortex-a35", cortexa35, cortexa53, 8A, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_CRC32 | FL_FOR_ARCH8A), cortex_a35) ARM_CORE("cortex-a53", cortexa53, cortexa53, 8A, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_CRC32 | FL_FOR_ARCH8A), cortex_a53) ARM_CORE("cortex-a57", cortexa57, cortexa57, 8A, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_CRC32 | FL_FOR_ARCH8A), cortex_a57) diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt index de712924afd33ba1e6e65cb56a5b260858d0cc4f..f7886b94be779fcba91506e77574662fe7188876 100644 --- a/gcc/config/arm/arm-tables.opt +++ b/gcc/config/arm/arm-tables.opt @@ -313,6 +313,9 @@ EnumValue Enum(processor_type) String(cortex-a32) Value(cortexa32) EnumValue +Enum(processor_type) String(cortex-m33) Value(cortexm33) + +EnumValue Enum(processor_type) String(cortex-a35) Value(cortexa35) EnumValue diff --git a/gcc/config/arm/arm-tune.md b/gcc/config/arm/arm-tune.md index 46c2c9258bcad43618a50f6201414fa084cb5b56..e782baccf424e51ac19ef5f02d25ed4f4eb0541d 100644 --- a/gcc/config/arm/arm-tune.md +++ b/gcc/config/arm/arm-tune.md @@ -33,8 +33,9 @@ cortexr8,cortexm7,cortexm4, cortexm3,marvell_pj4,cortexa15cortexa7, cortexa17cortexa7,cortexm23,cortexa32, - cortexa35,cortexa53,cortexa57, - cortexa72,cortexa73,exynosm1, - qdf24xx,xgene1,cortexa57cortexa53, - cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53" + cortexm33,cortexa35,cortexa53, + cortexa57,cortexa72,cortexa73, + exynosm1,qdf24xx,xgene1, + cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35, + cortexa73cortexa53" (const (symbol_ref "((enum attr_tune) arm_tune)"))) diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h index 302302f0d2d522fe282bb1d12687b53de72cae25..d45a1ca421901da25e16d965a9474438ea10f349 100644 --- a/gcc/config/arm/bpabi.h +++ b/gcc/config/arm/bpabi.h @@ -97,7 +97,7 @@ |march=armv8.2-a+fp16 \ |march=armv8-m.base|mcpu=cortex-m23 \ |march=armv8-m.main \ - |march=armv8-m.main+dsp \ + |march=armv8-m.main+dsp|mcpu=cortex-m33 \ :%{!r:--be8}}}" #else #define BE8_LINK_SPEC \ @@ -136,7 +136,7 @@ |march=armv8.2-a+fp16 \ |march=armv8-m.base|mcpu=cortex-m23 \ |march=armv8-m.main \ - |march=armv8-m.main+dsp \ + |march=armv8-m.main+dsp|mcpu=cortex-m33 \ :%{!r:--be8}}}" #endif diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 42f0307b36e4fe75c946a64bf6258a1ba1bd7b3d..de328dd6c475b498c64113398e49e319fd5a982e 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -14853,6 +14853,7 @@ Permissible names are: @samp{arm2}, @samp{arm250}, @samp{cortex-a32}, @samp{cortex-a35}, @samp{cortex-a53}, @samp{cortex-a57}, @samp{cortex-a72}, @samp{cortex-a73}, @samp{cortex-r4}, @samp{cortex-r4f}, @samp{cortex-r5}, @samp{cortex-r7}, @samp{cortex-r8}, +@samp{cortex-m33}, @samp{cortex-m23}, @samp{cortex-m7}, @samp{cortex-m4},