rs6000.md (ctz<mode>2, [...]): Tidy.
authorSegher Boessenkool <segher@kernel.crashing.org>
Sun, 21 Sep 2014 18:02:54 +0000 (20:02 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Sun, 21 Sep 2014 18:02:54 +0000 (20:02 +0200)
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
popcntb<mode>2, popcntd<mode>2, parity<mode>2, parity<mode>2_cmpb):
Tidy.

From-SVN: r215435

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 08e66b7ee5ff013efbca785c60874a76a32cb957..fbbf00fd045ca88fc82da2406b83c0062f41cfea 100644 (file)
@@ -1,3 +1,9 @@
+2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
+       popcntb<mode>2, popcntd<mode>2, parity<mode>2, parity<mode>2_cmpb):
+       Tidy.
+
 2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * config/rs6000/rs6000.md (strlensi): Don't use subsi3 with a
index dfebf5ab87c16f1ce23c8635132a5f604b0a6a4b..059dd99a5721811cd69783a973b68e761ad1e4aa 100644 (file)
                              (match_dup 4)))
              (clobber (reg:GPR CA_REGNO))])]
   ""
-  {
-     operands[2] = gen_reg_rtx (<MODE>mode);
-     operands[3] = gen_reg_rtx (<MODE>mode);
-     operands[4] = gen_reg_rtx (<MODE>mode);
-     operands[5] = GEN_INT (GET_MODE_BITSIZE (<MODE>mode) - 1);
-  })
+{
+  operands[2] = gen_reg_rtx (<MODE>mode);
+  operands[3] = gen_reg_rtx (<MODE>mode);
+  operands[4] = gen_reg_rtx (<MODE>mode);
+  operands[5] = GEN_INT (GET_MODE_BITSIZE (<MODE>mode) - 1);
+})
 
 (define_expand "ffs<mode>2"
   [(set (match_dup 2)
                              (match_dup 4)))
              (clobber (reg:GPR CA_REGNO))])]
   ""
-  {
-     operands[2] = gen_reg_rtx (<MODE>mode);
-     operands[3] = gen_reg_rtx (<MODE>mode);
-     operands[4] = gen_reg_rtx (<MODE>mode);
-     operands[5] = GEN_INT (GET_MODE_BITSIZE (<MODE>mode));
-  })
+{
+  operands[2] = gen_reg_rtx (<MODE>mode);
+  operands[3] = gen_reg_rtx (<MODE>mode);
+  operands[4] = gen_reg_rtx (<MODE>mode);
+  operands[5] = GEN_INT (GET_MODE_BITSIZE (<MODE>mode));
+})
+
+
+(define_expand "popcount<mode>2"
+  [(set (match_operand:GPR 0 "gpc_reg_operand" "")
+       (popcount:GPR (match_operand:GPR 1 "gpc_reg_operand" "")))]
+  "TARGET_POPCNTB || TARGET_POPCNTD"
+{
+  rs6000_emit_popcount (operands[0], operands[1]);
+  DONE;
+})
 
 (define_insn "popcntb<mode>2"
   [(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
-        (unspec:GPR [(match_operand:GPR 1 "gpc_reg_operand" "r")]
-                     UNSPEC_POPCNTB))]
+       (unspec:GPR [(match_operand:GPR 1 "gpc_reg_operand" "r")]
+                   UNSPEC_POPCNTB))]
   "TARGET_POPCNTB"
   "popcntb %0,%1"
-  [(set_attr "length" "4")
-   (set_attr "type" "popcnt")])
+  [(set_attr "type" "popcnt")])
 
 (define_insn "popcntd<mode>2"
   [(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
        (popcount:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")))]
   "TARGET_POPCNTD"
   "popcnt<wd> %0,%1"
-  [(set_attr "length" "4")
-   (set_attr "type" "popcnt")])
+  [(set_attr "type" "popcnt")])
 
-(define_expand "popcount<mode>2"
+
+(define_expand "parity<mode>2"
   [(set (match_operand:GPR 0 "gpc_reg_operand" "")
-       (popcount:GPR (match_operand:GPR 1 "gpc_reg_operand" "")))]
-  "TARGET_POPCNTB || TARGET_POPCNTD"
-  {
-    rs6000_emit_popcount (operands[0], operands[1]);
-    DONE;
-  })
+       (parity:GPR (match_operand:GPR 1 "gpc_reg_operand" "")))]
+  "TARGET_POPCNTB"
+{
+  rs6000_emit_parity (operands[0], operands[1]);
+  DONE;
+})
 
 (define_insn "parity<mode>2_cmpb"
   [(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
        (unspec:GPR [(match_operand:GPR 1 "gpc_reg_operand" "r")] UNSPEC_PARITY))]
   "TARGET_CMPB && TARGET_POPCNTB"
   "prty<wd> %0,%1"
-  [(set_attr "length" "4")
-   (set_attr "type" "popcnt")])
+  [(set_attr "type" "popcnt")])
 
-(define_expand "parity<mode>2"
-  [(set (match_operand:GPR 0 "gpc_reg_operand" "")
-       (parity:GPR (match_operand:GPR 1 "gpc_reg_operand" "")))]
-  "TARGET_POPCNTB"
-  {
-    rs6000_emit_parity (operands[0], operands[1]);
-    DONE;
-  })
 
 ;; Since the hardware zeros the upper part of the register, save generating the
 ;; AND immediate if we are converting to unsigned