===================================================================
@@ -2011,7 +2011,8 @@
(and:SI (plus:SI (match_operand:SI 1 "arith_reg_operand")
(const_int 1))
(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"
[(set (match_dup 0) (const_int -2))
===================================================================
@@ -133,7 +133,7 @@
test_016 (int a, int b, int c, int d)
{
// 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);
}