diff --git a/gcc/config/arm/thumb2.md b/gcc/config/arm/thumb2.md
index 8eb2000..c42670f 100644
--- a/gcc/config/arm/thumb2.md
+++ b/gcc/config/arm/thumb2.md
@@ -362,7 +362,7 @@
 		 [(match_operand 2 "cc_register" "") (const_int 0)])))]
   "TARGET_THUMB2 && !arm_restrict_it"
   "#"   ; "ite\\t%D1\;mov%D1\\t%0, #0\;mvn%d1\\t%0, #0"
-  "TARGET_THUMB2"
+  "&& true"
   [(set (match_dup 0)
         (if_then_else:SI (match_dup 1)
                          (match_dup 3)
@@ -410,7 +410,7 @@
 		 [(match_operand 2 "cc_register" "") (const_int 0)])))]
   "TARGET_THUMB2 && !arm_restrict_it"
   "#"   ; "ite\\t%D1\;mvn%D1\\t%0, #0\;mvn%d1\\t%0, #1"
-  "TARGET_THUMB2"
+  "&& true"
   [(set (match_dup 0)
         (if_then_else:SI (match_dup 1)
                          (match_dup 3)
diff --git a/gcc/testsuite/gcc.target/arm/pr7676.c b/gcc/testsuite/gcc.target/arm/pr7676.c
new file mode 100644
index 0000000..349d7a3
--- /dev/null
+++ b/gcc/testsuite/gcc.target/arm/pr7676.c
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -march=armv8-a -mfloat-abi=soft -mthumb" }  */
+/* { dg-skip-if "Do not combine float-abi= hard | soft | softfp" {*-*-*} {"-mfloat-abi=hard" -mfloat-abi=softfp } {""} } */
+int a;
+
+void fn2 (long long);
+
+void
+fn1 ()
+{
+  long long b;
+
+  for (;;)
+    {
+      b = ((a == (int)&fn1) <= 0 ^ 18446744073709551608ULL)
+	- 18446744073709551615ULL;
+
+      fn2 (b);
+    }
+}
-- 
1.9.1

