Commit 82ba6a8e by Segher Boessenkool Committed by Segher Boessenkool

rs6000.md (*cmp<mode>_internal1): Rename to...

	* 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
parent abb226c9
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.
......
......@@ -10714,7 +10714,7 @@
;; 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")))]
......@@ -10722,6 +10722,14 @@
"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
......@@ -10766,22 +10774,6 @@
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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment