diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rs6000/40x.md | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/603.md | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/6xx.md | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/7450.md | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/7xx.md | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/mpc.md | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/power4.md | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/rios1.md | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rios2.md | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 26 | ||||
-rw-r--r-- | gcc/config/rs6000/rs64.md | 2 |
12 files changed, 30 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9a3464e..98fce0a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-02-20 David Edelsohn <edelsohn@gnu.org> + + * config/rs6000/rs6000.md: (attr "type"): Add fast_compare. + (add.,subf.,neg.): Change attribute to fast_compare. + All DFA descriptions updated. + 2003-02-20 Nathan Sidwell <nathan@codesourcery.com> Change base class access representation. diff --git a/gcc/config/rs6000/40x.md b/gcc/config/rs6000/40x.md index 224b61e..989cbcd 100644 --- a/gcc/config/rs6000/40x.md +++ b/gcc/config/rs6000/40x.md @@ -41,7 +41,7 @@ "iu_40x") (define_insn_reservation "ppc403-compare" 3 - (and (eq_attr "type" "cmp,compare,delayed_compare") + (and (eq_attr "type" "cmp,fast_compare,compare,delayed_compare") (eq_attr "cpu" "ppc403,ppc405")) "iu_40x,nothing,bpu_40x") diff --git a/gcc/config/rs6000/603.md b/gcc/config/rs6000/603.md index 220d0e2..c17593a 100644 --- a/gcc/config/rs6000/603.md +++ b/gcc/config/rs6000/603.md @@ -75,7 +75,7 @@ "iu_603*37") (define_insn_reservation "ppc603-compare" 3 - (and (eq_attr "type" "cmp,compare,delayed_compare") + (and (eq_attr "type" "cmp,fast_compare,compare,delayed_compare") (eq_attr "cpu" "ppc603")) "iu_603,nothing,bpu_603") diff --git a/gcc/config/rs6000/6xx.md b/gcc/config/rs6000/6xx.md index 1792653..cb79006 100644 --- a/gcc/config/rs6000/6xx.md +++ b/gcc/config/rs6000/6xx.md @@ -119,7 +119,7 @@ "mciu_6xx*36") (define_insn_reservation "ppc604-compare" 3 - (and (eq_attr "type" "cmp,compare,delayed_compare") + (and (eq_attr "type" "cmp,fast_compare,compare,delayed_compare") (eq_attr "cpu" "ppc604,ppc604e,ppc620,ppc630")) "(iu1_6xx|iu2_6xx)") diff --git a/gcc/config/rs6000/7450.md b/gcc/config/rs6000/7450.md index b7a1d28..1e41ca1 100644 --- a/gcc/config/rs6000/7450.md +++ b/gcc/config/rs6000/7450.md @@ -84,7 +84,7 @@ "ppc7450_du,mciu_7450*23") (define_insn_reservation "ppc7450-compare" 2 - (and (eq_attr "type" "cmp,compare,delayed_compare") + (and (eq_attr "type" "cmp,fast_compare,compare,delayed_compare") (eq_attr "cpu" "ppc7450")) "ppc7450_du,(iu1_7450|iu2_7450|iu3_7450)") diff --git a/gcc/config/rs6000/7xx.md b/gcc/config/rs6000/7xx.md index 8a5c1a7..213fa73 100644 --- a/gcc/config/rs6000/7xx.md +++ b/gcc/config/rs6000/7xx.md @@ -84,7 +84,7 @@ "ppc750_du,iu1_7xx*19") (define_insn_reservation "ppc750-compare" 2 - (and (eq_attr "type" "cmp,compare,delayed_compare") + (and (eq_attr "type" "cmp,fast_compare,compare,delayed_compare") (eq_attr "cpu" "ppc750,ppc7400")) "ppc750_du,(iu1_7xx|iu2_7xx)") diff --git a/gcc/config/rs6000/mpc.md b/gcc/config/rs6000/mpc.md index fc6e252..07426f5 100644 --- a/gcc/config/rs6000/mpc.md +++ b/gcc/config/rs6000/mpc.md @@ -58,7 +58,7 @@ "mciu_mpc*6") (define_insn_reservation "mpccore-compare" 3 - (and (eq_attr "type" "cmp,compare,delayed_compare") + (and (eq_attr "type" "cmp,fast_compare,compare,delayed_compare") (eq_attr "cpu" "mpccore")) "iu_mpc,nothing,bpu_mpc") diff --git a/gcc/config/rs6000/power4.md b/gcc/config/rs6000/power4.md index 87e5ef4..73a7985 100644 --- a/gcc/config/rs6000/power4.md +++ b/gcc/config/rs6000/power4.md @@ -176,11 +176,11 @@ "iq_power4") (define_insn_reservation "power4-cmp" 3 - (and (eq_attr "type" "cmp") + (and (eq_attr "type" "cmp,fast_compare") (eq_attr "cpu" "power4")) "iq_power4") -(define_insn_reservation "power4-compare" 3 +(define_insn_reservation "power4-compare" 4 (and (eq_attr "type" "compare,delayed_compare") (eq_attr "cpu" "power4")) "((du1_power4+du2_power4),iu1_power4,iu2_power4)\ diff --git a/gcc/config/rs6000/rios1.md b/gcc/config/rs6000/rios1.md index 239d387..d55d436 100644 --- a/gcc/config/rs6000/rios1.md +++ b/gcc/config/rs6000/rios1.md @@ -88,7 +88,7 @@ ; compare executes on integer unit, but feeds insns which ; execute on the branch unit. (define_insn_reservation "rios1-compare" 4 - (and (eq_attr "type" "cmp,compare") + (and (eq_attr "type" "cmp,fast_compare,compare") (eq_attr "cpu" "rios1")) "iu_rios1,nothing*2,bpu_rios1") diff --git a/gcc/config/rs6000/rios2.md b/gcc/config/rs6000/rios2.md index be19251..74f5581 100644 --- a/gcc/config/rs6000/rios2.md +++ b/gcc/config/rs6000/rios2.md @@ -56,7 +56,7 @@ ; compare executes on integer unit, but feeds insns which ; execute on the branch unit. (define_insn_reservation "rios2-compare" 3 - (and (eq_attr "type" "cmp,compare,delayed_compare") + (and (eq_attr "type" "cmp,fast_compare,compare,delayed_compare") (eq_attr "cpu" "rios2")) "(iu1_rios2|iu2_rios2),nothing,bpu_rios2") diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 76ad8df..d60b9ac 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -39,7 +39,7 @@ ;; Define an insn type attribute. This is used in function unit delay ;; computations. -(define_attr "type" "integer,load,load_ext,load_ext_u,load_ext_ux,load_ux,load_u,store,store_ux,store_u,fpload,fpload_ux,fpload_u,fpstore,fpstore_ux,fpstore_u,vecload,vecstore,imul,imul2,imul3,lmul,idiv,ldiv,branch,cmp,compare,delayed_compare,fpcompare,cr_logical,delayed_cr,mfcr,mtcr,mtjmpr,fp,dmul,sdiv,ddiv,ssqrt,dsqrt,jmpreg,vecsimple,veccomplex,veccmp,vecperm,vecfloat" +(define_attr "type" "integer,load,load_ext,load_ext_u,load_ext_ux,load_ux,load_u,store,store_ux,store_u,fpload,fpload_ux,fpload_u,fpstore,fpstore_ux,fpstore_u,vecload,vecstore,imul,imul2,imul3,lmul,idiv,ldiv,branch,cmp,fast_compare,compare,delayed_compare,fpcompare,cr_logical,delayed_cr,mfcr,mtcr,mtjmpr,fp,dmul,sdiv,ddiv,ssqrt,dsqrt,jmpreg,vecsimple,veccomplex,veccmp,vecperm,vecfloat" (const_string "integer")) ;; Length (in bytes). @@ -1001,7 +1001,7 @@ {ai.|addic.} %3,%1,%2 # #" - [(set_attr "type" "compare") + [(set_attr "type" "fast_compare,compare,compare,compare") (set_attr "length" "4,4,8,8")]) (define_split @@ -1033,7 +1033,7 @@ {ai.|addic.} %0,%1,%2 # #" - [(set_attr "type" "compare") + [(set_attr "type" "fast_compare,compare,compare,compare") (set_attr "length" "4,4,8,8")]) (define_split @@ -1170,7 +1170,7 @@ "@ subf. %3,%2,%1 #" - [(set_attr "type" "compare") + [(set_attr "type" "fast_compare") (set_attr "length" "4,8")]) (define_split @@ -1214,7 +1214,7 @@ "@ subf. %0,%2,%1 #" - [(set_attr "type" "compare") + [(set_attr "type" "fast_compare") (set_attr "length" "4,8")]) (define_split @@ -1542,7 +1542,7 @@ "@ neg. %2,%1 #" - [(set_attr "type" "compare") + [(set_attr "type" "fast_compare") (set_attr "length" "4,8")]) (define_split @@ -1568,7 +1568,7 @@ "@ neg. %0,%1 #" - [(set_attr "type" "compare") + [(set_attr "type" "fast_compare") (set_attr "length" "4,8")]) (define_split @@ -5671,7 +5671,7 @@ addic. %3,%1,%2 # #" - [(set_attr "type" "compare") + [(set_attr "type" "fast_compare,compare,compare,compare") (set_attr "length" "4,4,8,8")]) (define_split @@ -5701,7 +5701,7 @@ addic. %0,%1,%2 # #" - [(set_attr "type" "compare") + [(set_attr "type" "fast_compare,compare,compare,compare") (set_attr "length" "4,4,8,8")]) (define_split @@ -5827,7 +5827,7 @@ "@ subf. %3,%2,%1 #" - [(set_attr "type" "compare") + [(set_attr "type" "fast_compare") (set_attr "length" "4,8")]) (define_split @@ -5855,7 +5855,7 @@ "@ subf. %0,%2,%1 #" - [(set_attr "type" "compare") + [(set_attr "type" "fast_compare") (set_attr "length" "4,8")]) (define_split @@ -5933,7 +5933,7 @@ "@ neg. %2,%1 #" - [(set_attr "type" "compare") + [(set_attr "type" "fast_compare") (set_attr "length" "4,8")]) (define_split @@ -5959,7 +5959,7 @@ "@ neg. %0,%1 #" - [(set_attr "type" "compare") + [(set_attr "type" "fast_compare") (set_attr "length" "4,8")]) (define_split diff --git a/gcc/config/rs6000/rs64.md b/gcc/config/rs6000/rs64.md index 310a2fb..2db82c1 100644 --- a/gcc/config/rs6000/rs64.md +++ b/gcc/config/rs6000/rs64.md @@ -77,7 +77,7 @@ "mciu_rs64*66") (define_insn_reservation "rs64a-compare" 3 - (and (eq_attr "type" "compare,delayed_compare") + (and (eq_attr "type" "cmp,fast_compare,compare,delayed_compare") (eq_attr "cpu" "rs64a")) "iu_rs64,nothing,bpu_rs64") |