blob: 06f159f0a086d90f0dd6904d5ea63efea59b27b9 [file] [log] [blame]
Reid Spencerae81c882007-04-15 05:16:38 +00001; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
2; RUN: not grep {call.*floor(} &&
3; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
4; RUN: grep {call.*floorf(}
5; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
6; RUN: not grep {call.*ceil(} &&
7; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
8; RUN: grep {call.*ceilf(}
9; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
10; RUN: not grep {call.*nearbyint(} &&
11; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | \
12; RUN: grep {call.*nearbyintf(}
Chris Lattnerfdcc0d92006-01-23 05:56:34 +000013; XFAIL: sparc
Chris Lattner16a382d2005-08-24 17:20:30 +000014
15declare double %floor(double)
Chris Lattner4bfe10d2006-01-23 06:24:17 +000016declare double %ceil(double)
17declare double %nearbyint(double)
Chris Lattner16a382d2005-08-24 17:20:30 +000018
Chris Lattner4bfe10d2006-01-23 06:24:17 +000019float %test_floor(float %C) {
Chris Lattner16a382d2005-08-24 17:20:30 +000020 %D = cast float %C to double
21 %E = call double %floor(double %D) ; --> floorf
22 %F = cast double %E to float
23 ret float %F
24}
25
Chris Lattner4bfe10d2006-01-23 06:24:17 +000026float %test_ceil(float %C) {
27 %D = cast float %C to double
28 %E = call double %ceil(double %D) ; --> ceilf
29 %F = cast double %E to float
30 ret float %F
31}
32
33float %test_nearbyint(float %C) {
34 %D = cast float %C to double
35 %E = call double %nearbyint(double %D) ; --> floorf
36 %F = cast double %E to float
37 ret float %F
38}
39