xref: /illumos-gate/usr/src/tools/smatch/src/validation/optim/cse-dual-compare.c (revision 4c87aefe8930bd07275b8dd2e96ea5f24d93a52e)
1 static int eqeq(int a, int b) { return (a == b) == (b == a); }
2 static int nene(int a, int b) { return (a != b) == (b != a); }
3 
4 static int ltgt(int a, int b) { return (a <  b) == (b >  a); }
5 static int lege(int a, int b) { return (a <= b) == (b >= a); }
6 static int gele(int a, int b) { return (a >= b) == (b <= a); }
7 static int gtlt(int a, int b) { return (a >  b) == (b <  a); }
8 
9 static int eneqne(int a, int b) { return (a == b) == !(b != a); }
10 static int enneeq(int a, int b) { return (a != b) == !(b == a); }
11 
12 static int enltle(int a, int b) { return (a <  b) == !(b <= a); }
13 static int enlelt(int a, int b) { return (a <= b) == !(b <  a); }
14 static int engegt(int a, int b) { return (a >= b) == !(b >  a); }
15 static int engtge(int a, int b) { return (a >  b) == !(b >= a); }
16 
17 static int neeqne(int a, int b) { return (a == b) != (b != a); }
18 static int neneeq(int a, int b) { return (a != b) != (b == a); }
19 
20 static int neltle(int a, int b) { return (a <  b) != (b <= a); }
21 static int nelelt(int a, int b) { return (a <= b) != (b <  a); }
22 static int negegt(int a, int b) { return (a >= b) != (b >  a); }
23 static int negtge(int a, int b) { return (a >  b) != (b >= a); }
24 
25 /*
26  * check-name: cse-dual-compare
27  * check-command: test-linearize $file
28  * check-output-ignore
29  * check-known-to-fail
30  *
31  * check-output-excludes: set[gl][et]\\.
32  * check-output-excludes: seteq\\.
33  * check-output-excludes: setne\\.
34  */
35