rs6000.md: (attr "type"): Add fast_compare.
* config/rs6000/rs6000.md: (attr "type"): Add fast_compare. (add.,subf.,neg.): Change attribute to fast_compare. All DFA descriptions updated. From-SVN: r63175
This commit is contained in:
parent
0385e9506b
commit
a62bfff255
@ -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>
|
2003-02-20 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
Change base class access representation.
|
Change base class access representation.
|
||||||
|
@ -41,7 +41,7 @@
|
|||||||
"iu_40x")
|
"iu_40x")
|
||||||
|
|
||||||
(define_insn_reservation "ppc403-compare" 3
|
(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"))
|
(eq_attr "cpu" "ppc403,ppc405"))
|
||||||
"iu_40x,nothing,bpu_40x")
|
"iu_40x,nothing,bpu_40x")
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@
|
|||||||
"iu_603*37")
|
"iu_603*37")
|
||||||
|
|
||||||
(define_insn_reservation "ppc603-compare" 3
|
(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"))
|
(eq_attr "cpu" "ppc603"))
|
||||||
"iu_603,nothing,bpu_603")
|
"iu_603,nothing,bpu_603")
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@
|
|||||||
"mciu_6xx*36")
|
"mciu_6xx*36")
|
||||||
|
|
||||||
(define_insn_reservation "ppc604-compare" 3
|
(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"))
|
(eq_attr "cpu" "ppc604,ppc604e,ppc620,ppc630"))
|
||||||
"(iu1_6xx|iu2_6xx)")
|
"(iu1_6xx|iu2_6xx)")
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@
|
|||||||
"ppc7450_du,mciu_7450*23")
|
"ppc7450_du,mciu_7450*23")
|
||||||
|
|
||||||
(define_insn_reservation "ppc7450-compare" 2
|
(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"))
|
(eq_attr "cpu" "ppc7450"))
|
||||||
"ppc7450_du,(iu1_7450|iu2_7450|iu3_7450)")
|
"ppc7450_du,(iu1_7450|iu2_7450|iu3_7450)")
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@
|
|||||||
"ppc750_du,iu1_7xx*19")
|
"ppc750_du,iu1_7xx*19")
|
||||||
|
|
||||||
(define_insn_reservation "ppc750-compare" 2
|
(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"))
|
(eq_attr "cpu" "ppc750,ppc7400"))
|
||||||
"ppc750_du,(iu1_7xx|iu2_7xx)")
|
"ppc750_du,(iu1_7xx|iu2_7xx)")
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
"mciu_mpc*6")
|
"mciu_mpc*6")
|
||||||
|
|
||||||
(define_insn_reservation "mpccore-compare" 3
|
(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"))
|
(eq_attr "cpu" "mpccore"))
|
||||||
"iu_mpc,nothing,bpu_mpc")
|
"iu_mpc,nothing,bpu_mpc")
|
||||||
|
|
||||||
|
@ -176,11 +176,11 @@
|
|||||||
"iq_power4")
|
"iq_power4")
|
||||||
|
|
||||||
(define_insn_reservation "power4-cmp" 3
|
(define_insn_reservation "power4-cmp" 3
|
||||||
(and (eq_attr "type" "cmp")
|
(and (eq_attr "type" "cmp,fast_compare")
|
||||||
(eq_attr "cpu" "power4"))
|
(eq_attr "cpu" "power4"))
|
||||||
"iq_power4")
|
"iq_power4")
|
||||||
|
|
||||||
(define_insn_reservation "power4-compare" 3
|
(define_insn_reservation "power4-compare" 4
|
||||||
(and (eq_attr "type" "compare,delayed_compare")
|
(and (eq_attr "type" "compare,delayed_compare")
|
||||||
(eq_attr "cpu" "power4"))
|
(eq_attr "cpu" "power4"))
|
||||||
"((du1_power4+du2_power4),iu1_power4,iu2_power4)\
|
"((du1_power4+du2_power4),iu1_power4,iu2_power4)\
|
||||||
|
@ -88,7 +88,7 @@
|
|||||||
; compare executes on integer unit, but feeds insns which
|
; compare executes on integer unit, but feeds insns which
|
||||||
; execute on the branch unit.
|
; execute on the branch unit.
|
||||||
(define_insn_reservation "rios1-compare" 4
|
(define_insn_reservation "rios1-compare" 4
|
||||||
(and (eq_attr "type" "cmp,compare")
|
(and (eq_attr "type" "cmp,fast_compare,compare")
|
||||||
(eq_attr "cpu" "rios1"))
|
(eq_attr "cpu" "rios1"))
|
||||||
"iu_rios1,nothing*2,bpu_rios1")
|
"iu_rios1,nothing*2,bpu_rios1")
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
; compare executes on integer unit, but feeds insns which
|
; compare executes on integer unit, but feeds insns which
|
||||||
; execute on the branch unit.
|
; execute on the branch unit.
|
||||||
(define_insn_reservation "rios2-compare" 3
|
(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"))
|
(eq_attr "cpu" "rios2"))
|
||||||
"(iu1_rios2|iu2_rios2),nothing,bpu_rios2")
|
"(iu1_rios2|iu2_rios2),nothing,bpu_rios2")
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
|
|
||||||
;; Define an insn type attribute. This is used in function unit delay
|
;; Define an insn type attribute. This is used in function unit delay
|
||||||
;; computations.
|
;; 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"))
|
(const_string "integer"))
|
||||||
|
|
||||||
;; Length (in bytes).
|
;; Length (in bytes).
|
||||||
@ -1001,7 +1001,7 @@
|
|||||||
{ai.|addic.} %3,%1,%2
|
{ai.|addic.} %3,%1,%2
|
||||||
#
|
#
|
||||||
#"
|
#"
|
||||||
[(set_attr "type" "compare")
|
[(set_attr "type" "fast_compare,compare,compare,compare")
|
||||||
(set_attr "length" "4,4,8,8")])
|
(set_attr "length" "4,4,8,8")])
|
||||||
|
|
||||||
(define_split
|
(define_split
|
||||||
@ -1033,7 +1033,7 @@
|
|||||||
{ai.|addic.} %0,%1,%2
|
{ai.|addic.} %0,%1,%2
|
||||||
#
|
#
|
||||||
#"
|
#"
|
||||||
[(set_attr "type" "compare")
|
[(set_attr "type" "fast_compare,compare,compare,compare")
|
||||||
(set_attr "length" "4,4,8,8")])
|
(set_attr "length" "4,4,8,8")])
|
||||||
|
|
||||||
(define_split
|
(define_split
|
||||||
@ -1170,7 +1170,7 @@
|
|||||||
"@
|
"@
|
||||||
subf. %3,%2,%1
|
subf. %3,%2,%1
|
||||||
#"
|
#"
|
||||||
[(set_attr "type" "compare")
|
[(set_attr "type" "fast_compare")
|
||||||
(set_attr "length" "4,8")])
|
(set_attr "length" "4,8")])
|
||||||
|
|
||||||
(define_split
|
(define_split
|
||||||
@ -1214,7 +1214,7 @@
|
|||||||
"@
|
"@
|
||||||
subf. %0,%2,%1
|
subf. %0,%2,%1
|
||||||
#"
|
#"
|
||||||
[(set_attr "type" "compare")
|
[(set_attr "type" "fast_compare")
|
||||||
(set_attr "length" "4,8")])
|
(set_attr "length" "4,8")])
|
||||||
|
|
||||||
(define_split
|
(define_split
|
||||||
@ -1542,7 +1542,7 @@
|
|||||||
"@
|
"@
|
||||||
neg. %2,%1
|
neg. %2,%1
|
||||||
#"
|
#"
|
||||||
[(set_attr "type" "compare")
|
[(set_attr "type" "fast_compare")
|
||||||
(set_attr "length" "4,8")])
|
(set_attr "length" "4,8")])
|
||||||
|
|
||||||
(define_split
|
(define_split
|
||||||
@ -1568,7 +1568,7 @@
|
|||||||
"@
|
"@
|
||||||
neg. %0,%1
|
neg. %0,%1
|
||||||
#"
|
#"
|
||||||
[(set_attr "type" "compare")
|
[(set_attr "type" "fast_compare")
|
||||||
(set_attr "length" "4,8")])
|
(set_attr "length" "4,8")])
|
||||||
|
|
||||||
(define_split
|
(define_split
|
||||||
@ -5671,7 +5671,7 @@
|
|||||||
addic. %3,%1,%2
|
addic. %3,%1,%2
|
||||||
#
|
#
|
||||||
#"
|
#"
|
||||||
[(set_attr "type" "compare")
|
[(set_attr "type" "fast_compare,compare,compare,compare")
|
||||||
(set_attr "length" "4,4,8,8")])
|
(set_attr "length" "4,4,8,8")])
|
||||||
|
|
||||||
(define_split
|
(define_split
|
||||||
@ -5701,7 +5701,7 @@
|
|||||||
addic. %0,%1,%2
|
addic. %0,%1,%2
|
||||||
#
|
#
|
||||||
#"
|
#"
|
||||||
[(set_attr "type" "compare")
|
[(set_attr "type" "fast_compare,compare,compare,compare")
|
||||||
(set_attr "length" "4,4,8,8")])
|
(set_attr "length" "4,4,8,8")])
|
||||||
|
|
||||||
(define_split
|
(define_split
|
||||||
@ -5827,7 +5827,7 @@
|
|||||||
"@
|
"@
|
||||||
subf. %3,%2,%1
|
subf. %3,%2,%1
|
||||||
#"
|
#"
|
||||||
[(set_attr "type" "compare")
|
[(set_attr "type" "fast_compare")
|
||||||
(set_attr "length" "4,8")])
|
(set_attr "length" "4,8")])
|
||||||
|
|
||||||
(define_split
|
(define_split
|
||||||
@ -5855,7 +5855,7 @@
|
|||||||
"@
|
"@
|
||||||
subf. %0,%2,%1
|
subf. %0,%2,%1
|
||||||
#"
|
#"
|
||||||
[(set_attr "type" "compare")
|
[(set_attr "type" "fast_compare")
|
||||||
(set_attr "length" "4,8")])
|
(set_attr "length" "4,8")])
|
||||||
|
|
||||||
(define_split
|
(define_split
|
||||||
@ -5933,7 +5933,7 @@
|
|||||||
"@
|
"@
|
||||||
neg. %2,%1
|
neg. %2,%1
|
||||||
#"
|
#"
|
||||||
[(set_attr "type" "compare")
|
[(set_attr "type" "fast_compare")
|
||||||
(set_attr "length" "4,8")])
|
(set_attr "length" "4,8")])
|
||||||
|
|
||||||
(define_split
|
(define_split
|
||||||
@ -5959,7 +5959,7 @@
|
|||||||
"@
|
"@
|
||||||
neg. %0,%1
|
neg. %0,%1
|
||||||
#"
|
#"
|
||||||
[(set_attr "type" "compare")
|
[(set_attr "type" "fast_compare")
|
||||||
(set_attr "length" "4,8")])
|
(set_attr "length" "4,8")])
|
||||||
|
|
||||||
(define_split
|
(define_split
|
||||||
|
@ -77,7 +77,7 @@
|
|||||||
"mciu_rs64*66")
|
"mciu_rs64*66")
|
||||||
|
|
||||||
(define_insn_reservation "rs64a-compare" 3
|
(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"))
|
(eq_attr "cpu" "rs64a"))
|
||||||
"iu_rs64,nothing,bpu_rs64")
|
"iu_rs64,nothing,bpu_rs64")
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user