On June 30, 2015 10:46:21 AM GMT+02:00, Marek Polacek <pola...@redhat.com> 
wrote:

>--- gcc/testsuite/gcc.dg/fold-ior-2.c
>+++ gcc/testsuite/gcc.dg/fold-ior-2.c
>@@ -0,0 +1,47 @@
>+/* { dg-do compile } */
>+/* { dg-options "-O -fdump-tree-cddce1" } */
>+
>+int
>+fn1 (int x)
>+{
>+  return ~x | x;
>+}
>+
>+int
>+fn2 (int x)
>+{
>+  return x | ~x;
>+}
>+
>+unsigned int
>+fn3 (unsigned int x)
>+{
>+  return ~x | x;
>+}
>+
>+unsigned int
>+fn4 (unsigned int x)
>+{
>+  return ~x | x;
>+}

What's the difference between fn3 and fn4?

Thanks,

>+
>+int
>+fn5 (int x)
>+{
>+  return ~x | (unsigned) x;
>+}
>+
>+int
>+fn6 (int x)
>+{
>+  return (unsigned) ~x | x;
>+}
>+
>+int
>+fn7 (int x)
>+{
>+  return ~(unsigned) x | x;
>+}
>+
>+/* { dg-final { scan-tree-dump-not "~" "cddce1" } } */
>+/* { dg-final { scan-tree-dump-not " \\| " "cddce1" } } */
>
>       Marek


Reply via email to