@@ -1,3 +1,9 @@
+2018-02-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * config/arm/arm-cpus.in (cortex-m33+nodsp): Define.
+ * doc/invoke.texi: Document +nodsp as a valid extension for
+ -mcpu=cortex-m33.
+
2017-11-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
Cherry-pick from GCC 7
@@ -789,6 +789,13 @@ static const struct arm_arch_core_flag arm_arch_core_flags[] =
},
},
{
+ "cortex-m33+nodsp",
+ {
+ ISA_ARMv8m_main,
+ isa_nobit
+ },
+ },
+ {
"cortex-r52",
{
ISA_ARMv8r,isa_bit_crc32,
@@ -1221,6 +1221,17 @@ static const struct processors all_cores[] =
&arm_v7m_tune
},
{
+ "cortex-m33+nodsp",
+ TARGET_CPU_cortexm33nodsp,
+ (TF_LDSCHED),
+ "8M_MAIN", BASE_ARCH_8M_MAIN,
+ {
+ ISA_ARMv8m_main,
+ isa_nobit
+ },
+ &arm_v7m_tune
+ },
+ {
"cortex-r52",
TARGET_CPU_cortexr52,
(TF_LDSCHED),
@@ -130,6 +130,7 @@ enum processor_type
TARGET_CPU_cortexa73cortexa53,
TARGET_CPU_cortexm23,
TARGET_CPU_cortexm33,
+ TARGET_CPU_cortexm33nodsp,
TARGET_CPU_cortexr52,
TARGET_CPU_arm_none
};
@@ -1090,6 +1090,13 @@ begin cpu cortex-m33
costs v7m
end cpu cortex-m33
+begin cpu cortex-m33+nodsp
+ cname cortexm33nodsp
+ tune flags LDSCHED
+ architecture armv8-m.main
+ costs v7m
+end cpu cortex-m33+nodsp
+
# V8 R-profile implementations.
begin cpu cortex-r52
cname cortexr52
@@ -349,6 +349,9 @@ EnumValue
Enum(processor_type) String(cortex-m33) Value( TARGET_CPU_cortexm33)
EnumValue
+Enum(processor_type) String(cortex-m33+nodsp) Value( TARGET_CPU_cortexm33nodsp)
+
+EnumValue
Enum(processor_type) String(cortex-r52) Value( TARGET_CPU_cortexr52)
Enum
@@ -57,5 +57,5 @@
cortexa73,exynosm1,xgene1,
cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,
cortexa73cortexa53,cortexm23,cortexm33,
- cortexr52"
+ cortexm33nodsp,cortexr52"
(const (symbol_ref "((enum attr_tune) arm_tune)")))
@@ -26157,6 +26157,8 @@ arm_file_start (void)
else if (strncmp (arm_active_target.core_name, "generic", 7) == 0)
asm_fprintf (asm_out_file, "\t.arch %s\n",
arm_active_target.core_name + 8);
+ else if (strcmp (arm_active_target.core_name, "cortex-m33+nodsp") == 0)
+ asm_fprintf (asm_out_file, "\t.arch armv8-m.main\n");
else
{
const char* truncated_name
@@ -15124,7 +15124,7 @@ Permissible names are: @samp{arm2}, @samp{arm250},
@samp{cortex-a72}, @samp{cortex-a73}, @samp{cortex-r4},
@samp{cortex-r4f}, @samp{cortex-r5}, @samp{cortex-r7}, @samp{cortex-r8},
@samp{cortex-r52},
-@samp{cortex-m33},
+@samp{cortex-m33},@samp{cortex-m33+nodsp}
@samp{cortex-m23},
@samp{cortex-m7},
@samp{cortex-m4},