setcc of booleans should always be eliminated

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3284 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2002-08-09 23:34:18 +00:00
parent f8e2cf9221
commit 22fae29835

View File

@ -51,3 +51,30 @@ bool "test8"(uint %A) {
%B = setlt uint %A, 0 ; false
ret bool %B
}
;; test operations on boolean values these should all be eliminated$a
bool %test9(bool %A) {
%B = setlt bool %A, false ; false
ret bool %B
}
bool %test10(bool %A) {
%B = setgt bool %A, true ; false
ret bool %B
}
bool %test11(bool %A) {
%B = setle bool %A, true ; true
ret bool %B
}
bool %test12(bool %A) {
%B = setge bool %A, false ; true
ret bool %B
}
bool %test13(bool %A, bool %B) {
%C = setge bool %A, %B ; A | ~B
ret bool %C
}
bool %test14(bool %A, bool %B) {
%C = seteq bool %A, %B ; ~(A ^ B)
ret bool %C
}