new file mode 100644
@@ -0,0 +1,12 @@
+#define C 3
+
+int foo(int x) { return -(x + C) == (-3 - x); }
+
+/*
+ * check-name: simplify-neg-add-cte
+ * check-command: test-linearize -Wno-decl $file
+ * check-known-to-fail
+ *
+ * check-output-ignore
+ * check-output-contains: ret\\..*\\$1
+ */
new file mode 100644
@@ -0,0 +1,10 @@
+int foo(int x) { return -(~x) == x + 1; }
+
+/*
+ * check-name: simplify-neg-not
+ * check-command: test-linearize -Wno-decl $file
+ * check-known-to-fail
+ *
+ * check-output-ignore
+ * check-output-contains: ret\\..*\\$1
+ */
new file mode 100644
@@ -0,0 +1,10 @@
+int foo(int x, int y) { return -(x - y) == (y - x); }
+
+/*
+ * check-name: simplify-neg-sub
+ * check-command: test-linearize -Wno-decl $file
+ * check-known-to-fail
+ *
+ * check-output-ignore
+ * check-output-contains: ret\\..*\\$1
+ */
new file mode 100644
@@ -0,0 +1,12 @@
+#define C 3
+
+int foo(int x) { return ~(x + C) == (~C - x); }
+
+/*
+ * check-name: simplify-not-add-cte
+ * check-command: test-linearize -Wno-decl $file
+ * check-known-to-fail
+ *
+ * check-output-ignore
+ * check-output-contains: ret\\..*\\$1
+ */
new file mode 100644
@@ -0,0 +1,10 @@
+int foo(int x) { return ~(-x) == (x - 1); }
+
+/*
+ * check-name: simplify-not-neg
+ * check-command: test-linearize -Wno-decl $file
+ * check-known-to-fail
+ *
+ * check-output-ignore
+ * check-output-contains: ret\\..*\\$1
+ */
new file mode 100644
@@ -0,0 +1,12 @@
+#define C 3
+
+int foo(int x) { return ~(C - x) == (x + ~C); }
+
+/*
+ * check-name: simplify-not-sub-cte
+ * check-command: test-linearize -Wno-decl $file
+ * check-known-to-fail
+ *
+ * check-output-ignore
+ * check-output-contains: ret\\..*\\$1
+ */
new file mode 100644
@@ -0,0 +1,12 @@
+#define C 3
+
+int foo(int x) { return ~(x ^ C) == (x ^ ~C); }
+
+/*
+ * check-name: simplify-not-xor-cte
+ * check-command: test-linearize -Wno-decl $file
+ * check-known-to-fail
+ *
+ * check-output-ignore
+ * check-output-contains: ret\\..*\\$1
+ */
Add a few testcases for the simplification of unary operations. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com> --- validation/optim/simplify-neg-add-cte.c | 12 ++++++++++++ validation/optim/simplify-neg-not.c | 10 ++++++++++ validation/optim/simplify-neg-sub.c | 10 ++++++++++ validation/optim/simplify-not-add-cte.c | 12 ++++++++++++ validation/optim/simplify-not-neg.c | 10 ++++++++++ validation/optim/simplify-not-sub-cte.c | 12 ++++++++++++ validation/optim/simplify-not-xor-cte.c | 12 ++++++++++++ 7 files changed, 78 insertions(+) create mode 100644 validation/optim/simplify-neg-add-cte.c create mode 100644 validation/optim/simplify-neg-not.c create mode 100644 validation/optim/simplify-neg-sub.c create mode 100644 validation/optim/simplify-not-add-cte.c create mode 100644 validation/optim/simplify-not-neg.c create mode 100644 validation/optim/simplify-not-sub-cte.c create mode 100644 validation/optim/simplify-not-xor-cte.c