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" } } */