rs6000.md (*cmp<mode>_internal1): Rename to...
authorSegher Boessenkool <segher@kernel.crashing.org>
Wed, 17 Jun 2015 15:18:03 +0000 (17:18 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Wed, 17 Jun 2015 15:18:03 +0000 (17:18 +0200)
* config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
(*cmp<mode>_signed): ... this.
(*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
(*cmp<mode>_unsigned): ... this.  Remove %b.

From-SVN: r224563

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

index 77af01c8cec4511f5576fbb8564465da24cba5a6..58a0a2bd717398679ecfe4d96328a7a7399b3395 100644 (file)
@@ -1,3 +1,10 @@
+2015-06-17  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
+       (*cmp<mode>_signed): ... this.
+       (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
+       (*cmp<mode>_unsigned): ... this.  Remove %b.
+
 2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
 
        * coretypes.h: Include input.h and as-a.h.
index 5d3e04be819077506a0d450496e711a6c0bf706f..6a14ee8fd602b2f343dc63cdc8e268f17f21d1e8 100644 (file)
 
 \f
 ;; Here are the actual compare insns.
-(define_insn "*cmp<mode>_internal1"
+(define_insn "*cmp<mode>_signed"
   [(set (match_operand:CC 0 "cc_reg_operand" "=y")
        (compare:CC (match_operand:GPR 1 "gpc_reg_operand" "r")
                    (match_operand:GPR 2 "reg_or_short_operand" "rI")))]
   "cmp<wd>%I2 %0,%1,%2"
   [(set_attr "type" "cmp")])
 
+(define_insn "*cmp<mode>_unsigned"
+  [(set (match_operand:CCUNS 0 "cc_reg_operand" "=y")
+       (compare:CCUNS (match_operand:GPR 1 "gpc_reg_operand" "r")
+                      (match_operand:GPR 2 "reg_or_u_short_operand" "rK")))]
+  ""
+  "cmpl<wd>%I2 %0,%1,%2"
+  [(set_attr "type" "cmp")])
+
 ;; If we are comparing a register for equality with a large constant,
 ;; we can do this with an XOR followed by a compare.  But this is profitable
 ;; only if the large constant is only used for the comparison (and in this
   operands[10] = GEN_INT (sextc);
 })
 
-(define_insn "*cmpsi_internal2"
-  [(set (match_operand:CCUNS 0 "cc_reg_operand" "=y")
-       (compare:CCUNS (match_operand:SI 1 "gpc_reg_operand" "r")
-                      (match_operand:SI 2 "reg_or_u_short_operand" "rK")))]
-  ""
-  "cmplw%I2 %0,%1,%b2"
-  [(set_attr "type" "cmp")])
-
-(define_insn "*cmpdi_internal2"
-  [(set (match_operand:CCUNS 0 "cc_reg_operand" "=y")
-       (compare:CCUNS (match_operand:DI 1 "gpc_reg_operand" "r")
-                      (match_operand:DI 2 "reg_or_u_short_operand" "rK")))]
-  ""
-  "cmpld%I2 %0,%1,%b2"
-  [(set_attr "type" "cmp")])
-
 ;; The following two insns don't exist as single insns, but if we provide
 ;; them, we can swap an add and compare, which will enable us to overlap more
 ;; of the required delay between a compare and branch.  We generate code for