blob: e7057bd444f2e40c62e625dc4c4e7af9094e13ff [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}
Chris Lattnerff61e352002-08-03 20:24:58 +000044
45bool "test7"(uint %A) {
46 %B = setge uint %A, 0 ; true
47 ret bool %B
48}
49
50bool "test8"(uint %A) {
51 %B = setlt uint %A, 0 ; false
52 ret bool %B
53}