Added the ability to xfail based on llvmgcc version
[llvm-complete.git] / test / Transforms / SimplifyLibCalls / floor.ll
blob8748169be43f33ee8e21264f9b9f60249126683f
1 ; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | not grep 'call.*floor(' &&
2 ; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | grep 'call.*floorf('
3 ; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | not grep 'call.*ceil(' &&
4 ; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | grep 'call.*ceilf('
5 ; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | not grep 'call.*nearbyint(' &&
6 ; RUN: llvm-as < %s | opt -simplify-libcalls | llvm-dis | grep 'call.*nearbyintf('
7 ; XFAIL: sparc
9 declare double %floor(double)
10 declare double %ceil(double)
11 declare double %nearbyint(double)
13 float %test_floor(float %C) {
14         %D = cast float %C to double
15         %E = call double %floor(double %D)  ; --> floorf
16         %F = cast double %E to float
17         ret float %F
20 float %test_ceil(float %C) {
21         %D = cast float %C to double
22         %E = call double %ceil(double %D)  ; --> ceilf
23         %F = cast double %E to float
24         ret float %F
27 float %test_nearbyint(float %C) {
28         %D = cast float %C to double
29         %E = call double %nearbyint(double %D)  ; --> floorf
30         %F = cast double %E to float
31         ret float %F