llvm-6502/test/CodeGen/X86/bswap.ll
Reid Spencer a3c533a716 For PR1297:
Update these test cases to use proper signatures for bswap which is now
and overloaded intrinsic. Its name must be of the form llvm.bswap.i32.i32
since both the parameter and the result or of type "iAny". Also, the
bit counting intrinsics changed to always return i32.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35548 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-01 07:36:28 +00:00

24 lines
619 B
LLVM

; bswap should be constant folded when it is passed a constant argument
; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 | grep bswapl | wc -l | grep 3 &&
; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 | grep rolw | wc -l | grep 1
declare ushort %llvm.bswap.i16.i16(ushort)
declare uint %llvm.bswap.i32.i32(uint)
declare ulong %llvm.bswap.i64.i64(ulong)
ushort %W(ushort %A) {
%Z = call ushort %llvm.bswap.i16.i16(ushort %A)
ret ushort %Z
}
uint %X(uint %A) {
%Z = call uint %llvm.bswap.i32.i32(uint %A)
ret uint %Z
}
ulong %Y(ulong %A) {
%Z = call ulong %llvm.bswap.i64.i64(ulong %A)
ret ulong %Z
}