--- gcc/config/m68k/m68k.md.jj 2016-01-20 10:55:16.000000000 +0100
+++ gcc/config/m68k/m68k.md 2016-02-22 11:14:01.789697673 +0100
@@ -4544,7 +4544,7 @@ (define_insn "*ashldi3"
(define_expand "ashldi3"
[(set (match_operand:DI 0 "register_operand" "")
(ashift:DI (match_operand:DI 1 "register_operand" "")
- (match_operand 2 "const_int_operand" "")))]
+ (match_operand:SI 2 "const_int_operand" "")))]
"!TARGET_COLDFIRE"
{
/* ??? This is a named pattern like this is not allowed to FAIL based
@@ -4813,7 +4813,7 @@ (define_insn "ashrdi_const"
(define_expand "ashrdi3"
[(set (match_operand:DI 0 "register_operand" "")
(ashiftrt:DI (match_operand:DI 1 "register_operand" "")
- (match_operand 2 "const_int_operand" "")))]
+ (match_operand:SI 2 "const_int_operand" "")))]
"!TARGET_COLDFIRE"
{
/* ??? This is a named pattern like this is not allowed to FAIL based
@@ -5082,7 +5082,7 @@ (define_insn "*lshrdi3_const"
(define_expand "lshrdi3"
[(set (match_operand:DI 0 "register_operand" "")
(lshiftrt:DI (match_operand:DI 1 "register_operand" "")
- (match_operand 2 "const_int_operand" "")))]
+ (match_operand:SI 2 "const_int_operand" "")))]
"!TARGET_COLDFIRE"
{
/* ??? This is a named pattern like this is not allowed to FAIL based
--- gcc/testsuite/gcc.dg/pr69885.c.jj 2016-02-22 11:14:50.981023120 +0100
+++ gcc/testsuite/gcc.dg/pr69885.c 2016-02-22 11:13:45.000000000 +0100
@@ -0,0 +1,13 @@
+/* PR target/69885 */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* { dg-additional-options "-m68000" { target m68k*-*-* } } */
+
+void bar (void);
+
+void
+foo (long long x)
+{
+ if (x >> 1)
+ bar ();
+}