OSDN Git Service

2009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
authorkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Jan 2009 16:36:42 +0000 (16:36 +0000)
committerkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Jan 2009 16:36:42 +0000 (16:36 +0000)
* config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
(*tm<mode>_full): Fixed z10prop attribute.
(*tst<mode>_extimm): Fixed z10prop attribute.
(*tst<mode>_cconly_extimm): Fixed z10prop attribute.
(*tstqiCCT_cconly): Fixed z10prop attribute.
(*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
(*movsi_larl): Fixed z10prop attribute.
(*movsi_zarch): Fixed z10prop attribute.
(*movsi_eas): Fixed z10prop attribute.
(*movhi): Fixed z10prop attribute.
(*movqi): Fixed z10prop attribute.
(*movstrictqi): Fixed z10prop attribute.
(*mov<mode>): Fixed z10prop attribute.
(*movcc): Fixed z10prop attribute.
(*sethighpartdi_64): Fixed z10prop attribute.
(*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
(*negdi2_sign_cc): Fixed z10prop attribute.
(*negdi2_sign): Fixed z10prop attribute.
(*absdi2_sign_cc): Fixed z10prop attribute.
(*absdi2_sign): Fixed z10prop attribute.
(*negabsdi2_sign_cc): Fixed z10prop attribute.
(*negabsdi2_sign): Fixed z10prop attribute.
(*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
(*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
(doloop_si64): Fixed z10prop attribute.
(doloop_si31): Fixed z10prop attribute.
(doloop_long): Fixed z10prop attribute.
(indirect_jump): Fixed z10prop attribute.
(nop): Fixed z10prop attribute.
(main_base_64): Fixed z10prop attribute.
(reload_base_64): Fixed z10prop attribute.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143734 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/s390/s390.md

index b2e3785..8344308 100644 (file)
@@ -1,3 +1,37 @@
+2009-01-28  Wolfgang Gellerich  <gellerich@de.ibm.com>
+
+       * config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
+       (*tm<mode>_full): Fixed z10prop attribute.
+       (*tst<mode>_extimm): Fixed z10prop attribute.
+       (*tst<mode>_cconly_extimm): Fixed z10prop attribute.
+       (*tstqiCCT_cconly): Fixed z10prop attribute.
+       (*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
+       (*movsi_larl): Fixed z10prop attribute.
+       (*movsi_zarch): Fixed z10prop attribute.
+       (*movsi_eas): Fixed z10prop attribute.
+       (*movhi): Fixed z10prop attribute.
+       (*movqi): Fixed z10prop attribute.
+       (*movstrictqi): Fixed z10prop attribute.
+       (*mov<mode>): Fixed z10prop attribute.
+       (*movcc): Fixed z10prop attribute.
+       (*sethighpartdi_64): Fixed z10prop attribute.
+       (*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
+       (*negdi2_sign_cc): Fixed z10prop attribute.
+       (*negdi2_sign): Fixed z10prop attribute.
+       (*absdi2_sign_cc): Fixed z10prop attribute.
+       (*absdi2_sign): Fixed z10prop attribute.
+       (*negabsdi2_sign_cc): Fixed z10prop attribute.
+       (*negabsdi2_sign): Fixed z10prop attribute.
+       (*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
+       (*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
+       (doloop_si64): Fixed z10prop attribute.
+       (doloop_si31): Fixed z10prop attribute.
+       (doloop_long): Fixed z10prop attribute.
+       (indirect_jump): Fixed z10prop attribute.
+       (nop): Fixed z10prop attribute.
+       (main_base_64): Fixed z10prop attribute.
+       (reload_base_64): Fixed z10prop attribute.
+
 2009-01-28  Jakub Jelinek  <jakub@redhat.com>
 
        PR rtl-optimization/38740
index e8b5083..adcce8a 100644 (file)
   "@
    tmh\t%0,%i1
    tml\t%0,%i1"
-  [(set_attr "op_type" "RI")])
+  [(set_attr "op_type" "RI")
+   (set_attr "z10prop" "z10_super,z10_super")])
 
 (define_insn "*tm<mode>_full"
   [(set (reg CC_REGNUM)
                  (match_operand:HQI 1 "immediate_operand" "n")))]
   "s390_match_ccmode (insn, s390_tm_ccmode (constm1_rtx, operands[1], true))"
   "tml\t%0,<max_uint>"
-  [(set_attr "op_type" "RI")])
+  [(set_attr "op_type" "RI")
+   (set_attr "z10prop" "z10_super")])
 
 
 ;
    lt<g>r\t%2,%0
    lt<g>\t%2,%0"
   [(set_attr "op_type" "RR<E>,RXY")
-   (set_attr "z10prop" "z10_fr_E1,z10_fr_A3") ])
+   (set_attr "z10prop" "z10_fr_E1,z10_fwd_A3") ])
 
 ; ltr, lt, ltgr, ltg
 (define_insn "*tst<mode>_cconly_extimm"
    lt<g>r\t%0,%0
    lt<g>\t%2,%0"
   [(set_attr "op_type" "RR<E>,RXY")
-   (set_attr "z10prop" "z10_fr_E1,z10_fr_A3")])
+   (set_attr "z10prop" "z10_fr_E1,z10_fwd_A3")])
 
 (define_insn "*tstdi"
   [(set (reg CC_REGNUM)
    cliy\t%S0,0
    tml\t%0,255"
   [(set_attr "op_type" "SI,SIY,RI")
-   (set_attr "z10prop" "z10_super,z10_super,*")])
+   (set_attr "z10prop" "z10_super,z10_super,z10_super")])
 
 (define_insn "*tst<mode>"
   [(set (reg CC_REGNUM)
   "s390_match_ccmode(insn, CCURmode) && TARGET_Z10"
   "clhrl\t%0,%1"
   [(set_attr "op_type" "RIL")
-   (set_attr "type"    "larl")])
+   (set_attr "type"    "larl")
+   (set_attr "z10prop" "z10_super")])
 
 ; clhrl, clghrl
 (define_insn "*cmp<GPR:mode>_ccu_zerohi_rldi"
   "larl\t%0,%1"
    [(set_attr "op_type" "RIL")
     (set_attr "type"    "larl")
-    (set_attr "z10prop" "z10_super_A1")])
+    (set_attr "z10prop" "z10_fwd_A1")])
 
 (define_insn "*movsi_zarch"
   [(set (match_operand:SI 0 "nonimmediate_operand"
                         z10_fr_E1,
                         z10_fwd_A3,
                         z10_fwd_A3,
-                        z10_super,
+                        z10_rec,
                         z10_rec,
                         *,
                         *,
    (set_attr "z10prop" "z10_fwd_A1,
                         z10_fr_E1,
                         z10_fwd_A3,
-                        z10_super,
+                        z10_rec,
                         *,
                         *,
                         *,
                        z10_super_E1,
                        z10_super_E1,
                        z10_super_E1,
-                       z10_super,
+                       z10_rec,
                        z10_rec,
                        z10_rec,
                        z10_super")])
                         z10_fwd_A1,
                         z10_super_E1,
                         z10_super_E1,
-                        z10_super,
+                        z10_rec,
                         z10_rec,
                         z10_super,
                         z10_super")])
    ic\t%0,%1
    icy\t%0,%1"
   [(set_attr "op_type"  "RX,RXY")
-   (set_attr "z10prop" "z10_super_E1,z10_super")])
+   (set_attr "z10prop" "z10_super_E1,z10_super_E1")])
 
 ;
 ; movstricthi instruction pattern(s).
                         z10_fr_E1,
                         z10_fwd_A3,
                         z10_fwd_A3,
-                        z10_super,
+                        z10_rec,
                         z10_rec")])
 
 ;
    ly\t%1,%0"
   [(set_attr "op_type" "RR,RI,RRE,RX,RXY,RX,RXY")
    (set_attr "type" "lr,*,*,store,store,load,load")
-   (set_attr "z10prop" "z10_fr_E1,*,*,z10_super,z10_rec,z10_fwd_A3,z10_fwd_A3")])
+   (set_attr "z10prop" "z10_fr_E1,z10_super,*,z10_rec,z10_rec,z10_fwd_A3,z10_fwd_A3")])
 
 ;
 ; Block move (MVC) patterns.
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_64BIT"
   "icmh\t%0,%2,%S1"
