new testcase, bswaps should be eliminated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32005 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2006-11-29 05:00:14 +00:00
parent b4809b2b8f
commit 5b4c958100

View File

@ -0,0 +1,26 @@
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep ret | wc -l | grep 3 &&
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep 'call.*bswap'
bool %test1(ushort %tmp2) {
%tmp10 = call ushort %llvm.bswap.i16( ushort %tmp2 )
%tmp = seteq ushort %tmp10, 1
ret bool %tmp
}
bool %test2(uint %tmp) {
%tmp34 = tail call uint %llvm.bswap.i32( uint %tmp )
%tmp = seteq uint %tmp34, 1
ret bool %tmp
}
declare uint %llvm.bswap.i32(uint)
bool %test3(ulong %tmp) {
%tmp34 = tail call ulong %llvm.bswap.i64( ulong %tmp )
%tmp = seteq ulong %tmp34, 1
ret bool %tmp
}
declare ulong %llvm.bswap.i64(ulong)
declare ushort %llvm.bswap.i16(ushort)