[PATCH 5/7] [ARC] Enable indexed loads for elf targers.

Andrew Burgess andrew.burgess@embecosm.com
Thu Jul 13 11:55:00 GMT 2017


* Claudiu Zissulescu <Claudiu.Zissulescu@synopsys.com> [2017-06-01 15:34:55 +0200]:

> gcc/
> 2017-02-28  Claudiu Zissulescu  <claziss@synopsys.com>
> 
> 	* config/arc/arc.opt (mindexed-loads): Use initial value
> 	TARGET_INDEXED_LOADS_DEFAULT.
> 	(mauto-modify-reg): Use initial value
> 	TARGET_AUTO_MODIFY_REG_DEFAULT.
> 	* config/arc/elf.h (TARGET_INDEXED_LOADS_DEFAULT): Define.
> 	(TARGET_AUTO_MODIFY_REG_DEFAULT): Likewise.
> 	* config/arc/linux.h (TARGET_INDEXED_LOADS_DEFAULT): Define.
> 	(TARGET_AUTO_MODIFY_REG_DEFAULT): Likewise.

The change looks fine, but it would be nice if the commit message
explained _why_ we are default off for Linux and on for Elf, I think
more text in the commit message on this sort of thing will help future
developers understand why things are the way they are.

Thanks,
Andrew



> ---
>  gcc/config/arc/arc.opt | 4 ++--
>  gcc/config/arc/elf.h   | 8 ++++++++
>  gcc/config/arc/linux.h | 8 ++++++++
>  3 files changed, 18 insertions(+), 2 deletions(-)
> 
> diff --git a/gcc/config/arc/arc.opt b/gcc/config/arc/arc.opt
> index f01a2ff..ed2b827 100644
> --- a/gcc/config/arc/arc.opt
> +++ b/gcc/config/arc/arc.opt
> @@ -270,11 +270,11 @@ Target RejectNegative Var(arc_tune, TUNE_ARC700_4_2_XMAC)
>  Tune for ARC700 R4.2 Cpu with XMAC block.
>  
>  mindexed-loads
> -Target Var(TARGET_INDEXED_LOADS)
> +Target Var(TARGET_INDEXED_LOADS) Init(TARGET_INDEXED_LOADS_DEFAULT)
>  Enable the use of indexed loads.
>  
>  mauto-modify-reg
> -Target Var(TARGET_AUTO_MODIFY_REG)
> +Target Var(TARGET_AUTO_MODIFY_REG) Init(TARGET_AUTO_MODIFY_REG_DEFAULT)
>  Enable the use of pre/post modify with register displacement.
>  
>  mmul32x16
> diff --git a/gcc/config/arc/elf.h b/gcc/config/arc/elf.h
> index c5794f8..43f3408 100644
> --- a/gcc/config/arc/elf.h
> +++ b/gcc/config/arc/elf.h
> @@ -58,3 +58,11 @@ along with GCC; see the file COPYING3.  If not see
>  /* Bare-metal toolchains do not need a thread pointer register.  */
>  #undef TARGET_ARC_TP_REGNO_DEFAULT
>  #define TARGET_ARC_TP_REGNO_DEFAULT -1
> +
> +/* Indexed loads are default.  */
> +#undef TARGET_INDEXED_LOADS_DEFAULT
> +#define TARGET_INDEXED_LOADS_DEFAULT 1
> +
> +/* Pre/post modify with register displacement are default.  */
> +#undef TARGET_AUTO_MODIFY_REG_DEFAULT
> +#define TARGET_AUTO_MODIFY_REG_DEFAULT 1
> diff --git a/gcc/config/arc/linux.h b/gcc/config/arc/linux.h
> index 83e5a1d..d8e0063 100644
> --- a/gcc/config/arc/linux.h
> +++ b/gcc/config/arc/linux.h
> @@ -83,3 +83,11 @@ along with GCC; see the file COPYING3.  If not see
>  #define SUBTARGET_CPP_SPEC "\
>     %{pthread:-D_REENTRANT} \
>  "
> +
> +/* Indexed loads are default off.  */
> +#undef TARGET_INDEXED_LOADS_DEFAULT
> +#define TARGET_INDEXED_LOADS_DEFAULT 0
> +
> +/* Pre/post modify with register displacement are default off.  */
> +#undef TARGET_AUTO_MODIFY_REG_DEFAULT
> +#define TARGET_AUTO_MODIFY_REG_DEFAULT 0
> -- 
> 1.9.1
> 



More information about the Gcc-patches mailing list