diff options
Diffstat (limited to 'src/core/Rounding.cpp')
-rw-r--r-- | src/core/Rounding.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/Rounding.cpp b/src/core/Rounding.cpp index fea635be97..da6e5f6099 100644 --- a/src/core/Rounding.cpp +++ b/src/core/Rounding.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017 ARM Limited. + * Copyright (c) 2017-2019 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -50,7 +50,13 @@ int arm_compute::round(float x, RoundingPolicy rounding_policy) } case RoundingPolicy::TO_NEAREST_EVEN: { +#ifdef __aarch64__ + asm("fcvtns %x[res], %s[value]" + : [res] "=r"(rounded) + : [value] "w"(x)); +#else // __aarch64__ ARM_COMPUTE_ERROR("TO_NEAREST_EVEN rounding policy is not supported."); +#endif // __aarch64__ break; } default: |