Ping?
https://gcc.gnu.org/ml/gcc-patches/2014-10/msg02025.html

Thanks
Hale Wang

> -----Original Message-----
> From: Hale Wang [mailto:hale.w...@arm.com]
> Sent: Tuesday, October 21, 2014 5:57 PM
> To: Hale Wang; gcc-patches@gcc.gnu.org
> Subject: RE: [PATCH] Add arm_cortex_m7_tune.
> 
> Attach the patch.
> 
> > -----Original Message-----
> > From: gcc-patches-ow...@gcc.gnu.org [mailto:gcc-patches-
> > ow...@gcc.gnu.org] On Behalf Of Hale Wang
> > Sent: Tuesday, October 21, 2014 5:49 PM
> > To: gcc-patches@gcc.gnu.org
> > Subject: [PATCH] Add arm_cortex_m7_tune.
> >
> > Hi,
> >
> > This patch is used to tune the gcc for Cortex-M7.
> >
> > The performance of Dhrystone can be improved by 1%.
> > The performance of Coremark can be improved by 2.3%.
> >
> > Patch also attached for convenience.
> >
> > Is it ok for trunk?
> >
> > Thanks and Best Regards,
> > Hale Wang
> >
> > gcc/ChangeLog
> > 2014-10-11  Hale Wang  <hale.w...@arm.com>
> >
> >                 * config/arm/arm.c: Add cortex-m7 tune.
> >                 * config/arm/arm-cores.def: Use cortex-m7 tune.
> >
> > diff --git a/gcc/config/arm/arm-cores.def
> > b/gcc/config/arm/arm-cores.def index 56ec7fd..3b34173 100644
> > --- a/gcc/config/arm/arm-cores.def
> > +++ b/gcc/config/arm/arm-cores.def
> > @@ -149,7 +149,7 @@ ARM_CORE("cortex-r4",
> > cortexr4, cortexr4,                          7R,  FL_LDSCHED, cortex)
> > ARM_CORE("cortex-r4f",                            cortexr4f, cortexr4f,
> > 7R,  FL_LDSCHED, cortex)
> > ARM_CORE("cortex-r5",                              cortexr5, cortexr5,
> > 7R,  FL_LDSCHED | FL_ARM_DIV, cortex)
> > ARM_CORE("cortex-r7",                              cortexr7, cortexr7,
> > 7R,  FL_LDSCHED | FL_ARM_DIV, cortex)
> > -ARM_CORE("cortex-m7",                           cortexm7, cortexm7,
> > 7EM, FL_LDSCHED, v7m)
> > +ARM_CORE("cortex-m7",                          cortexm7, cortexm7,
> > 7EM, FL_LDSCHED, cortex_m7)
> > ARM_CORE("cortex-m4",                           cortexm4, cortexm4,
> > 7EM, FL_LDSCHED, v7m)
> > ARM_CORE("cortex-m3",                           cortexm3, cortexm3,
> > 7M,  FL_LDSCHED, v7m)
> > ARM_CORE("marvell-pj4",                         marvell_pj4,
marvell_pj4,
> > 7A,  FL_LDSCHED, 9e)
> > diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index
> > 93b989d..834b13a 100644
> > --- a/gcc/config/arm/arm.c
> > +++ b/gcc/config/arm/arm.c
> > @@ -2003,6 +2003,27 @@ const struct tune_params arm_v7m_tune =
> >    8
> > /* Maximum insns to inline memset.  */ };
> >
> > +/* Cortex-M7 tuning.  */
> > +
> > +const struct tune_params arm_cortex_m7_tune = {
> > +  arm_9e_rtx_costs,
> > +  &v7m_extra_costs,
> > +  NULL,
> > /* Sched adj cost.  */
> > +  0,
> > /* Constant limit.  */
> > +  0,
> > /* Max cond insns.  */
> > +  ARM_PREFETCH_NOT_BENEFICIAL,
> > +  true,
> > /* Prefer constant pool.  */
> > +  arm_cortex_m_branch_cost,
> > +  false,
> > /* Prefer LDRD/STRD.  */
> > +  {true, true},
> > /* Prefer non short circuit.  */
> > +  &arm_default_vec_cost,                        /* Vectorizer costs.
*/
> > +  false,                                        /* Prefer Neon for
64-bits
> > bitops.  */
> > +  false, false,                                 /* Prefer 32-bit
encodings.
> > */
> > +  false,
> > /* Prefer Neon for stringops.  */
> > +  8
> > /* Maximum insns to inline memset.  */
> > +};
> > +
> > /* The arm_v6m_tune is duplicated from arm_cortex_tune, rather than
> >     arm_v6t2_tune. It is used for cortex-m0, cortex-m1 and
cortex-m0plus.
> > */
> > const struct tune_params arm_v6m_tune =
> >
> >
> >

Attachment: cortex-m7-tune-2.patch
Description: Binary data

Reply via email to