Trying that again.
[oota-llvm.git] / test / ExecutionEngine / 2007-05-12-APInt-Shl.ll
1 ; RUN: llvm-as %s -f -o %t.bc
2 ; RUN: lli -force-interpreter=true %t.bc | tee %t.out | grep 10
3
4 ; Test that APInt shift left works when bitwidth > 64 and shiftamt == 0
5
6 declare i32 @putchar(i32)
7
8 define void @putBit(i65 %x, i65 %bitnum) {
9   %tmp1 = shl i65 1, %bitnum
10   %tmp2 = and i65 %x, %tmp1
11   %cond = icmp ne i65 %tmp2, 0
12   br i1 %cond, label %cond_true, label %cond_false
13
14 cond_true:
15   call i32 @putchar(i32 49)
16   br label %cond_next
17
18 cond_false:
19   call i32 @putchar(i32 48)
20   br label %cond_next
21
22 cond_next:
23   ret void
24 }
25
26 define i32 @main() {
27   call void @putBit(i65 1, i65 0)
28   call void @putBit(i65 0, i65 0)
29   ret i32 0
30 }