blob: 8721c83521bfceb10cffb3e83c441590173db657 [file] [log] [blame]
Dan Gohman18800922009-09-11 18:01:28 +00001; RUN: opt < %s -mem2reg -instcombine -S | grep "ret i32 1" | count 8
Owen Anderson3de3f992007-12-28 21:08:43 +00002
3define i32 @test1() {
4entry:
5 %z = alloca i32
6 store i32 0, i32* %z
7 %tmp = load i32* %z
8 %sub = sub i32 %tmp, 1
9 %cmp = icmp ule i32 %sub, 0
10 %retval = select i1 %cmp, i32 0, i32 1
11 ret i32 %retval
12}
13
14define i32 @test2() {
15entry:
16 %z = alloca i32
17 store i32 0, i32* %z
18 %tmp = load i32* %z
19 %sub = sub i32 %tmp, 1
20 %cmp = icmp ugt i32 %sub, 0
21 %retval = select i1 %cmp, i32 1, i32 0
22 ret i32 %retval
23}
24
25define i32 @test3() {
26entry:
27 %z = alloca i32
28 store i32 0, i32* %z
29 %tmp = load i32* %z
30 %sub = sub i32 %tmp, 1
31 %cmp = icmp slt i32 %sub, 0
32 %retval = select i1 %cmp, i32 1, i32 0
33 ret i32 %retval
34}
35
36define i32 @test4() {
37entry:
38 %z = alloca i32
39 store i32 0, i32* %z
40 %tmp = load i32* %z
41 %sub = sub i32 %tmp, 1
42 %cmp = icmp sle i32 %sub, 0
43 %retval = select i1 %cmp, i32 1, i32 0
44 ret i32 %retval
45}
46
47define i32 @test5() {
48entry:
49 %z = alloca i32
50 store i32 0, i32* %z
51 %tmp = load i32* %z
52 %sub = sub i32 %tmp, 1
53 %cmp = icmp sge i32 %sub, 0
54 %retval = select i1 %cmp, i32 0, i32 1
55 ret i32 %retval
56}
57
58define i32 @test6() {
59entry:
60 %z = alloca i32
61 store i32 0, i32* %z
62 %tmp = load i32* %z
63 %sub = sub i32 %tmp, 1
64 %cmp = icmp sgt i32 %sub, 0
65 %retval = select i1 %cmp, i32 0, i32 1
66 ret i32 %retval
67}
68
69define i32 @test7() {
70entry:
71 %z = alloca i32
72 store i32 0, i32* %z
73 %tmp = load i32* %z
74 %sub = sub i32 %tmp, 1
75 %cmp = icmp eq i32 %sub, 0
76 %retval = select i1 %cmp, i32 0, i32 1
77 ret i32 %retval
78}
79
80define i32 @test8() {
81entry:
82 %z = alloca i32
83 store i32 0, i32* %z
84 %tmp = load i32* %z
85 %sub = sub i32 %tmp, 1
86 %cmp = icmp ne i32 %sub, 0
87 %retval = select i1 %cmp, i32 1, i32 0
88 ret i32 %retval
Chris Lattner3ae2dd22010-04-07 22:53:17 +000089}