126687147SSiva Chandra //===-- Implementation of the ceil function for aarch64 -------------------===//
226687147SSiva Chandra //
326687147SSiva Chandra // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
426687147SSiva Chandra // See https://llvm.org/LICENSE.txt for license information.
526687147SSiva Chandra // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
626687147SSiva Chandra //
726687147SSiva Chandra //===----------------------------------------------------------------------===//
826687147SSiva Chandra 
926687147SSiva Chandra #include "src/math/ceil.h"
1026687147SSiva Chandra #include "src/__support/common.h"
1126687147SSiva Chandra 
1226687147SSiva Chandra namespace __llvm_libc {
1326687147SSiva Chandra 
1426687147SSiva Chandra LLVM_LIBC_FUNCTION(double, ceil, (double x)) {
1526687147SSiva Chandra   double y;
16*c90c8d38SSiva Chandra   __asm__ __volatile__("frintp %d0, %d1\n\t" : "=w"(y) : "w"(x));
1726687147SSiva Chandra   return y;
1826687147SSiva Chandra }
1926687147SSiva Chandra 
2026687147SSiva Chandra } // namespace __llvm_libc
21