blob: cbea4076ea1ef76500af9de73c7cb1d64f96f7b1 [file] [log] [blame]
Reid Spencer45d67642007-05-12 17:59:55 +00001; 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
6declare i32 @putchar(i32)
7
8define 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
14cond_true:
15 call i32 @putchar(i32 49)
16 br label %cond_next
17
18cond_false:
19 call i32 @putchar(i32 48)
20 br label %cond_next
21
22cond_next:
23 ret void
24}
25
26define i32 @main() {
27 call void @putBit(i65 1, i65 0)
28 call void @putBit(i65 0, i65 0)
29 ret i32 0
30}