blob: d1c6548822881613a6a9eee664df1e5bf9753887 [file] [log] [blame]
Reid Spencerd0e30dc2006-12-02 04:23:10 +00001; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*floor(' &&
2; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | grep 'call.*floorf('
3; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*ceil(' &&
4; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | grep 'call.*ceilf('
5; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | not grep 'call.*nearbyint(' &&
6; RUN: llvm-upgrade < %s | llvm-as | opt -simplify-libcalls | llvm-dis | grep 'call.*nearbyintf('
Chris Lattnerfdcc0d92006-01-23 05:56:34 +00007; XFAIL: sparc
Chris Lattner16a382d2005-08-24 17:20:30 +00008
9declare double %floor(double)
Chris Lattner4bfe10d2006-01-23 06:24:17 +000010declare double %ceil(double)
11declare double %nearbyint(double)
Chris Lattner16a382d2005-08-24 17:20:30 +000012
Chris Lattner4bfe10d2006-01-23 06:24:17 +000013float %test_floor(float %C) {
Chris Lattner16a382d2005-08-24 17:20:30 +000014 %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
18}
19
Chris Lattner4bfe10d2006-01-23 06:24:17 +000020float %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
25}
26
27float %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
32}
33