-  [(set_attr "op_type" "RSY")])
+  [(set_attr "op_type" "RSY")
+   (set_attr "z10prop" "z10_super")])
 
 (define_insn "*sethighpartdi_31"
   [(set (match_operand:DI 0 "register_operand" "=d,d")
   [(set_attr "op_type"      "RXY,RRE,RIL")
    (set_attr "type"         "*,*,larl")
    (set_attr "cpu_facility" "*,*,z10")
-   (set_attr "z10prop" "z10_fwd_A3")])
+   (set_attr "z10prop" "z10_super_E1,z10_fwd_A3,z10_fwd_A3")])
 
 ; llhr, llcr, llghr, llgcr, llh, llc, llgh, llgc
 (define_insn "*zero_extend<HQI:mode><GPR:mode>2_extimm"
         (neg:DI (sign_extend:DI (match_dup 1))))]
   "TARGET_64BIT && s390_match_ccmode (insn, CCAmode)"
   "lcgfr\t%0,%1"
-  [(set_attr "op_type"  "RRE")])
+  [(set_attr "op_type"  "RRE")
+   (set_attr "z10prop" "z10_c")])
 
 (define_insn "*negdi2_sign"
   [(set (match_operand:DI 0 "register_operand" "=d")
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_64BIT"
   "lcgfr\t%0,%1"
-  [(set_attr "op_type"  "RRE")])
+  [(set_attr "op_type"  "RRE")
+   (set_attr "z10prop" "z10_c")])
 
 ; lcr, lcgr
 (define_insn "*neg<mode>2_cc"
         (abs:DI (sign_extend:DI (match_dup 1))))]
   "TARGET_64BIT && s390_match_ccmode (insn, CCAmode)"
   "lpgfr\t%0,%1"
