Commit 0daff5e0 by Oleg Endo

re PR target/54236 ([SH] Improve addc and subc insn utilization)

gcc/
	PR target/54236
	* config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
	operands[1] are the same.

gcc/testsuite/
	PR target/54236
	* gcc.target/sh/pr54236-2.c: Fix typo in comment.

From-SVN: r223479
parent cad97339
2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
PR target/54236
* config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
operands[1] are the same.
2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com> 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
PR middle-end/66221 PR middle-end/66221
......
...@@ -2011,7 +2011,8 @@ ...@@ -2011,7 +2011,8 @@
(and:SI (plus:SI (match_operand:SI 1 "arith_reg_operand") (and:SI (plus:SI (match_operand:SI 1 "arith_reg_operand")
(const_int 1)) (const_int 1))
(const_int -2)))] (const_int -2)))]
"TARGET_SH1 && !TARGET_SH2A && can_create_pseudo_p ()" "TARGET_SH1 && !TARGET_SH2A && can_create_pseudo_p ()
&& !reg_overlap_mentioned_p (operands[0], operands[1])"
"#" "#"
"&& 1" "&& 1"
[(set (match_dup 0) (const_int -2)) [(set (match_dup 0) (const_int -2))
......
2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
PR target/54236
* gcc.target/sh/pr54236-2.c: Fix typo in comment.
2015-05-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> 2015-05-21 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/65937 PR target/65937
......
...@@ -133,7 +133,7 @@ int ...@@ -133,7 +133,7 @@ int
test_016 (int a, int b, int c, int d) test_016 (int a, int b, int c, int d)
{ {
// non-SH2A: 1x add #1, 1x mov #-2, 1x and // non-SH2A: 1x add #1, 1x mov #-2, 1x and
// SH2A: 1x add #1, 1x blcr #0 // SH2A: 1x add #1, 1x bclr #0
return a + (a & 1); return a + (a & 1);
} }
......
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