summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>2017-11-06 09:04:23 +0000
committersegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>2017-11-06 09:04:23 +0000
commitd11af473850509e4d194dcd5faaf5f491a46c00a (patch)
treea7d37e1dedda39380c42f22f034e0ead45a858ab
parent0d27af05655d921af6953652df017c636cebe7b9 (diff)
downloadgcc-d11af473850509e4d194dcd5faaf5f491a46c00a.tar.gz
rs6000: Implement insn_cost for mfcr, mfcrf
This gives mfcrf a cost of three integer insns, just like we do for sync and load-with-reservation already. * config/rs6000/rs6000.c (rs6000_insn_cost): Handle TYPE_MFCR and TYPE_MFCRF. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254439 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5556e296bd6..c4a360fe434 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2017-11-06 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/rs6000.c (rs6000_insn_cost): Handle TYPE_MFCR and
+ TYPE_MFCRF.
+
2017-11-06 Richard Sandiford <richard.sandiford@linaro.org>
* tree-vrp.c (vrp_int_const_binop): Return true on success and
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 0eabd5f108c..e3636dc6831 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -35038,6 +35038,8 @@ rs6000_insn_cost (rtx_insn *insn, bool speed)
case TYPE_SYNC:
case TYPE_LOAD_L:
+ case TYPE_MFCR:
+ case TYPE_MFCRF:
cost = COSTS_N_INSNS (n + 2);
break;