summaryrefslogtreecommitdiffstats
path: root/llvm/test/TableGen/compare.td
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/TableGen/compare.td')
-rw-r--r--llvm/test/TableGen/compare.td54
1 files changed, 54 insertions, 0 deletions
diff --git a/llvm/test/TableGen/compare.td b/llvm/test/TableGen/compare.td
new file mode 100644
index 00000000000..e54d853b9a6
--- /dev/null
+++ b/llvm/test/TableGen/compare.td
@@ -0,0 +1,54 @@
+// RUN: llvm-tblgen %s | FileCheck %s
+// XFAIL: vg_leak
+
+// CHECK: --- Defs ---
+
+// CHECK: def A0 {
+// CHECK: bit eq = 1;
+// CHECK: bit ne = 0;
+// CHECK: bit le = 1;
+// CHECK: bit lt = 0;
+// CHECK: bit ge = 1;
+// CHECK: bit gt = 0;
+// CHECK: }
+
+// CHECK: def A1 {
+// CHECK: bit eq = 0;
+// CHECK: bit ne = 1;
+// CHECK: bit le = 1;
+// CHECK: bit lt = 1;
+// CHECK: bit ge = 0;
+// CHECK: bit gt = 0;
+// CHECK: }
+
+// CHECK: def A2 {
+// CHECK: bit eq = 0;
+// CHECK: bit ne = 1;
+// CHECK: bit le = 0;
+// CHECK: bit lt = 0;
+// CHECK: bit ge = 1;
+// CHECK: bit gt = 1;
+// CHECK: }
+
+// CHECK: def A3 {
+// CHECK: bit eq = 0;
+// CHECK: bit ne = 1;
+// CHECK: bit le = 0;
+// CHECK: bit lt = 0;
+// CHECK: bit ge = 1;
+// CHECK: bit gt = 1;
+// CHECK: }
+
+class A<int x, int y> {
+ bit eq = !eq(x, y);
+ bit ne = !ne(x, y);
+ bit le = !le(x, y);
+ bit lt = !lt(x, y);
+ bit ge = !ge(x, y);
+ bit gt = !gt(x, y);
+}
+
+def A0 : A<-3, -3>;
+def A1 : A<-1, 4>;
+def A2 : A<3, -2>;
+def A3 : A<4, 2>;
OpenPOWER on IntegriCloud