/* PR tree-optimization/106164 */ /* { dg-do compile } */ /* { dg-options "-O1 -fdump-tree-forwprop1-details" } */ int f(int a) { int c = a != 2; int d = a >= 2; return c & d; } int g(int b) { int c = b != -1; int d = b <= -1; return c & d; } int g_(int e) { int c = e != -2; int d = e <= -2; return c & d; } int f1(int x) { int c = x == 2; int d = x <= 1; return c | d; } int g1(int y) { int c = y == -1; int d = y > -1; return c | d; } int g1_(int z) { int c = z == -2; int d = z >= -1; return c | d; } /* { dg-final { scan-tree-dump "gimple_simplified to _\[0-9\]+ = a_\[0-9\]+.D. > 2" "forwprop1" } } */ /* { dg-final { scan-tree-dump "gimple_simplified to _\[0-9\]+ = b_\[0-9\]+.D. < -1" "forwprop1" } } */ /* { dg-final { scan-tree-dump "gimple_simplified to _\[0-9\]+ = e_\[0-9\]+.D. < -2" "forwprop1" } } */ /* { dg-final { scan-tree-dump "gimple_simplified to _\[0-9\]+ = x_\[0-9\]+.D. <= 2" "forwprop1" } } */ /* { dg-final { scan-tree-dump "gimple_simplified to _\[0-9\]+ = y_\[0-9\]+.D. >= -1" "forwprop1" } } */ /* { dg-final { scan-tree-dump "gimple_simplified to _\[0-9\]+ = z_\[0-9\]+.D. >= -2" "forwprop1" } } */