40x.md (ppc403-compare): Remove "compare".
authorSegher Boessenkool <segher@kernel.crashing.org>
Wed, 10 Dec 2014 18:40:26 +0000 (19:40 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Wed, 10 Dec 2014 18:40:26 +0000 (19:40 +0100)
* config/rs6000/40x.md (ppc403-compare): Remove "compare".
config/rs6000/440.md (ppc440-compare): Remove "compare".
config/rs6000/476.md (ppc476-compare): Remove "compare".
config/rs6000/601.md (ppc601-compare): Remove "compare".
config/rs6000/603.md (ppc603-compare): Remove "compare".
config/rs6000/6xx.md (ppc604-compare): Remove "compare".
config/rs6000/7450.md (ppc7450-compare): Remove "compare".
config/rs6000/7xx.md (ppc750-compare): Remove "compare".
config/rs6000/8540.md (ppc8540_su): Remove "compare".
config/rs6000/cell.md (cell-fast-cmp, cell-cmp-microcoded): Remove
"compare".
config/rs6000/e300c2c3.md (ppce300c3_cmp): Remove "compare".
config/rs6000/e500mc.md (e500mc_su): Remove "compare".
config/rs6000/e500mc64.md (e500mc64_su2): Remove "compare".
config/rs6000/e5500.md (e5500_sfx2): Remove "compare".
config/rs6000/e6500.md (e6500_sfx2): Remove "compare".
config/rs6000/mpc.md (mpccore-compare): Remove "compare".
config/rs6000/power4.md (power4-compare): Remove "compare".
config/rs6000/power5.md (power5-compare): Remove "compare".
config/rs6000/power6.md (power6-compare): Remove "compare".
config/rs6000/power7.md (power7-compare): Remove "compare".
config/rs6000/power8.md (power8-compare): Remove "compare".  Update
comment.
config/rs6000/rs6000.c (rs6000_adjust_cost) <TYPE_COMPARE>: Remove
(three times).
(is_cracked_insn): Remove TYPE_COMPARE case.
(insn_must_be_first_in_group) <TYPE_COMPARE>: Remove (twice).
config/rs6000/rs6000.md (type): Remove "compare".
(cell_micro): Remove "compare".
config/rs6000/rs64.md (rs64a-compare): Remove "compare".

From-SVN: r218597

25 files changed:
gcc/ChangeLog
gcc/config/rs6000/40x.md
gcc/config/rs6000/440.md
gcc/config/rs6000/476.md
gcc/config/rs6000/601.md
gcc/config/rs6000/603.md
gcc/config/rs6000/6xx.md
gcc/config/rs6000/7450.md
gcc/config/rs6000/7xx.md
gcc/config/rs6000/8540.md
gcc/config/rs6000/cell.md
gcc/config/rs6000/e300c2c3.md
gcc/config/rs6000/e500mc.md
gcc/config/rs6000/e500mc64.md
gcc/config/rs6000/e5500.md
gcc/config/rs6000/e6500.md
gcc/config/rs6000/mpc.md
gcc/config/rs6000/power4.md
gcc/config/rs6000/power5.md
gcc/config/rs6000/power6.md
gcc/config/rs6000/power7.md
gcc/config/rs6000/power8.md
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md
gcc/config/rs6000/rs64.md

index c815d74db606e01c66e64f850d63d0dbb05f7848..272a1ff3225e6e7e9e9bcd6554a03c095db93c0b 100644 (file)
@@ -1,3 +1,36 @@
+2014-12-10  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/40x.md (ppc403-compare): Remove "compare".
+       config/rs6000/440.md (ppc440-compare): Remove "compare".
+       config/rs6000/476.md (ppc476-compare): Remove "compare".
+       config/rs6000/601.md (ppc601-compare): Remove "compare".
+       config/rs6000/603.md (ppc603-compare): Remove "compare".
+       config/rs6000/6xx.md (ppc604-compare): Remove "compare".
+       config/rs6000/7450.md (ppc7450-compare): Remove "compare".
+       config/rs6000/7xx.md (ppc750-compare): Remove "compare".
+       config/rs6000/8540.md (ppc8540_su): Remove "compare".
+       config/rs6000/cell.md (cell-fast-cmp, cell-cmp-microcoded): Remove
+       "compare".
+       config/rs6000/e300c2c3.md (ppce300c3_cmp): Remove "compare".
+       config/rs6000/e500mc.md (e500mc_su): Remove "compare".
+       config/rs6000/e500mc64.md (e500mc64_su2): Remove "compare".
+       config/rs6000/e5500.md (e5500_sfx2): Remove "compare".
+       config/rs6000/e6500.md (e6500_sfx2): Remove "compare".
+       config/rs6000/mpc.md (mpccore-compare): Remove "compare".
+       config/rs6000/power4.md (power4-compare): Remove "compare".
+       config/rs6000/power5.md (power5-compare): Remove "compare".
+       config/rs6000/power6.md (power6-compare): Remove "compare".
+       config/rs6000/power7.md (power7-compare): Remove "compare".
+       config/rs6000/power8.md (power8-compare): Remove "compare".  Update
+       comment.
+       config/rs6000/rs6000.c (rs6000_adjust_cost) <TYPE_COMPARE>: Remove
+       (three times).
+       (is_cracked_insn): Remove TYPE_COMPARE case.
+       (insn_must_be_first_in_group) <TYPE_COMPARE>: Remove (twice).
+       config/rs6000/rs6000.md (type): Remove "compare".
+       (cell_micro): Remove "compare".
+       config/rs6000/rs64.md (rs64a-compare): Remove "compare".
+
 2014-12-10  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * config/rs6000/rs6000.md (*anddi3_2rld_dot, *anddi3_rld_dot2):
index 0903536ecd4e438381c8b0be20ebc4e9ccc75515..650fe523ff9cf92b7ce11b04e4cf49531dce894d 100644 (file)
@@ -53,7 +53,7 @@
   "iu_40x,iu_40x,iu_40x")
 
 (define_insn_reservation "ppc403-compare" 3
-  (and (ior (eq_attr "type" "cmp,compare")
+  (and (ior (eq_attr "type" "cmp")
            (and (eq_attr "type" "add,logical,shift,exts")
                 (eq_attr "dot" "yes")))
        (eq_attr "cpu" "ppc403,ppc405"))
index ff91fdbd7c327f63735f95367b8b42c2ecf74f89..b8a1d335909dbadca80c44ccd4212037474f4d7b 100644 (file)
@@ -95,7 +95,7 @@
   "ppc440_issue,ppc440_i_pipe")
 
 (define_insn_reservation "ppc440-compare" 2
-  (and (ior (eq_attr "type" "cmp,compare,cr_logical,delayed_cr,mfcr")
+  (and (ior (eq_attr "type" "cmp,cr_logical,delayed_cr,mfcr")
            (and (eq_attr "type" "add,logical,shift,exts")
                 (eq_attr "dot" "yes")))
        (eq_attr "cpu" "ppc440"))
index 9bfd6b605345bf5cc032e92cbd409926a7f70dd4..cf4775437722a015ea32a8718cbd879b1cca8823 100644 (file)
@@ -77,7 +77,7 @@
    ppc476_i_pipe")
 
 (define_insn_reservation "ppc476-compare" 4
-  (and (ior (eq_attr "type" "compare,mfcr,mfcrf,mtcr,mfjmpr,mtjmpr")
+  (and (ior (eq_attr "type" "mfcr,mfcrf,mtcr,mfjmpr,mtjmpr")
            (and (eq_attr "type" "add,logical,shift,exts")
                 (eq_attr "dot" "yes")))
        (eq_attr "cpu" "ppc476"))
index de51cbfbbaf9f391ae315828c54099c346a18ecb..af142747d8ec794fe58b2b8c45c279973190048d 100644 (file)
@@ -74,7 +74,7 @@
 ; compare executes on integer unit, but feeds insns which
 ; execute on the branch unit.
 (define_insn_reservation "ppc601-compare" 3
-  (and (ior (eq_attr "type" "cmp,compare")
+  (and (ior (eq_attr "type" "cmp")
            (and (eq_attr "type" "shift,exts")
                 (eq_attr "dot" "yes")))
        (eq_attr "cpu" "ppc601"))
index dc030181d40e50508a9d54e033421522531a5788..a1457766850b072e56b41f654e06438b074197da 100644 (file)
@@ -93,7 +93,7 @@
   "iu_603*37")
 
 (define_insn_reservation "ppc603-compare" 3
-  (and (ior (eq_attr "type" "cmp,compare")
+  (and (ior (eq_attr "type" "cmp")
            (and (eq_attr "type" "add,logical,shift,exts")
                 (eq_attr "dot" "yes")))
        (eq_attr "cpu" "ppc603"))
index db8346913d38c09f7da88440125cbdb6953c7df7..8395dbc4f638ee25f5c7b01eae9cc832c0493f44 100644 (file)
   "mciu_6xx*36")
 
 (define_insn_reservation "ppc604-compare" 3
-  (and (ior (eq_attr "type" "cmp,compare")
+  (and (ior (eq_attr "type" "cmp")
            (and (eq_attr "type" "add,logical,shift,exts")
                 (eq_attr "dot" "yes")))
        (eq_attr "cpu" "ppc604,ppc604e,ppc620,ppc630"))
index 3679c79ce0acf6888ef9d08a0ed3069a457d152d..f790332aa69cc73d822c8590be837ef48989bf52 100644 (file)
   "ppc7450_du,mciu_7450*23")
 
 (define_insn_reservation "ppc7450-compare" 2
-  (and (ior (eq_attr "type" "cmp,compare")
+  (and (ior (eq_attr "type" "cmp")
            (and (eq_attr "type" "add,logical,shift,exts")
                 (eq_attr "dot" "yes")))
        (eq_attr "cpu" "ppc7450"))
index b27fe355441f4d6489b4f8a209e0eeb2393f693f..21461f01de182083055babb5eb36652978a6730b 100644 (file)
   "ppc750_du,iu1_7xx*19")
 
 (define_insn_reservation "ppc750-compare" 2
-  (and (ior (eq_attr "type" "cmp,compare")
+  (and (ior (eq_attr "type" "cmp")
            (and (eq_attr "type" "add,logical,shift,exts")
                 (eq_attr "dot" "yes")))
        (eq_attr "cpu" "ppc750,ppc7400"))
index 90a3d27d4d945fdac3e05e5feb7ea90a8c124d03..1487a410f3ecb0e577d0c720927054a909c5804c 100644 (file)
@@ -84,7 +84,7 @@
 
 ;; Simple SU insns
 (define_insn_reservation "ppc8540_su" 1
-  (and (eq_attr "type" "integer,add,logical,insert,cmp,compare,\
+  (and (eq_attr "type" "integer,add,logical,insert,cmp,\
                         shift,trap,cntlz,exts,isel")
        (eq_attr "cpu" "ppc8540,ppc8548"))
   "ppc8540_decode,ppc8540_issue+ppc8540_su_stage0+ppc8540_retire")
index f1ce3526b3552104920aa3fb410296f7a4282c88..8479bb77b44eb271a371367342db56dfcaadee32 100644 (file)
 
 ;; add, addo, sub, subo, alter cr0, rldcli, rlwinm 
 (define_insn_reservation "cell-fast-cmp" 2
-  (and (ior (eq_attr "type" "compare")
-           (and (eq_attr "type" "add,logical,shift,exts")
-                (eq_attr "dot" "yes")))
+  (and (eq_attr "type" "add,logical,shift,exts")
+       (eq_attr "dot" "yes")
        (eq_attr "cpu" "cell")
        (eq_attr "cell_micro" "not"))
   "slot01,fxu_cell")
 
 (define_insn_reservation "cell-cmp-microcoded" 9
-  (and (ior (eq_attr "type" "compare")
-           (and (eq_attr "type" "add,logical,shift,exts")
-                (eq_attr "dot" "yes")))
+  (and (eq_attr "type" "add,logical,shift,exts")
+       (eq_attr "dot" "yes")
        (eq_attr "cpu" "cell")
        (eq_attr "cell_micro" "always"))
   "slot0+slot1,fxu_cell,fxu_cell*7")
index 276b9e96818c1c833fd94073320dc14efdd6bdc9..5f733235d5b2bc2895415bc160a220da42661797 100644 (file)
@@ -83,7 +83,7 @@
 
 ;; Compares can be executed either one of the IU or SRU
 (define_insn_reservation "ppce300c3_cmp" 1
-  (and (ior (eq_attr "type" "cmp,compare")
+  (and (ior (eq_attr "type" "cmp")
            (and (eq_attr "type" "add,logical,shift,exts")
                 (eq_attr "dot" "yes")))
        (ior (eq_attr "cpu" "ppce300c2") (eq_attr "cpu" "ppce300c3")))
index 2af7eb4e37aa946b5930b1e6f2f32733cd59a8be..85bc7cdbe5e84b50dfdbc37d1fba741fcc649f49 100644 (file)
@@ -70,7 +70,7 @@
 
 ;; Simple SU insns.
 (define_insn_reservation "e500mc_su" 1
-  (and (eq_attr "type" "integer,add,logical,insert,cmp,compare,\
+  (and (eq_attr "type" "integer,add,logical,insert,cmp,\
                         shift,trap,cntlz,exts,isel")
        (eq_attr "cpu" "ppce500mc"))
   "e500mc_decode,e500mc_issue+e500mc_su_stage0+e500mc_retire")
index dc3eb6a0917c6c9f8a6098d37e47b60cc6da7f64..059992f75c151cfae389f10f4e29e39b28320c95 100644 (file)
@@ -79,7 +79,7 @@
   "e500mc64_decode,e500mc64_issue+e500mc64_su_stage0+e500mc64_retire")
 
 (define_insn_reservation "e500mc64_su2" 2
-  (and (ior (eq_attr "type" "cmp,compare,trap")
+  (and (ior (eq_attr "type" "cmp,trap")
            (and (eq_attr "type" "add,logical,exts")
                 (eq_attr "dot" "yes"))
            (and (eq_attr "type" "shift")
index 3cad8bd46674a4ab2f202e26aaf265eb6abcaf62..b0596b60e77757ee604c42fe70642ea5f9a8e493 100644 (file)
@@ -65,7 +65,7 @@
   "e5500_decode,e5500_sfx")
 
 (define_insn_reservation "e5500_sfx2" 2
-  (and (ior (eq_attr "type" "cmp,compare,trap")
+  (and (ior (eq_attr "type" "cmp,trap")
            (and (eq_attr "type" "add,logical,exts")
                 (eq_attr "dot"  "yes"))
            (and (eq_attr "type" "shift")
index 9d4b4833b3291e3afd91336755ce08b04ee83544..6fe062af9f115121c6bc5ae8ad368bc5d86aba23 100644 (file)
@@ -69,7 +69,7 @@
   "e6500_decode,e6500_sfx")
 
 (define_insn_reservation "e6500_sfx2" 2
-  (and (ior (eq_attr "type" "cmp,compare,trap")
+  (and (ior (eq_attr "type" "cmp,trap")
            (and (eq_attr "type" "add,logical,exts")
                 (eq_attr "dot"  "yes"))
            (and (eq_attr "type" "shift")
index 9ac611a8e13ba9da08de97faee22597a5c57aa77..b1d4cf7629419041dbf51243657ef5da60202871 100644 (file)
@@ -69,7 +69,7 @@
   "mciu_mpc*6")
 
 (define_insn_reservation "mpccore-compare" 3
-  (and (ior (eq_attr "type" "cmp,compare")
+  (and (ior (eq_attr "type" "cmp")
            (and (eq_attr "type" "add,logical,shift,exts")
                 (eq_attr "dot" "yes")))
        (eq_attr "cpu" "mpccore"))
index a436ec7f12b131675195d200400dce1f8db0149f..0c838bb742d6127acbe1abaf534f21d1e5adc814 100644 (file)
   "iq_power4")
 
 (define_insn_reservation "power4-compare" 2
-  (and (ior (eq_attr "type" "compare")
-           (and (eq_attr "type" "shift,exts")
-                (eq_attr "dot" "yes")))
+  (and (eq_attr "type" "shift,exts")
+       (eq_attr "dot" "yes")
        (eq_attr "cpu" "power4"))
   "(du1_power4+du2_power4|du2_power4+du3_power4|du3_power4+du4_power4),\
    ((iu1_power4,iu2_power4)\
index 530c25590c676a4bd8b398effa5a92802cf3daa9..24fde7dfcf2eebf4c6a09b7ba5fe59496dc1815c 100644 (file)
   "iq_power5")
 
 (define_insn_reservation "power5-compare" 2
-  (and (ior (eq_attr "type" "compare")
-           (and (eq_attr "type" "shift,exts")
-                (eq_attr "dot" "yes")))
+  (and (eq_attr "type" "shift,exts")
+       (eq_attr "dot" "yes")
        (eq_attr "cpu" "power5"))
   "du1_power5+du2_power5,iu1_power5,iu2_power5")
 
index 695f64297fdd11317d74b4e41db850a3eb208916..60dd1de4246df34b5bf15b394f8b5d102ad74664 100644 (file)
   "FXU_power6")
 
 (define_insn_reservation "power6-compare" 1
-  (and (ior (eq_attr "type" "compare")
-            (and (eq_attr "type" "exts")
-                 (eq_attr "dot" "yes")))
+  (and (eq_attr "type" "exts")
+       (eq_attr "dot" "yes")
        (eq_attr "cpu" "power6"))
   "FXU_power6")
 
index 8be287953a817604313304d630cb6d427c242c28..fa1e80f356af076c6b29e42f616a8b59081aced4 100644 (file)
   "DU_power7,FXU_power7")
 
 (define_insn_reservation "power7-compare" 2
-  (and (ior (eq_attr "type" "compare")
-           (and (eq_attr "type" "shift,exts")
-                (eq_attr "dot" "yes")))
+  (and (eq_attr "type" "shift,exts")
+       (eq_attr "dot" "yes")
        (eq_attr "cpu" "power7"))
   "DU2F_power7,FXU_power7,FXU_power7")
 
index 4b03ac2cbfd95dc0809e04e553bebe72e1bdace6..a9b523d97426c8da64a80506ba5973f1b91c18b1 100644 (file)
        (eq_attr "cpu" "power8"))
   "DU_any_power8,FXU_power8")
 
-; compare : rldicl./exts./etc
-; shift with dot : rlwinm./slwi./rlwnm./slw./etc
+; exts/shift with dot : rldicl./exts./rlwinm./slwi./rlwnm./slw./etc
 (define_insn_reservation "power8-compare" 2
-  (and (ior (eq_attr "type" "compare")
-           (and (eq_attr "type" "shift,exts")
-                (eq_attr "dot" "yes")))
+  (and (eq_attr "type" "shift,exts")
+       (eq_attr "dot" "yes")
        (eq_attr "cpu" "power8"))
   "DU_cracked_power8,FXU_power8,FXU_power8")
 
index fc81b79c23b39d0f40448102695822f332219beb..73152ce47d18b675f3e1ce7164bf0b297777760b 100644 (file)
@@ -26690,7 +26690,6 @@ rs6000_adjust_cost (rtx_insn *insn, rtx link, rtx_insn *dep_insn, int cost)
               switch (get_attr_type (dep_insn))
                 {
                 case TYPE_CMP:
-                case TYPE_COMPARE:
                 case TYPE_FPCOMPARE:
                 case TYPE_CR_LOGICAL:
                 case TYPE_DELAYED_CR:
@@ -26747,7 +26746,6 @@ rs6000_adjust_cost (rtx_insn *insn, rtx link, rtx_insn *dep_insn, int cost)
                   case TYPE_INTEGER:
                   case TYPE_ADD:
                   case TYPE_LOGICAL:
-                  case TYPE_COMPARE:
                   case TYPE_EXTS:
                   case TYPE_INSERT:
                     {
@@ -26811,7 +26809,6 @@ rs6000_adjust_cost (rtx_insn *insn, rtx link, rtx_insn *dep_insn, int cost)
                   case TYPE_INTEGER:
                   case TYPE_ADD:
                   case TYPE_LOGICAL:
-                  case TYPE_COMPARE:
                   case TYPE_EXTS:
                   case TYPE_INSERT:
                     {
@@ -26987,7 +26984,6 @@ is_cracked_insn (rtx_insn *insn)
          || ((type == TYPE_FPLOAD || type == TYPE_FPSTORE)
              && get_attr_update (insn) == UPDATE_YES)
          || type == TYPE_DELAYED_CR
-         || type == TYPE_COMPARE
          || (type == TYPE_EXTS
              && get_attr_dot (insn) == DOT_YES)
          || (type == TYPE_SHIFT
@@ -27865,7 +27861,6 @@ insn_must_be_first_in_group (rtx_insn *insn)
         case TYPE_MFCRF:
         case TYPE_MTCR:
         case TYPE_DIV:
-        case TYPE_COMPARE:
         case TYPE_ISYNC:
         case TYPE_LOAD_L:
         case TYPE_STORE_C:
@@ -27906,7 +27901,6 @@ insn_must_be_first_in_group (rtx_insn *insn)
         case TYPE_MFCR:
         case TYPE_MFCRF:
         case TYPE_MTCR:
-        case TYPE_COMPARE:
         case TYPE_SYNC:
         case TYPE_ISYNC:
         case TYPE_LOAD_L:
index f6947efde4b114698770ddea2556ee982b204998..49086dcbcbc156a4fabb5daa8856b7dd67736a67 100644 (file)
    load,store,fpload,fpstore,vecload,vecstore,
    cmp,
    branch,jmpreg,mfjmpr,mtjmpr,trap,isync,sync,load_l,store_c,
-   compare,
    cr_logical,delayed_cr,mfcr,mfcrf,mtcr,
    fpcompare,fp,fpsimple,dmul,sdiv,ddiv,ssqrt,dsqrt,
    brinc,
 ;; If this instruction is microcoded on the CELL processor
 ; The default for load extended, the recorded instructions and rotate/shifts by a variable is always microcoded
 (define_attr "cell_micro" "not,conditional,always"
-  (if_then_else (ior (eq_attr "type" "compare")
-                    (and (eq_attr "type" "shift,exts,mul")
+  (if_then_else (ior (and (eq_attr "type" "shift,exts,mul")
                          (eq_attr "dot" "yes"))
                     (and (eq_attr "type" "load")
                          (eq_attr "sign_extend" "yes"))
index 8925f38310545c0e7a4771cb6e32b4b4b8b6428a..302389064ed0e66f44ac2b081ecefcf5f8832744 100644 (file)
@@ -99,7 +99,7 @@
   "mciu_rs64*66")
 
 (define_insn_reservation "rs64a-compare" 3
-  (and (ior (eq_attr "type" "cmp,compare")
+  (and (ior (eq_attr "type" "cmp")
            (and (eq_attr "type" "add,logical,shift,exts")
                 (eq_attr "dot" "yes")))
        (eq_attr "cpu" "rs64a"))