Add functions castbool and boolexpr.

llvm-svn: 3448
This commit is contained in:
Vikram S. Adve 2002-08-22 03:05:13 +00:00
parent a2f79dac9d
commit d25378de83
1 changed files with 24 additions and 0 deletions

View File

@ -108,6 +108,30 @@ retlbl:
end
;; Test use of a boolean result in cast operations.
;; Requires converting a condition code result into a 0/1 value in a reg.
;;
implementation
int %castbool(int %A, int %B) {
bb0: ; [#uses=0]
%cond213 = setlt int %A, %B ; <bool> [#uses=1]
%cast110 = cast bool %cond213 to ubyte ; <ubyte> [#uses=1]
%cast109 = cast ubyte %cast110 to int ; <int> [#uses=1]
ret int %cast109
}
;; Test use of a boolean result in arithmetic and logical operations.
;; Requires converting a condition code result into a 0/1 value in a reg.
;;
bool %boolexpr(bool %b, int %N) {
%b2 = setge int %N, 0
%b3 = and bool %b, %b2
ret bool %b3
}
; Test branch on floating point comparison
;
void "testfloatbool"(float %x, float %y) ; Def %0, %1 - float