aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/optim
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2016-12-15 12:00:20 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-06-28 18:54:44 +0200
commit395b4de3d5084493d4dea2da74b735cc3bb8e886 (patch)
tree6db49fa4af6d025b9ad347267e5982caf8025bdd /validation/optim
parentcd1366255259df08c3e1508976130d978e22da48 (diff)
downloadsparse-dev-395b4de3d5084493d4dea2da74b735cc3bb8e886.tar.gz
simplify 'x ^ ~0' to '~x'
This is yet another simple identity with the potential to trigger more simplifications. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'validation/optim')
-rw-r--r--validation/optim/bits-not-zero.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/validation/optim/bits-not-zero.c b/validation/optim/bits-not-zero.c
index ce74705e..189fe331 100644
--- a/validation/optim/bits-not-zero.c
+++ b/validation/optim/bits-not-zero.c
@@ -1,5 +1,6 @@
int or_not0(int a) { return a | ~0; }
int and_not0(int a) { return a & ~0; }
+int xor_not0(int a) { return a ^ ~0; }
/*
* check-name: bool-not-zero
@@ -18,5 +19,12 @@ and_not0:
ret.32 %arg1
+xor_not0:
+.L4:
+ <entry-point>
+ not.32 %r8 <- %arg1
+ ret.32 %r8
+
+
* check-output-end
*/