Jakub Jelinek wrote:
> This patch adds ASSERT_EXPRs derived from
> tmp_N = var_M & cst2;
> if (tmp_N cmp val)
> where cst2 and val are constants. Bootstrapped/regtested
> on x86_64-linux and i686-linux, ok for trunk?
> 2012-03-14 Jakub Jelinek <ja...@redhat.com>
> PR tree-optimization/52267
> * tree-vrp.c (masked_increment): New function.
> (register_edge_assert_for_2): Derive ASSERT_EXPRs
> from (X & CST1) cmp CST2 tests.
> * gcc.dg/pr52267.c: New test.
> * gcc.dg/tree-ssa/vrp65.c: New test.
> * gcc.dg/tree-ssa/vrp66.c: New test.
gcc.dg/tree-ssa/vrp66.c: New test
fails when executed for avr where sizeof(int) = 2
Skimming the code I'd expect that it is general enough to work there so I
wonder why it fails for that target?