xref: /openbsd-src/gnu/llvm/compiler-rt/lib/builtins/fixunsdfsi.c (revision 3cab2bb3f667058bece8e38b12449a63a9d73c4b)
1*3cab2bb3Spatrick //===-- fixunsdfsi.c - Implement __fixunsdfsi -----------------------------===//
2*3cab2bb3Spatrick //
3*3cab2bb3Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*3cab2bb3Spatrick // See https://llvm.org/LICENSE.txt for license information.
5*3cab2bb3Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*3cab2bb3Spatrick //
7*3cab2bb3Spatrick //===----------------------------------------------------------------------===//
8*3cab2bb3Spatrick 
9*3cab2bb3Spatrick #define DOUBLE_PRECISION
10*3cab2bb3Spatrick #include "fp_lib.h"
11*3cab2bb3Spatrick typedef su_int fixuint_t;
12*3cab2bb3Spatrick #include "fp_fixuint_impl.inc"
13*3cab2bb3Spatrick 
__fixunsdfsi(fp_t a)14*3cab2bb3Spatrick COMPILER_RT_ABI su_int __fixunsdfsi(fp_t a) { return __fixuint(a); }
15*3cab2bb3Spatrick 
16*3cab2bb3Spatrick #if defined(__ARM_EABI__)
17*3cab2bb3Spatrick #if defined(COMPILER_RT_ARMHF_TARGET)
__aeabi_d2uiz(fp_t a)18*3cab2bb3Spatrick AEABI_RTABI su_int __aeabi_d2uiz(fp_t a) { return __fixunsdfsi(a); }
19*3cab2bb3Spatrick #else
20*3cab2bb3Spatrick COMPILER_RT_ALIAS(__fixunsdfsi, __aeabi_d2uiz)
21*3cab2bb3Spatrick #endif
22*3cab2bb3Spatrick #endif
23