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