forked from OSchip/llvm-project
parent
6d5bdb0f9b
commit
4bfe10dab1
|
@ -1,14 +1,33 @@
|
|||
; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | not grep 'call.*floor(' &&
|
||||
; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | grep 'call.*floorf('
|
||||
|
||||
; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | not grep 'call.*ceil(' &&
|
||||
; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | grep 'call.*ceilf('
|
||||
; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | not grep 'call.*nearbyint(' &&
|
||||
; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | grep 'call.*nearbyintf('
|
||||
; XFAIL: sparc
|
||||
|
||||
declare double %floor(double)
|
||||
declare double %ceil(double)
|
||||
declare double %nearbyint(double)
|
||||
|
||||
float %test(float %C) {
|
||||
float %test_floor(float %C) {
|
||||
%D = cast float %C to double
|
||||
%E = call double %floor(double %D) ; --> floorf
|
||||
%F = cast double %E to float
|
||||
ret float %F
|
||||
}
|
||||
|
||||
float %test_ceil(float %C) {
|
||||
%D = cast float %C to double
|
||||
%E = call double %ceil(double %D) ; --> ceilf
|
||||
%F = cast double %E to float
|
||||
ret float %F
|
||||
}
|
||||
|
||||
float %test_nearbyint(float %C) {
|
||||
%D = cast float %C to double
|
||||
%E = call double %nearbyint(double %D) ; --> floorf
|
||||
%F = cast double %E to float
|
||||
ret float %F
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue