From: Nick Lewycky Date: Mon, 19 Jan 2009 18:08:33 +0000 (+0000) Subject: Port this test from dejagnu to unit testing. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=1999ff1d810b13425fcb80ac8bbccdff4c3a7cf8;p=oota-llvm.git Port this test from dejagnu to unit testing. The way this worked before was to test APInt by running "lli -force-interpreter=true" knowing the lli uses APInt under the hood to store its values. Now, we test APInt directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62514 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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); +} + +}