From c7f9637a9d6359a3898531e7266fcb370da770c1 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 2 Aug 2002 18:48:09 +0000 Subject: [PATCH] Add another testcase that isn't failing because of another bug in instcombine git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3220 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/InstCombine/cast.ll | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/test/Transforms/InstCombine/cast.ll b/test/Transforms/InstCombine/cast.ll index 42b7ad9b7ce..82b5c213a0e 100644 --- a/test/Transforms/InstCombine/cast.ll +++ b/test/Transforms/InstCombine/cast.ll @@ -1,23 +1,27 @@ ; Tests to make sure elimination of casts is working correctly -; RUN: if as < %s | opt -instcombine -dce | grep '%c' +; RUN: if as < %s | opt -instcombine -dce | grep '%c' | grep cast ; RUN: then exit 1 ; RUN: else exit 0 ; RUN: fi implementation -int "test1"(int %A) -begin +int %test1(int %A) { %c1 = cast int %A to uint %c2 = cast uint %c1 to int ret int %c2 -end +} -ulong "test2"(ubyte %A) -begin +ulong %test2(ubyte %A) { %c1 = cast ubyte %A to ushort %c2 = cast ushort %c1 to uint %Ret = cast uint %c2 to ulong ret ulong %Ret -end +} + +ulong %test3(ulong %A) { ; This function should just use bitwise AND + %c1 = cast ulong %A to ubyte + %c2 = cast ubyte %c1 to ulong + ret ulong %c2 +}