mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
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:
parent
d656922f9d
commit
c7f9637a9d
@ -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
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user