http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54471
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-11-21
17:31:58 UTC ---
Thanks, I'm going to include your test too then:
--- gcc/testsuite/gcc.dg/tree-ssa/vrp86.c.jj 2012-11-21 18:27:53.389280736
+0100
+++ gcc/testsuite/gcc.dg/tree-ssa/vrp86.c 2012-11-21 18:27:47.000000000
+0100
@@ -0,0 +1,26 @@
+/* PR tree-optimization/54471 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-vrp1" } */
+
+#ifdef __SIZEOF_INT128__
+#define T __int128
+#else
+#define T long long
+#endif
+
+void fn1call ();
+void fn2call ();
+void f (unsigned T x)
+{
+ if (x > (unsigned T) -3)
+ return;
+ unsigned T y = 2 * x;
+ if (y == 42)
+ fn1call ();
+ else
+ fn2call ();
+}
+
+/* { dg-final { scan-tree-dump "fn1call" "vrp1"} } */
+/* { dg-final { scan-tree-dump "fn2call" "vrp1"} } */
+/* { dg-final { cleanup-tree-dump "vrp1" } } */