diff mbox series

[1/9] unop: add testcases for unop simplifications

Message ID 20201023163939.58359-2-luc.vanoostenryck@gmail.com (mailing list archive)
State Mainlined, archived
Headers show
Series basic unop simplifications | expand

Commit Message

Luc Van Oostenryck Oct. 23, 2020, 4:39 p.m. UTC
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
diff mbox series

Patch

diff --git a/validation/optim/simplify-neg-add-cte.c b/validation/optim/simplify-neg-add-cte.c
new file mode 100644
index 000000000000..4e425096a489
--- /dev/null
+++ b/validation/optim/simplify-neg-add-cte.c
@@ -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
+ */
diff --git a/validation/optim/simplify-neg-not.c b/validation/optim/simplify-neg-not.c
new file mode 100644
index 000000000000..4bd0abfb0628
--- /dev/null
+++ b/validation/optim/simplify-neg-not.c
@@ -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
+ */
diff --git a/validation/optim/simplify-neg-sub.c b/validation/optim/simplify-neg-sub.c
new file mode 100644
index 000000000000..b73c9e5e66b4
--- /dev/null
+++ b/validation/optim/simplify-neg-sub.c
@@ -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
+ */
diff --git a/validation/optim/simplify-not-add-cte.c b/validation/optim/simplify-not-add-cte.c
new file mode 100644
index 000000000000..cf7fe2f27258
--- /dev/null
+++ b/validation/optim/simplify-not-add-cte.c
@@ -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
+ */
diff --git a/validation/optim/simplify-not-neg.c b/validation/optim/simplify-not-neg.c
new file mode 100644
index 000000000000..b9675ea62049
--- /dev/null
+++ b/validation/optim/simplify-not-neg.c
@@ -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
+ */
diff --git a/validation/optim/simplify-not-sub-cte.c b/validation/optim/simplify-not-sub-cte.c
new file mode 100644
index 000000000000..ec105beb31fe
--- /dev/null
+++ b/validation/optim/simplify-not-sub-cte.c
@@ -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
+ */
diff --git a/validation/optim/simplify-not-xor-cte.c b/validation/optim/simplify-not-xor-cte.c
new file mode 100644
index 000000000000..d3046f208fce
--- /dev/null
+++ b/validation/optim/simplify-not-xor-cte.c
@@ -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
+ */