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
This commit is contained in:
Chris Lattner 2002-08-02 18:48:09 +00:00
parent d656922f9d
commit c7f9637a9d

View File

@ -1,23 +1,27 @@
; Tests to make sure elimination of casts is working correctly ; 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: then exit 1
; RUN: else exit 0 ; RUN: else exit 0
; RUN: fi ; RUN: fi
implementation implementation
int "test1"(int %A) int %test1(int %A) {
begin
%c1 = cast int %A to uint %c1 = cast int %A to uint
%c2 = cast uint %c1 to int %c2 = cast uint %c1 to int
ret int %c2 ret int %c2
end }
ulong "test2"(ubyte %A) ulong %test2(ubyte %A) {
begin
%c1 = cast ubyte %A to ushort %c1 = cast ubyte %A to ushort
%c2 = cast ushort %c1 to uint %c2 = cast ushort %c1 to uint
%Ret = cast uint %c2 to ulong %Ret = cast uint %c2 to ulong
ret ulong %Ret 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
}