aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/power8.md
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2014-05-23 18:36:14 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2014-05-23 18:36:14 +0200
commite0528ed9e55edf892d0593696e28f483f409fe9f (patch)
tree7a938a4ca036507d5033c698af6c5e27d74a8ef7 /gcc/config/rs6000/power8.md
parent1263d6429d280b0a7e92b87b4ac392abf0ff7ff1 (diff)
downloadgcc-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.md6
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")