1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-28 06:22:51 +01:00
llvm-mirror/test/Regression/Transforms/InstCombine/cast.ll
Chris Lattner cdb6a7e022 These tests should not run -dce pass to cleanup instcombine.
If instcombine is making dead instructions, ALL that should be used is -die

llvm-svn: 3221
2002-08-02 19:27:58 +00:00

28 lines
569 B
LLVM

; Tests to make sure elimination of casts is working correctly
; RUN: if as < %s | opt -instcombine | grep '%c' | grep cast
; RUN: then exit 1
; RUN: else exit 0
; RUN: fi
implementation
int %test1(int %A) {
%c1 = cast int %A to uint
%c2 = cast uint %c1 to int
ret int %c2
}
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
}
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
}