summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstCombine/2007-12-19-IcmpSub.ll
blob: ecb5e6ee994a0591fa2c21fafb7018cdffc5677b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
; RUN: llvm-as < %s | opt -instcombine | llvm-dis | not grep {sub}

define i32 @foo(i32 %a) {
entry:
	%tmp2 = sub i32 99, %a		; <i32> [#uses=1]
	%tmp3 = icmp sgt i32 %tmp2, -1		; <i1> [#uses=1]
	%retval = select i1 %tmp3, i32 %a, i32 0		; <i32> [#uses=1]
	ret i32 %retval
}

define i32 @bar(i32 %a) {
entry:
	%tmp2 = sub i32 99, %a		; <i32> [#uses=1]
	%tmp3 = icmp sge i32 %tmp2, 0; <i1> [#uses=1]
	%retval = select i1 %tmp3, i32 %a, i32 0		; <i32> [#uses=1]
	ret i32 %retval
}

define i32 @baz(i32 %a) {
entry:
	%tmp2 = sub i32 99, %a		; <i32> [#uses=1]
	%tmp3 = icmp slt i32 %tmp2, 1		; <i1> [#uses=1]
	%retval = select i1 %tmp3, i32 %a, i32 0		; <i32> [#uses=1]
	ret i32 %retval
}
OpenPOWER on IntegriCloud