blob: 03c7e790db40a22a6194a24c9ad8258729d7b188 [file] [log] [blame]
Chris Lattner6022ad02002-05-06 05:51:26 +00001; This test makes sure that these instructions are properly eliminated.
2;
3
Chris Lattnerf6f95d02002-08-02 19:27:58 +00004; RUN: if as < %s | opt -instcombine | dis | grep set
Chris Lattner6022ad02002-05-06 05:51:26 +00005; RUN: then exit 1
6; RUN: else exit 0
7; RUN: fi
8
Chris Lattnerce59a3d2002-05-09 19:52:36 +00009%X = uninitialized global int
Chris Lattner6022ad02002-05-06 05:51:26 +000010
11bool "test1"(int %A) {
12 %B = seteq int %A, %A
Chris Lattnerce59a3d2002-05-09 19:52:36 +000013 %C = seteq int* %X, null ; Never true
14 %D = and bool %B, %C
15 ret bool %D
Chris Lattner6022ad02002-05-06 05:51:26 +000016}
17
18bool "test2"(int %A) {
19 %B = setne int %A, %A
Chris Lattnerce59a3d2002-05-09 19:52:36 +000020 %C = setne int* %X, null ; Never false
21 %D = or bool %B, %C
22 ret bool %D
Chris Lattner6022ad02002-05-06 05:51:26 +000023}
24
25bool "test3"(int %A) {
26 %B = setlt int %A, %A
27 ret bool %B
28}
29
30bool "test4"(int %A) {
31 %B = setgt int %A, %A
32 ret bool %B
33}
34
35bool "test5"(int %A) {
36 %B = setle int %A, %A
37 ret bool %B
38}
39
40bool "test6"(int %A) {
41 %B = setge int %A, %A
42 ret bool %B
43}