diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2014-05-23 18:36:14 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2014-05-23 18:36:14 +0200 |
commit | e0528ed9e55edf892d0593696e28f483f409fe9f (patch) | |
tree | 7a938a4ca036507d5033c698af6c5e27d74a8ef7 /gcc/config/rs6000/power8.md | |
parent | 1263d6429d280b0a7e92b87b4ac392abf0ff7ff1 (diff) | |
download | gcc-e0528ed9e55edf892d0593696e28f483f409fe9f.zip gcc-e0528ed9e55edf892d0593696e28f483f409fe9f.tar.gz gcc-e0528ed9e55edf892d0593696e28f483f409fe9f.tar.bz2 |
rs6000: Make all multiply instructions one type
This uses the attributes "size" and "dot" to specify the differences:
imul3 -> mul size=8
imul2 -> mul size=16
imul -> mul size=32
lmul -> mul size=64
imul_compare -> mul size=32 dot=yes
lmul_compare -> mul size=64 dot=yes
From-SVN: r210867
Diffstat (limited to 'gcc/config/rs6000/power8.md')
-rw-r--r-- | gcc/config/rs6000/power8.md | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/rs6000/power8.md b/gcc/config/rs6000/power8.md index 7af5eab..024b972 100644 --- a/gcc/config/rs6000/power8.md +++ b/gcc/config/rs6000/power8.md @@ -228,12 +228,14 @@ "power8-crlogical,power8-mfcr,power8-mfcrf,power8-branch") (define_insn_reservation "power8-mul" 4 - (and (eq_attr "type" "imul,imul2,imul3,lmul") + (and (eq_attr "type" "mul") + (eq_attr "dot" "no") (eq_attr "cpu" "power8")) "DU_any_power8,FXU_power8") (define_insn_reservation "power8-mul-compare" 4 - (and (eq_attr "type" "imul_compare,lmul_compare") + (and (eq_attr "type" "mul") + (eq_attr "dot" "yes") (eq_attr "cpu" "power8")) "DU_cracked_power8,FXU_power8") |