aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/SimplifyLibCalls/floor.ll23
1 files changed, 21 insertions, 2 deletions
diff --git a/test/Transforms/SimplifyLibCalls/floor.ll b/test/Transforms/SimplifyLibCalls/floor.ll
index b9eba10693..8748169be4 100644
--- a/test/Transforms/SimplifyLibCalls/floor.ll
+++ b/test/Transforms/SimplifyLibCalls/floor.ll
@@ -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
+}
+