diff options
| author | Yi Kong <yikong@google.com> | 2019-03-26 22:01:22 +0000 |
|---|---|---|
| committer | Yi Kong <yikong@google.com> | 2019-03-26 22:01:22 +0000 |
| commit | 2cabea054e40ae2837da959d0ca89ae25cf1b1f1 (patch) | |
| tree | 28e7e891bd6a5b5f3dbb3745db45ea6498c1b36a /compiler-rt/lib/builtins/fp_mode.c | |
| parent | 05495c5d4571b1756369e00a1ca7003d63e204da (diff) | |
| download | bcm5719-llvm-2cabea054e40ae2837da959d0ca89ae25cf1b1f1.tar.gz bcm5719-llvm-2cabea054e40ae2837da959d0ca89ae25cf1b1f1.zip | |
[builtins] Rounding mode support for addxf3/subxf3
Implement rounding mode support for addxf3/subxf3.
On architectures that implemented the support, this will access the
corresponding floating point environment register to apply the
correct rounding. For other architectures, it will keep the current
behaviour and use IEEE-754 default rounding mode (to nearest, ties
to even).
ARM32/AArch64 support implemented in this change. i386 and AMD64
will be added in a follow up change.
Differential Revision: https://reviews.llvm.org/D57143
llvm-svn: 357035
Diffstat (limited to 'compiler-rt/lib/builtins/fp_mode.c')
| -rw-r--r-- | compiler-rt/lib/builtins/fp_mode.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/compiler-rt/lib/builtins/fp_mode.c b/compiler-rt/lib/builtins/fp_mode.c new file mode 100644 index 00000000000..c1b6c1f6b8a --- /dev/null +++ b/compiler-rt/lib/builtins/fp_mode.c @@ -0,0 +1,24 @@ +//===----- lib/fp_mode.c - Floaing-point environment mode utilities --C -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file provides a default implementation of fp_mode.h for architectures +// that does not support or does not have an implementation of floating point +// environment mode. +// +//===----------------------------------------------------------------------===// + +#include "fp_mode.h" + +// IEEE-754 default rounding (to nearest, ties to even). +FE_ROUND_MODE __fe_getround() { + return FE_TONEAREST; +} + +int __fe_raise_inexact() { + return 0; +} |

