diff --git a/test/ExecutionEngine/2007-05-12-APInt-Shl.ll b/test/ExecutionEngine/2007-05-12-APInt-Shl.ll deleted file mode 100644 index cbea4076ea1..00000000000 --- a/test/ExecutionEngine/2007-05-12-APInt-Shl.ll +++ /dev/null @@ -1,30 +0,0 @@ -; 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 -} diff --git a/unittests/ADT/APInt.cpp b/unittests/ADT/APInt.cpp new file mode 100644 index 00000000000..5bca5b6b406 --- /dev/null +++ b/unittests/ADT/APInt.cpp @@ -0,0 +1,25 @@ +//===- llvm/unittest/ADT/APInt.cpp - APInt unit tests -----------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "gtest/gtest.h" +#include "llvm/ADT/APInt.h" + +using namespace llvm; + +namespace { + +// Test that APInt shift left works when bitwidth > 64 and shiftamt == 0 +TEST(APIntTest, ShiftLeftByZero) { + APInt One = APInt::getNullValue(65) + 1; + APInt Shl = One.shl(0); + EXPECT_EQ(Shl[0], true); + EXPECT_EQ(Shl[1], false); +} + +}