xref: /llvm-project/compiler-rt/lib/builtins/fixunsdfsi.c (revision 84da0e1bb75f8666cf222d2f600f37bebb9ea389)
10ba22f51SPetr Hosek //===-- fixunsdfsi.c - Implement __fixunsdfsi -----------------------------===//
20ba22f51SPetr Hosek //
30ba22f51SPetr Hosek // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40ba22f51SPetr Hosek // See https://llvm.org/LICENSE.txt for license information.
50ba22f51SPetr Hosek // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60ba22f51SPetr Hosek //
70ba22f51SPetr Hosek //===----------------------------------------------------------------------===//
8a6b264b5SAlexey Samsonov 
991bd698eSJoerg Sonnenberger #define DOUBLE_PRECISION
1091bd698eSJoerg Sonnenberger #include "fp_lib.h"
1191bd698eSJoerg Sonnenberger typedef su_int fixuint_t;
1291bd698eSJoerg Sonnenberger #include "fp_fixuint_impl.inc"
13a6b264b5SAlexey Samsonov 
__fixunsdfsi(fp_t a)14082b89b2SPetr Hosek COMPILER_RT_ABI su_int __fixunsdfsi(fp_t a) { return __fixuint(a); }
1536ac5ddfSSaleem Abdulrasool 
1636ac5ddfSSaleem Abdulrasool #if defined(__ARM_EABI__)
170d586d06SEli Friedman #if defined(COMPILER_RT_ARMHF_TARGET)
__aeabi_d2uiz(fp_t a)18082b89b2SPetr Hosek AEABI_RTABI su_int __aeabi_d2uiz(fp_t a) { return __fixunsdfsi(a); }
190d586d06SEli Friedman #else
20*84da0e1bSPetr Hosek COMPILER_RT_ALIAS(__fixunsdfsi, __aeabi_d2uiz)
2136ac5ddfSSaleem Abdulrasool #endif
220d586d06SEli Friedman #endif
23