aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@gmail.com>2020-01-27 14:51:03 +0200
committerClaudiu Zissulescu <claziss@gmail.com>2020-01-27 14:51:03 +0200
commitf261388f1a9f8ee4abfefff32bdfe6046914b7f2 (patch)
tree86957b7680cd0eaeb97d36f8220d9f31a90178fc
parent82cd9a96ad06bdb60088aa2e76f8540a12459cb9 (diff)
downloadgcc-f261388f1a9f8ee4abfefff32bdfe6046914b7f2.zip
gcc-f261388f1a9f8ee4abfefff32bdfe6046914b7f2.tar.gz
gcc-f261388f1a9f8ee4abfefff32bdfe6046914b7f2.tar.bz2
[ARC] Update ARC600 multiplication cost.
gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_rtx_costs): Update mul64 cost.
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/arc/arc.c6
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d75d563..a7ad5fa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2020-01-27 Claudiu Zissulescu <claziss@synopsys.com>
+ * config/arc/arc.c (arc_rtx_costs): Update mul64 cost.
+
+2020-01-27 Claudiu Zissulescu <claziss@synopsys.com>
+
* config/arc/arc-protos.h (gen_mlo): Remove.
(gen_mhi): Likewise.
* config/arc/arc.c (AUX_MULHI): Define.
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index a1f863f..bc34235 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -5877,6 +5877,12 @@ arc_rtx_costs (rtx x, machine_mode mode, int outer_code,
nolimm = true;
if (satisfies_constraint_Clo (x))
nolimm = true;
+ break;
+ case MULT:
+ if (TARGET_MUL64_SET)
+ if (SIGNED_INT12 (INTVAL (x)))
+ nolimm = true;
+ break;
default:
break;
}