From 45d6764ca1161420773693d21e9581f847e2cdda Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Sat, 12 May 2007 17:59:55 +0000 Subject: Add a test case for shl of APInt integers > 64 bits by 0 shift amount. 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 | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 test/ExecutionEngine/2007-05-12-APInt-Shl.ll (limited to 'test') diff --git a/test/ExecutionEngine/2007-05-12-APInt-Shl.ll b/test/ExecutionEngine/2007-05-12-APInt-Shl.ll new file mode 100644 index 0000000..cbea407 --- /dev/null +++ b/test/ExecutionEngine/2007-05-12-APInt-Shl.ll @@ -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 +} -- cgit v1.1