summaryrefslogtreecommitdiffstats
path: root/gcc/config/rs6000
diff options
context:
space:
mode:
authordje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-20 19:31:30 +0000
committerdje <dje@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-20 19:31:30 +0000
commit768895877e79859250e5105685e1e818a6c1f5a9 (patch)
tree8f5eb612dfb13236cb72670814b9d31cf4cabb3a /gcc/config/rs6000
parent60ea5cc422e8c5dd46c92655ff88e510e99685c7 (diff)
downloadppe42-gcc-768895877e79859250e5105685e1e818a6c1f5a9.tar.gz
ppe42-gcc-768895877e79859250e5105685e1e818a6c1f5a9.zip
* config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
(add.,subf.,neg.): Change attribute to fast_compare. All DFA descriptions updated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63175 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r--gcc/config/rs6000/40x.md2
-rw-r--r--gcc/config/rs6000/603.md2
-rw-r--r--gcc/config/rs6000/6xx.md2
-rw-r--r--gcc/config/rs6000/7450.md2
-rw-r--r--gcc/config/rs6000/7xx.md2
-rw-r--r--gcc/config/rs6000/mpc.md2
-rw-r--r--gcc/config/rs6000/power4.md4
-rw-r--r--gcc/config/rs6000/rios1.md2
-rw-r--r--gcc/config/rs6000/rios2.md2
-rw-r--r--gcc/config/rs6000/rs6000.md26
-rw-r--r--gcc/config/rs6000/rs64.md2
11 files changed, 24 insertions, 24 deletions
diff --git a/gcc/config/rs6000/40x.md b/gcc/config/rs6000/40x.md
index 224b61e0195..989cbcd6c29 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 220d0e25fc1..c17593a3aba 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 179265315eb..cb79006c92a 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 b7a1d283664..1e41ca120df 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 8a5c1a74c12..213fa7360bb 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 fc6e2526086..07426f5dd7c 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 87e5ef4c8ec..73a798509df 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 239d3871219..d55d436abf1 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 be1925174fe..74f55816c13 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 76ad8df39fe..d60b9ac172f 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 310a2fbda3d..2db82c12b87 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")
OpenPOWER on IntegriCloud