diff options
| author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2017-02-17 00:12:28 +0100 |
|---|---|---|
| committer | Christopher Li <sparse@chrisli.org> | 2017-02-23 08:00:54 +0800 |
| commit | 60ba2df1de54fa7da812aecf282ca14d39916bae (patch) | |
| tree | 174f5b2a0f8ea21c343bdcb6bc32ab8bfca4c931 | |
| parent | fbbfc73099d16057cfad98668dafb50ce3844719 (diff) | |
| download | sparse-dev-60ba2df1de54fa7da812aecf282ca14d39916bae.tar.gz | |
CSE: add test cases for comparisons duality
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Signed-off-by: Christopher Li <sparse@chrisli.org>
| -rw-r--r-- | validation/optim/cse-dual-compare.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/validation/optim/cse-dual-compare.c b/validation/optim/cse-dual-compare.c new file mode 100644 index 00000000..b43cf789 --- /dev/null +++ b/validation/optim/cse-dual-compare.c @@ -0,0 +1,34 @@ +static int eqeq(int a, int b) { return (a == b) == (b == a); } +static int nene(int a, int b) { return (a != b) == (b != a); } + +static int ltgt(int a, int b) { return (a < b) == (b > a); } +static int lege(int a, int b) { return (a <= b) == (b >= a); } +static int gele(int a, int b) { return (a >= b) == (b <= a); } +static int gtlt(int a, int b) { return (a > b) == (b < a); } + +static int eneqne(int a, int b) { return (a == b) == !(b != a); } +static int enneeq(int a, int b) { return (a != b) == !(b == a); } + +static int enltle(int a, int b) { return (a < b) == !(b <= a); } +static int enlelt(int a, int b) { return (a <= b) == !(b < a); } +static int engegt(int a, int b) { return (a >= b) == !(b > a); } +static int engtge(int a, int b) { return (a > b) == !(b >= a); } + +static int neeqne(int a, int b) { return (a == b) != (b != a); } +static int neneeq(int a, int b) { return (a != b) != (b == a); } + +static int neltle(int a, int b) { return (a < b) != (b <= a); } +static int nelelt(int a, int b) { return (a <= b) != (b < a); } +static int negegt(int a, int b) { return (a >= b) != (b > a); } +static int negtge(int a, int b) { return (a > b) != (b >= a); } + +/* + * check-name: cse-dual-compare + * check-command: test-linearize $file + * check-output-ignore + * check-known-to-fail + * + * check-output-excludes: set[gl][et]\\. + * check-output-excludes: seteq\\. + * check-output-excludes: setne\\. + */ |
