diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2017-11-06 10:04:23 +0100 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2017-11-06 10:04:23 +0100 |
commit | c3e150d23a9b499387397c67c02e3976a37405e6 (patch) | |
tree | a7d37e1dedda39380c42f22f034e0ead45a858ab | |
parent | 23dbc16908cdb8335f3a9235b18bb33aa9f74dea (diff) | |
download | gcc-c3e150d23a9b499387397c67c02e3976a37405e6.zip gcc-c3e150d23a9b499387397c67c02e3976a37405e6.tar.gz gcc-c3e150d23a9b499387397c67c02e3976a37405e6.tar.bz2 |
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.
From-SVN: r254439
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5556e29..c4a360f 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 0eabd5f..e3636dc 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; |