Add a test case for shl of APInt integers > 64 bits by 0 shift amount.
authorReid Spencer <rspencer@reidspencer.com>
Sat, 12 May 2007 17:59:55 +0000 (17:59 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sat, 12 May 2007 17:59:55 +0000 (17:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37009 91177308-0d34-0410-b5e6-96231b3b80d8

test/ExecutionEngine/2007-05-12-APInt-Shl.ll [new file with mode: 0644]

diff --git a/test/ExecutionEngine/2007-05-12-APInt-Shl.ll b/test/ExecutionEngine/2007-05-12-APInt-Shl.ll
new file mode 100644 (file)
index 0000000..cbea407
--- /dev/null
@@ -0,0 +1,30 @@
+; RUN: llvm-as %s -f -o %t.bc
+; RUN: lli -force-interpreter=true %t.bc | tee %t.out | grep 10
+
+; Test that APInt shift left works when bitwidth > 64 and shiftamt == 0
+
+declare i32 @putchar(i32)
+
+define void @putBit(i65 %x, i65 %bitnum) {
+  %tmp1 = shl i65 1, %bitnum
+  %tmp2 = and i65 %x, %tmp1
+  %cond = icmp ne i65 %tmp2, 0
+  br i1 %cond, label %cond_true, label %cond_false
+
+cond_true:
+  call i32 @putchar(i32 49)
+  br label %cond_next
+
+cond_false:
+  call i32 @putchar(i32 48)
+  br label %cond_next
+
+cond_next:
+  ret void
+}
+
+define i32 @main() {
+  call void @putBit(i65 1, i65 0)
+  call void @putBit(i65 0, i65 0)
+  ret i32 0
+}