aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
-rw-r--r--validation/optim/cse-dual-compare.c34
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\\.
+ */