From e0528ed9e55edf892d0593696e28f483f409fe9f Mon Sep 17 00:00:00 2001 From: Segher Boessenkool Date: Fri, 23 May 2014 18:36:14 +0200 Subject: 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 --- gcc/config/rs6000/power8.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gcc/config/rs6000/power8.md') 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") -- cgit v1.1