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