1 //===-- Implementation of the ceilf 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/ceilf.h"
10 #include "src/__support/common.h"
11 
12 namespace __llvm_libc {
13 
14 LLVM_LIBC_FUNCTION(float, ceilf, (float x)) {
15   float y;
16   __asm__ __volatile__("ldr s0, %1\n"
17                        "frintp s0, s0\n"
18                        "str s0, %0\n"
19                        : "=m"(y)
20                        : "m"(x)
21                        : "s0");
22   return y;
23 }
24 
25 } // namespace __llvm_libc
26