+2016-11-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * config/arm/arm-arches.def (armv8-m.base): Set Cortex-M23 as
+ representative core for this architecture.
+ * config/arm/arm-cores.def (cortex-m23): Define new processor.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm-tune.md: Likewise.
+ * config/arm/arm.c (arm_v6m_tune): Add Cortex-M23 to the list of cores
+ this tuning parameters apply to in the comment.
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex-M23 to the list of
+ valid -mcpu options.
+ * doc/invoke.texi (ARM Options): Document new Cortex-M23 processor.
+
2016-11-04 Bin Cheng <bin.cheng@arm.com>
* fold-const.c (fold_cond_expr_with_comparison): Remove call
ARM_ARCH ("armv8.2-a+fp16", cortexa53, 8A,
ARM_FSET_MAKE (FL_CO_PROC | FL_CRC32 | FL_FOR_ARCH8A,
FL2_FOR_ARCH8_2A | FL2_FP16INST))
-ARM_ARCH("armv8-m.base", cortexm0, 8M_BASE,
+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_CORE("cortex-a17.cortex-a7", cortexa17cortexa7, cortexa7, 7A, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV | FL_FOR_ARCH7A), cortex_a12)
/* 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-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)
EnumValue
Enum(processor_type) String(cortex-a17.cortex-a7) Value(cortexa17cortexa7)
+EnumValue
+Enum(processor_type) String(cortex-m23) Value(cortexm23)
+
EnumValue
Enum(processor_type) String(cortex-a32) Value(cortexa32)
cortexr4f,cortexr5,cortexr7,
cortexr8,cortexm7,cortexm4,
cortexm3,marvell_pj4,cortexa15cortexa7,
- cortexa17cortexa7,cortexa32,cortexa35,
- cortexa53,cortexa57,cortexa72,
- cortexa73,exynosm1,qdf24xx,
- xgene1,cortexa57cortexa53,cortexa72cortexa53,
- cortexa73cortexa35,cortexa73cortexa53"
+ cortexa17cortexa7,cortexm23,cortexa32,
+ cortexa35,cortexa53,cortexa57,
+ cortexa72,cortexa73,exynosm1,
+ qdf24xx,xgene1,cortexa57cortexa53,
+ cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53"
(const (symbol_ref "((enum attr_tune) arm_tune)")))
};
/* 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. */
+ arm_v6t2_tune. It is used for cortex-m0, cortex-m1, cortex-m0plus and
+ cortex-m23. */
const struct tune_params arm_v6m_tune =
{
arm_9e_rtx_costs,
|march=armv8.1-a+crc \
|march=armv8.2-a \
|march=armv8.2-a+fp16 \
- |march=armv8-m.base \
+ |march=armv8-m.base|mcpu=cortex-m23 \
|march=armv8-m.main \
|march=armv8-m.main+dsp \
:%{!r:--be8}}}"
|march=armv8.1-a+crc \
|march=armv8.2-a \
|march=armv8.2-a+fp16 \
- |march=armv8-m.base \
+ |march=armv8-m.base|mcpu=cortex-m23 \
|march=armv8-m.main \
|march=armv8-m.main+dsp \
:%{!r:--be8}}}"
@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-m23},
@samp{cortex-m7},
@samp{cortex-m4},
@samp{cortex-m3},