This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, ARM] Make usage of MOVT/MOVW pairs (vs. constant pool) a tunable parameter
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: Julian Brown <julian at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org, paul at codesourcery dot com, Ramana Radhakrishnan <ramana dot radhakrishnan at linaro dot org>
- Date: Wed, 01 Jun 2011 16:56:34 +0100
- Subject: Re: [PATCH, ARM] Make usage of MOVT/MOVW pairs (vs. constant pool) a tunable parameter
- References: <20110601162404.5c821984@rex.config>
On Wed, 2011-06-01 at 16:24 +0100, Julian Brown wrote:
> This patch allows the usage of MOVT/MOVW pairs (vs. constant-pool loads)
> to be controlled based on the target CPU (-mtune= option), using the ARM
> backend's tuning infrastructure. This is to enable constant-pool loads
> to be used in preference to MOVW/MOVT instruction pairs, when the
> former are faster for a given core.
>
> This patch just adds the field to the tuning structure, and adds
> (dummy) tuning structures. There should be no effective change in
> behaviour.
>
> Testing has not yet completed (but isn't expected to show up anything
> untoward). OK to apply?
>
> Thanks,
>
> Julian
>
> ChangeLog
>
> gcc/
> * arm-cores.def (arm1156t2-s, arm1156t2f-s): Use v6t2 tuning.
> (cortex-a5, cortex-a8, cortex-a15, cortex-r4, cortex-r4f, cortex-m4)
> (cortex-m3, cortex-m1, cortex-m0): Use cortex tuning.
> * config/arm/arm-protos.h (tune_params): Add prefer_constant_pool
> field.
> * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune)
> (arm_xscale_tune, arm_9e_tune, arm_cortex_a9_tune)
> (arm_fa726te_tune): Add prefer_constant_pool setting.
> (arm_v6t2_tune, arm_cortex_tune): New.
> * config/arm/arm.h (TARGET_USE_MOVT): Make dependent on
> prefer_constant_pool setting.
OK.
R.