File s390-z10-bypasses of Package gcc43

Index: gcc/config/s390/2097.md
===================================================================
*** gcc/config/s390/2097.md.orig
--- gcc/config/s390/2097.md
***************
*** 57,63 ****
                    z10_int_fr_A3"
                    "z10_other_super, z10_other_super_c_E1, z10_other_super_E1, \
                    z10_int_super, z10_int_super_E1, \
!                   z10_lr, z10_store_super")
  
  
  ; Forwarding from z10_super to frz10_ and z10_rec.
--- 57,64 ----
                    z10_int_fr_A3"
                    "z10_other_super, z10_other_super_c_E1, z10_other_super_E1, \
                    z10_int_super, z10_int_super_E1, \
!                   z10_lr, z10_store_super"
!                   " ! s390_agen_dep_p")
  
  
  ; Forwarding from z10_super to frz10_ and z10_rec.
***************
*** 68,74 ****
                    z10_store_super"
                    "z10_int_fr, z10_int_fr_E1, z10_int_fr_A3, \
                    z10_other_fr, z10_other_fr_A3, z10_lr_fr, z10_lr_fr_E1, \
!                   z10_other_fr_E1, z10_store_rec")
  
  
  ; Forwarding from z10_fwd and z10_fr to z10_rec and z10_fr.
--- 69,76 ----
                    z10_store_super"
                    "z10_int_fr, z10_int_fr_E1, z10_int_fr_A3, \
                    z10_other_fr, z10_other_fr_A3, z10_lr_fr, z10_lr_fr_E1, \
!                   z10_other_fr_E1, z10_store_rec"
!                   " ! s390_agen_dep_p")
  
  
  ; Forwarding from z10_fwd and z10_fr to z10_rec and z10_fr.
***************
*** 84,90 ****
                    z10_int_fr_A3"
                    "z10_int_fr, z10_int_fr_E1, z10_int_fr_A3, \
                    z10_other_fr, z10_other_fr_A3, z10_lr_fr, z10_lr_fr_E1, \
!                   z10_other_fr_E1, z10_store_rec")
  
  
  ;
--- 86,93 ----
                    z10_int_fr_A3"
                    "z10_int_fr, z10_int_fr_E1, z10_int_fr_A3, \
                    z10_other_fr, z10_other_fr_A3, z10_lr_fr, z10_lr_fr_E1, \
!                   z10_other_fr_E1, z10_store_rec"
!                   " ! s390_agen_dep_p")
  
  
  ;
***************
*** 205,219 ****
         (and (eq_attr "type" "lr")
              (eq_attr "z10prop" "z10_fr")))
    "z10_e1_ANY, z10_Gate_ANY")
- ;  "z10_e1_ANY")
  
  (define_insn_reservation "z10_lr_fr_E1" 6
    (and (eq_attr "cpu" "z10")
         (and (eq_attr "type" "lr")
              (eq_attr "z10prop" "z10_fr_E1")))
    "z10_e1_ANY, z10_Gate_ANY")
- ;  "z10_e1_ANY")
- 
  
  (define_insn_reservation "z10_la" 6
    (and (eq_attr "cpu" "z10")
--- 208,219 ----
***************
*** 227,240 ****
         (and (eq_attr "type" "la")
              (eq_attr "z10prop" "z10_fwd")))
    "z10_e1_ANY, z10_Gate_ANY")
- ;  "z10_e1_ANY")
  
  (define_insn_reservation "z10_la_fwd_A1" 6
    (and (eq_attr "cpu" "z10")
         (and (eq_attr "type" "la")
              (eq_attr "z10prop" "z10_fwd_A1")))
    "z10_e1_ANY, z10_Gate_ANY")
- ;  "z10_e1_ANY")
  
  
  ; larl-type instructions
--- 227,238 ----
***************
*** 666,678 ****
  ; Address-related bypasses
  ;
  
! ; Here is the cycle diagram for Address-related bypasses:
  ; ... G1 G2 G3 A0 A1 A2 A3 E1 P1 P2 P3 R0 ...
! ;         ^  ^    ^     ^  ^
! ;         |  |    |     |  E1-type bypasses provide the new addr AFTER this cycle
! ;         |  |    |     A3-type bypasses provide the new addr AFTER this cycle
! ;         |  |    A1-type bypasses provide the new addr AFTER this cycle
! ;         |  AGI resolution, actual USE of address is DURING this cycle
  ;         AGI detection
  
  (define_bypass 3 "z10_larl_A1, z10_la_fwd_A1, z10_other_fwd_A1, \
--- 664,677 ----
  ; Address-related bypasses
  ;
  
! ; Here is the cycle diagram for address-related bypasses:
  ; ... G1 G2 G3 A0 A1 A2 A3 E1 P1 P2 P3 R0 ...
! ;         ^  ^    ^     ^  ^        ^
! ;         |  |    |     |  |        without bypass, its available AFTER this cycle
! ;         |  |    |     |  E1-type bypasses provide the new value AFTER this cycle
! ;         |  |    |     A3-type bypasses provide the new value AFTER this cycle
! ;         |  |    A1-type bypasses provide the new value AFTER this cycle
! ;         |  AGI resolution, actual USE of new value is DURING this cycle
  ;         AGI detection
  
  (define_bypass 3 "z10_larl_A1, z10_la_fwd_A1, z10_other_fwd_A1, \
***************
*** 682,688 ****
                    z10_cs, z10_stm, z10_other"
  	         "s390_agen_dep_p")
  
- 
  (define_bypass 5 "z10_larl_fwd_A3, z10_load_fwd_A3, z10_other_fwd_A3, \
                    z10_other_fr_A3, z10_int_fwd_A3, z10_int_fr_A3"
                   "z10_agen, z10_la, z10_branch, z10_call, z10_load, \
--- 681,686 ----
***************
*** 697,702 ****
--- 695,706 ----
                   "z10_agen, z10_la, z10_branch, z10_call, z10_load, \
                    z10_store, \
                    z10_cs, z10_stm, z10_other"
+  	         "s390_agen_dep_p")
+ 
+ (define_bypass 9 "z10_int_super, z10_int_fwd, z10_int_fr"
+                  "z10_agen, z10_la, z10_branch, z10_call, z10_load, \
+                   z10_store, \
+                   z10_cs, z10_stm, z10_other"
   	         "s390_agen_dep_p")
  
  
openSUSE Build Service is sponsored by