aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/ConstProp/bswap.ll
blob: d31fa9d7932467fc45b478701ec26bac6907d30e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
; bswap should be constant folded when it is passed a constant argument

; RUN: llvm-upgrade < %s | llvm-as | opt -constprop | llvm-dis | not grep call

declare ushort %llvm.bswap.i16(ushort)
declare uint %llvm.bswap.i32(uint)
declare ulong %llvm.bswap.i64(ulong)

ushort %W() {
	%Z = call ushort %llvm.bswap.i16(ushort 1)
	ret ushort %Z
}

uint %X() {
	%Z = call uint %llvm.bswap.i32(uint 1)
	ret uint %Z
}

ulong %Y() {
	%Z = call ulong %llvm.bswap.i64(ulong 1)
	ret ulong %Z
}