diff options
author | Owen Anderson <resistor@mac.com> | 2012-08-13 23:32:49 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2012-08-13 23:32:49 +0000 |
commit | 7c626d30974c632ab500171ff185a24bcf2603bf (patch) | |
tree | c8376ef145853a72e22753cb83b46218bebf45a3 /test | |
parent | 03e593efc65807dad7ca8807554584fcb89f40f1 (diff) | |
download | external_llvm-7c626d30974c632ab500171ff185a24bcf2603bf.zip external_llvm-7c626d30974c632ab500171ff185a24bcf2603bf.tar.gz external_llvm-7c626d30974c632ab500171ff185a24bcf2603bf.tar.bz2 |
Add a roundToIntegral method to APFloat, which can be parameterized over various rounding modes. Use this to implement SelectionDAG constant folding of FFLOOR, FCEIL, and FTRUNC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161807 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/ARM/floorf.ll | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/floorf.ll b/test/CodeGen/ARM/floorf.ll new file mode 100644 index 0000000..29f43fd --- /dev/null +++ b/test/CodeGen/ARM/floorf.ll @@ -0,0 +1,29 @@ +; RUN: llc -march=arm < %s | FileCheck %s + +; CHECK: test1 +define float @test1() nounwind uwtable readnone ssp { +; CHECK-NOT: floorf + %foo = call float @floorf(float 0x4000CCCCC0000000) nounwind readnone + ret float %foo +} + +; CHECK: test2 +define float @test2() nounwind uwtable readnone ssp { +; CHECK-NOT: ceilf + %foo = call float @ceilf(float 0x4000CCCCC0000000) nounwind readnone + ret float %foo +} + +; CHECK: test3 +define float @test3() nounwind uwtable readnone ssp { +; CHECK-NOT: truncf + %foo = call float @truncf(float 0x4000CCCCC0000000) nounwind readnone + ret float %foo +} + +declare float @floorf(float) nounwind readnone +declare float @ceilf(float) nounwind readnone +declare float @truncf(float) nounwind readnone + + + |