+2017-04-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR target/80307
+ * config/arm/arm.c (thumb1_rtx_costs): Give a cost of 32
+ instructions for small multiply cores.
+
2017-04-04 Jeff Law <law@redhat.com>
* config/mips/mips.c (mips_multi_add): Zero initialize the newly
added member.
(mips_expand_vec_perm_const): Initialize elements in orig_perm
that are not set by the loop over the elements.
-
+
2017-04-04 Jakub Jelinek <jakub@redhat.com>
PR target/80286
return COSTS_N_INSNS (1);
case MULT:
+ if (arm_arch6m && arm_m_profile_small_mul)
+ return COSTS_N_INSNS (32);
+
if (CONST_INT_P (XEXP (x, 1)))
{
int cycles = 0;
+2017-04-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ PR target/80307
+ * gcc.target/arm/small-multiply-m0-1.c: Do not skip test if not
+ targeting any CPU or architecture.
+ * gcc.target/arm/small-multiply-m0-2.c: Likewise.
+ * gcc.target/arm/small-multiply-m0-3.c: Likewise.
+ * gcc.target/arm/small-multiply-m0plus-1.c: Likewise.
+ * gcc.target/arm/small-multiply-m0plus-2.c: Likewise.
+ * gcc.target/arm/small-multiply-m0plus-3.c: Likewise.
+ * gcc.target/arm/small-multiply-m1-1.c: Likewise.
+ * gcc.target/arm/small-multiply-m1-2.c: Likewise.
+ * gcc.target/arm/small-multiply-m1-3.c: Likewise.
+
2017-04-04 Nicolas Koenig <koenigni@student.ethz.ch>
PR fortran/69498
/* { dg-do compile } */
/* { dg-require-effective-target arm_thumb1_ok } */
-/* { dg-skip-if "Test is specific to cortex-m0.small-multiply" { arm*-*-* } { "*" } { "-mcpu=cortex-m0.small-multiply" } } */
+/* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" "-march=*" } { "-mcpu=cortex-m0.small-multiply" } } */
/* { dg-options "-mcpu=cortex-m0.small-multiply -mthumb -O2" } */
int
/* { dg-do compile } */
/* { dg-require-effective-target arm_thumb1_ok } */
-/* { dg-skip-if "Test is specific to cortex-m0.small-multiply" { arm*-*-* } { "*" } { "-mcpu=cortex-m0.small-multiply" } } */
+/* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" "-march=*" } { "-mcpu=cortex-m0.small-multiply" } } */
/* { dg-options "-mcpu=cortex-m0.small-multiply -mthumb -Os" } */
int
/* { dg-do compile } */
/* { dg-require-effective-target arm_thumb1_ok } */
-/* { dg-skip-if "Test is specific to cortex-m0.small-multiply" { arm*-*-* } { "*" } { "-mcpu=cortex-m0.small-multiply" } } */
+/* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" "-march=*" } { "-mcpu=cortex-m0.small-multiply" } } */
/* { dg-options "-mcpu=cortex-m0.small-multiply -mthumb -Os" } */
int
/* { dg-do compile } */
/* { dg-require-effective-target arm_thumb1_ok } */
-/* { dg-skip-if "Test is specific to cortex-m0plus.small-multiply" { arm*-*-* } { "*" } { "-mcpu=cortex-m0plus.small-multiply" } } */
+/* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" "-march=*" } { "-mcpu=cortex-m0plus.small-multiply" } } */
/* { dg-options "-mcpu=cortex-m0plus.small-multiply -mthumb -O2" } */
int
/* { dg-do compile } */
/* { dg-require-effective-target arm_thumb1_ok } */
-/* { dg-skip-if "Test is specific to cortex-m0plus.small-multiply" { arm*-*-* } { "*" } { "-mcpu=cortex-m0plus.small-multiply" } } */
+/* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" "-march=*" } { "-mcpu=cortex-m0plus.small-multiply" } } */
/* { dg-options "-mcpu=cortex-m0plus.small-multiply -mthumb -Os" } */
int
/* { dg-do compile } */
/* { dg-require-effective-target arm_thumb1_ok } */
-/* { dg-skip-if "Test is specific to cortex-m0plus.small-multiply" { arm*-*-* } { "*" } { "-mcpu=cortex-m0plus.small-multiply" } } */
+/* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" "-march=*" } { "-mcpu=cortex-m0plus.small-multiply" } } */
/* { dg-options "-mcpu=cortex-m0plus.small-multiply -mthumb -Os" } */
int
/* { dg-do compile } */
/* { dg-require-effective-target arm_thumb1_ok } */
-/* { dg-skip-if "Test is specific to cortex-m1.small-multiply" { arm*-*-* } { "*" } { "-mcpu=cortex-m1.small-multiply" } } */
+/* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" "-march=*" } { "-mcpu=cortex-m1.small-multiply" } } */
/* { dg-options "-mcpu=cortex-m1.small-multiply -mthumb -O2" } */
int
/* { dg-do compile } */
/* { dg-require-effective-target arm_thumb1_ok } */
-/* { dg-skip-if "Test is specific to cortex-m1.small-multiply" { arm*-*-* } { "*" } { "-mcpu=cortex-m1.small-multiply" } } */
+/* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" "-march=*" } { "-mcpu=cortex-m1.small-multiply" } } */
/* { dg-options "-mcpu=cortex-m1.small-multiply -mthumb -Os" } */
int
/* { dg-do compile } */
/* { dg-require-effective-target arm_thumb1_ok } */
-/* { dg-skip-if "Test is specific to cortex-m1.small-multiply" { arm*-*-* } { "*" } { "-mcpu=cortex-m1.small-multiply" } } */
+/* { dg-skip-if "do not override -mcpu" { *-*-* } { "-mcpu=*" "-march=*" } { "-mcpu=cortex-m1.small-multiply" } } */
/* { dg-options "-mcpu=cortex-m1.small-multiply -mthumb -Os" } */
int