aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation/optim/zext-cmpu.c
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-11-09 23:53:45 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2020-11-09 23:53:45 +0100
commit98469166098170fc67d3eb043656c3e79190b31f (patch)
treed38b631f527a85e7393867b3381230271c12194f /validation/optim/zext-cmpu.c
parent55d44f307c12fe0241d0a12e1dfe0320a54510af (diff)
parentc60237251a55984b1fcf6302d25650d35533dc2a (diff)
downloadsparse-dev-98469166098170fc67d3eb043656c3e79190b31f.tar.gz
Merge branch 'optim-cmp' into next
* simplify & canonicalize compares
Diffstat (limited to 'validation/optim/zext-cmpu.c')
-rw-r--r--validation/optim/zext-cmpu.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/validation/optim/zext-cmpu.c b/validation/optim/zext-cmpu.c
new file mode 100644
index 00000000..9758e071
--- /dev/null
+++ b/validation/optim/zext-cmpu.c
@@ -0,0 +1,16 @@
+int ltg(unsigned x) { return (((long long)x) < 0x100000000ULL) == 1; }
+int ltl(unsigned x) { return (((long long)x) < 0x0ffffffffULL) == (x < 0xffffffffU); }
+int leg(unsigned x) { return (((long long)x) <= 0x0ffffffffULL) == 1; }
+int lel(unsigned x) { return (((long long)x) <= 0x0fffffffeULL) == (x <= 0xfffffffeU); }
+int geg(unsigned x) { return (((long long)x) >= 0x100000000ULL) == 0; }
+int gel(unsigned x) { return (((long long)x) >= 0x0ffffffffULL) == (x >= 0xffffffffU); }
+int gtg(unsigned x) { return (((long long)x) > 0x0ffffffffULL) == 0; }
+int gtl(unsigned x) { return (((long long)x) > 0x0fffffffeULL) == (x > 0xfffffffeU); }
+
+/*
+ * check-name: zext-cmpu
+ * check-command: test-linearize -Wno-decl $file
+ *
+ * check-output-ignore
+ * check-output-returns: 1
+ */