1 //===-- Implementation of the ceil function for aarch64 -------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #include "src/math/ceil.h"
10 #include "src/__support/common.h"
11 
12 namespace __llvm_libc {
13 
14 LLVM_LIBC_FUNCTION(double, ceil, (double x)) {
15   double y;
16   __asm__ __volatile__("ldr d0, %1\n"
17                        "frintp d0, d0\n"
18                        "str d0, %0\n"
19                        : "=m"(y)
20                        : "m"(x)
21                        : "d0");
22   return y;
23 }
24 
25 } // namespace __llvm_libc
26