summaryrefslogtreecommitdiff
path: root/gcc/config/s390/2064.md
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-06 19:57:41 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2004-11-06 19:57:41 +0000
commitcec0d54df84b3d2d9bdbdb46e86af53b98ce3d13 (patch)
tree4f831f5fa5c96b2383994ecb79b41ccb31af2dbf /gcc/config/s390/2064.md
parent2e3f2a1d271608d12267d7f3198b474e5d2acc7c (diff)
downloadgcc-cec0d54df84b3d2d9bdbdb46e86af53b98ce3d13.tar.gz
* config/s390/2064.md ("z_int", "z_agen"): Ensure the condition
matches no insns already matched by other reservations. * config/s390/2084.md ("x_int", "x_agen"): Ensure the condition matches no insns already matched by other reservations. ("x_ss"): Remove, replace by ... ("x_cs"): ... this new reservation. Check type instead of op_type. Update bypasses to use x_cs instead of x_ss. ("x_nn"): Remove, replace by ... ("x_other"): ... this new reservation. Check type instead of op_type. Add x_other and x_branch to bypasses. ("x_vs"): New reservation. * config/s390/s390.md (attribute "type"): Default according to op_type. ("*execute"): Set type to "cs". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90190 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/s390/2064.md')
-rw-r--r--gcc/config/s390/2064.md12
1 files changed, 5 insertions, 7 deletions
diff --git a/gcc/config/s390/2064.md b/gcc/config/s390/2064.md
index 643277e889b..211cd024d01 100644
--- a/gcc/config/s390/2064.md
+++ b/gcc/config/s390/2064.md
@@ -72,22 +72,20 @@
(eq_attr "type" "jsr"))
"z_e1*5,z_wr")
-;
-; Insn still not mentioned are check for
-; the usage of the agen unit
-;
+;; For everything else we check the atype flag.
(define_insn_reservation "z_int" 1
(and (eq_attr "cpu" "z900,g5,g6")
- (eq_attr "atype" "reg"))
+ (and (not (eq_attr "type" "la,larl,load,store,jsr"))
+ (eq_attr "atype" "reg")))
"z_e1,z_wr")
(define_insn_reservation "z_agen" 1
(and (eq_attr "cpu" "z900,g5,g6")
- (eq_attr "atype" "agen"))
+ (and (not (eq_attr "type" "la,larl,load,store,jsr"))
+ (eq_attr "atype" "agen")))
"z_e1,z_wr")
-
;;
;; s390_agen_dep_p returns 1, if a register is set in the
;; first insn and used in the dependent insn to form a address.