]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/tree-ssa/pr103514.c
Fix profile update in tree_transform_and_unroll_loop
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / pr103514.c
1 /* { dg-do compile } */
2 /* { dg-options "-O --param logical-op-non-short-circuit=1 -fdump-tree-optimized" } */
3 #include <stdbool.h>
4
5 bool
6 i (bool a, bool b)
7 {
8 return (a & b) ^ (a == b);
9 }
10
11 bool
12 j (bool a, bool b)
13 {
14 return (a & b) == (a ^ b);
15 }
16
17 bool
18 g (bool a, bool b)
19 {
20 return (a && b) == (a ^ b);
21 }
22
23 bool
24 h (bool a, bool b)
25 {
26 return (a && b) ^ (a == b);
27 }
28
29
30 /* Make sure we have removed "==" and "^" and "&". */
31 /* { dg-final { scan-tree-dump-not "&" "optimized"} } */
32 /* { dg-final { scan-tree-dump-not "\\^" "optimized"} } */
33 /* { dg-final { scan-tree-dump-not "==" "optimized"} } */