diff gcc/testsuite/gcc.dg/tree-ssa/forwprop-24.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gcc.dg/tree-ssa/forwprop-24.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+/* { dg-options "-O -fdump-tree-cddce1" } */
+
+void bar (void);
+unsigned short
+foo (unsigned char x, unsigned short y)
+{
+  unsigned char t = (unsigned char)((x & 1) ^ ((unsigned char)y & 1));
+  if (t == 1)
+    bar ();
+  return y;
+}
+
+/* We should have combined this to require only one bitwise and
+   as in (x ^ (char) y) & 1.  */
+
+/* { dg-final { scan-tree-dump-times " & " 1 "cddce1" } } */