diff options
Diffstat (limited to 'gcc/config/rs6000/rs6000.md')
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index c8709473f6d..3b5eb7b8827 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -159,7 +159,7 @@ ;; computations. (define_attr "type" "integer,two,three, - shift,insert, + add,shift,insert, mul,halfmul,div, exts,cntlz,popcnt,isel, load,store,fpload,fpstore,vecload,vecstore, @@ -1820,7 +1820,7 @@ addi %0,%1,%2 addic %0,%1,%2 addis %0,%1,%v2" - [(set_attr "length" "4,4,4,4")]) + [(set_attr "type" "add")]) (define_insn "addsi3_high" [(set (match_operand:SI 0 "gpc_reg_operand" "=b") @@ -1828,7 +1828,7 @@ (high:SI (match_operand 2 "" ""))))] "TARGET_MACHO && !TARGET_64BIT" "addis %0,%1,ha16(%2)" - [(set_attr "length" "4")]) + [(set_attr "type" "add")]) (define_insn "*add<mode>3_internal2" [(set (match_operand:CC 0 "cc_reg_operand" "=x,x,?y,?y") @@ -1842,7 +1842,8 @@ addic. %3,%1,%2 # #" - [(set_attr "type" "fast_compare,compare,compare,compare") + [(set_attr "type" "add,compare,compare,compare") + (set_attr "dot" "yes") (set_attr "length" "4,4,8,8")]) (define_split @@ -1874,7 +1875,8 @@ addic. %0,%1,%2 # #" - [(set_attr "type" "fast_compare,compare,compare,compare") + [(set_attr "type" "add,compare,compare,compare") + (set_attr "dot" "yes") (set_attr "length" "4,4,8,8")]) (define_split @@ -2000,7 +2002,8 @@ "" "@ subf %0,%2,%1 - subfic %0,%2,%1") + subfic %0,%2,%1" + [(set_attr "type" "add")]) (define_insn "" [(set (match_operand:CC 0 "cc_reg_operand" "=x,?y") @@ -2012,7 +2015,8 @@ "@ subf. %3,%2,%1 #" - [(set_attr "type" "fast_compare") + [(set_attr "type" "add") + (set_attr "dot" "yes") (set_attr "length" "4,8")]) (define_split @@ -2042,7 +2046,8 @@ "@ subf. %0,%2,%1 #" - [(set_attr "type" "fast_compare") + [(set_attr "type" "add") + (set_attr "dot" "yes") (set_attr "length" "4,8")]) (define_split @@ -2087,7 +2092,8 @@ [(set (match_operand:GPR 0 "gpc_reg_operand" "=r") (neg:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")))] "" - "neg %0,%1") + "neg %0,%1" + [(set_attr "type" "add")]) (define_insn "" [(set (match_operand:CC 0 "cc_reg_operand" "=x,?y") @@ -2098,7 +2104,8 @@ "@ neg. %2,%1 #" - [(set_attr "type" "fast_compare") + [(set_attr "type" "add") + (set_attr "dot" "yes") (set_attr "length" "4,8")]) (define_split @@ -2124,7 +2131,8 @@ "@ neg. %0,%1 #" - [(set_attr "type" "fast_compare") + [(set_attr "type" "add") + (set_attr "dot" "yes") (set_attr "length" "4,8")]) (define_split |