New test cases for bit accurate integers developed by Guoling Han.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33259 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Integer/basictest_bt.ll b/test/Integer/basictest_bt.ll
new file mode 100644
index 0000000..8140197
--- /dev/null
+++ b/test/Integer/basictest_bt.ll
@@ -0,0 +1,34 @@
+; RUN: llvm-as %s -o - | llvm-dis > %t1.ll
+; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
+; RUN: diff %t1.ll %t2.ll
+
+implementation
+
+; Test "stripped" format where nothing is symbolic... this is how the bytecode
+; format looks anyways (except for negative vs positive offsets)...
+;
+define void "void"(i39, i39) ; Def %0, %1
+begin
+ add i39 0, 0 ; Def 2
+ sub i39 0, 4 ; Def 3
+ br label %1
+
+; <label>:1 ; preds = %1, %0
+ add i39 %0, %1 ; Def 4
+ sub i39 %4, %3 ; Def 5
+ icmp sle i39 %5, %2 ; Def 0 - i1 plane
+ br i1 %0, label %2, label %1
+
+; <label>:2 ; preds = %1
+ add i39 %0, %1 ; Def 6
+ sub i39 %4, %3 ; Def 7
+ icmp sle i39 %7, %2 ; Def 1 - i1 plane
+ ret void
+end
+
+; This function always returns zero
+define i39 "zarro"()
+begin
+Startup:
+ ret i39 0
+end