-  [(set_attr "op_type"  "RRE")])
+  [(set_attr "op_type"  "RRE")
+   (set_attr "z10prop" "z10_c")])
 
 (define_insn "*absdi2_sign"
   [(set (match_operand:DI 0 "register_operand" "=d")
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_64BIT"
   "lpgfr\t%0,%1"
-  [(set_attr "op_type"  "RRE")])
+  [(set_attr "op_type"  "RRE")
+   (set_attr "z10prop" "z10_c")])
 
 ; lpr, lpgr
 (define_insn "*abs<mode>2_cc"
         (neg:DI (abs:DI (sign_extend:DI (match_dup 1)))))]
   "TARGET_64BIT && s390_match_ccmode (insn, CCAmode)"
   "lngfr\t%0,%1"
-  [(set_attr "op_type"  "RRE")])
+  [(set_attr "op_type"  "RRE")
+   (set_attr "z10prop" "z10_c")])
 
 (define_insn "*negabsdi2_sign"
   [(set (match_operand:DI 0 "register_operand" "=d")
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_64BIT"
   "lngfr\t%0,%1"
-  [(set_attr "op_type" "RRE")])
+  [(set_attr "op_type" "RRE")
+   (set_attr "z10prop" "z10_c")])
 
 ; lnr, lngr
 (define_insn "*negabs<mode>2_cc"
    c<g>it%C0\t%1,%h2"
   [(set_attr "op_type" "RRF,RIE")
    (set_attr "type"    "branch")
-   (set_attr "z10prop" "z10_c,*")])
+   (set_attr "z10prop" "z10_super_c,z10_super")])
 
 ; clrt, clgrt, clfit, clgit
 (define_insn "*cmp_and_trap_unsigned_int<mode>"
    cl<gf>it%C0\t%1,%x2"
   [(set_attr "op_type" "RRF,RIE")
    (set_attr "type"    "branch")
-   (set_attr "z10prop" "z10_c,*")])
+   (set_attr "z10prop" "z10_super_c,z10_super")])
 
 ;;
 ;;- Loop instructions.
   [(set_attr "op_type"  "RI")
    ; Strictly speaking, the z10 properties are valid for brct only, however, it does not
    ; hurt us in the (rare) case of ahi.
-   (set_attr "z10prop"  "z10_super")
+   (set_attr "z10prop"  "z10_super_E1")
    (set_attr "type"  "branch")
    (set (attr "length")
         (if_then_else (lt (abs (minus (pc) (match_dup 0))) (const_int 60000))
   [(set_attr "op_type"  "RI")
    ; Strictly speaking, the z10 properties are valid for brct only, however, it does not
    ; hurt us in the (rare) case of ahi.
-   (set_attr "z10prop"  "z10_super")
+   (set_attr "z10prop"  "z10_super_E1")
    (set_attr "type"  "branch")
    (set (attr "length")
         (if_then_else (eq (symbol_ref "flag_pic") (const_int 0))
         (if_then_else (match_operand 0 "register_operand" "")
                       (const_string "RR") (const_string "RX")))
    (set_attr "type"  "branch")
-   (set_attr "atype" "agen")])
+   (set_attr "atype" "agen")
+   (set_attr "z10prop"  "z10_cobra")])
 
 (define_insn_and_split "doloop_di"
   [(set (pc)
   [(set_attr "op_type"  "RI")
    ; Strictly speaking, the z10 properties are valid for brct only, however, it does not
    ; hurt us in the (rare) case of ahi.
-   (set_attr "z10prop"  "z10_super")
+   (set_attr "z10prop"  "z10_super_E1")
    (set_attr "type"  "branch")
    (set (attr "length")
         (if_then_else (lt (abs (minus (pc) (match_dup 0))) (const_int 60000))
         (if_then_else (match_operand 0 "register_operand" "")
                       (const_string "RR") (const_string "RX")))
    (set_attr "type"  "branch")
-   (set_attr "atype" "agen")
-   (set_attr "z10prop" "z10_super")])
+   (set_attr "atype" "agen")])
 
 ;
 ; casesi instruction pattern(s).
   [(const_int 0)]
   ""
   "lr\t0,0"
-  [(set_attr "op_type" "RR")])
+  [(set_attr "op_type" "RR")
+   (set_attr "z10prop"  "z10_fr_E1")])
 
 (define_insn "nop1"
   [(const_int 1)]
   "larl\t%0,%1"
   [(set_attr "op_type" "RIL")
    (set_attr "type"    "larl")
-   (set_attr "z10prop" "z10_super_A1")])
+   (set_attr "z10prop" "z10_fwd_A1")])
 
 (define_insn "main_pool"
   [(set (match_operand 0 "register_operand" "=a")
   "larl\t%0,%1"
   [(set_attr "op_type" "RIL")
    (set_attr "type"    "larl")
-   (set_attr "z10prop" "z10_super_A1")])
+   (set_attr "z10prop" "z10_fwd_A1")])
 
 (define_insn "pool"
   [(unspec_volatile [(match_operand 0 "const_int_operand" "n")] UNSPECV_POOL)]