/* PR tree-optimization/109424 */ /* { dg-do compile } */ /* Need -O2 for early non-zero bits */ /* { dg-options "-O2 -fdump-tree-forwprop1-raw -fdump-tree-optimized-raw" } */ int maxbool(int ab, int bb) { int a = ab & 1; int b = bb & 1; int c; c = (a > b)?a : b; return c; } int minbool(int ab, int bb) { int a = ab & 1; int b = bb & 1; int c; c = (a < b)?a : b; return c; } /* { dg-final { scan-tree-dump-not "max_expr, " "forwprop1"} } */ /* { dg-final { scan-tree-dump-not "min_expr, " "forwprop1"} } */ /* There should only be 3 total bit_and_expr, one &1 for each function and one & for minbool. */ /* { dg-final { scan-tree-dump-times "bit_and_expr, " 3 "optimized"} } */ /* { dg-final { scan-tree-dump-times "bit_ior_expr, " 1 "optimized"} } */