xref: /llvm-project/compiler-rt/lib/builtins/fixdfsi.c (revision 84da0e1bb75f8666cf222d2f600f37bebb9ea389)
10ba22f51SPetr Hosek //===-- fixdfsi.c - Implement __fixdfsi -----------------------------------===//
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 
9a6b264b5SAlexey Samsonov #define DOUBLE_PRECISION
10a6b264b5SAlexey Samsonov #include "fp_lib.h"
1191bd698eSJoerg Sonnenberger typedef si_int fixint_t;
1291bd698eSJoerg Sonnenberger typedef su_int fixuint_t;
1391bd698eSJoerg Sonnenberger #include "fp_fixint_impl.inc"
14a6b264b5SAlexey Samsonov 
__fixdfsi(fp_t a)15082b89b2SPetr Hosek COMPILER_RT_ABI si_int __fixdfsi(fp_t a) { return __fixint(a); }
1636ac5ddfSSaleem Abdulrasool 
1736ac5ddfSSaleem Abdulrasool #if defined(__ARM_EABI__)
180d586d06SEli Friedman #if defined(COMPILER_RT_ARMHF_TARGET)
__aeabi_d2iz(fp_t a)19082b89b2SPetr Hosek AEABI_RTABI si_int __aeabi_d2iz(fp_t a) { return __fixdfsi(a); }
200d586d06SEli Friedman #else
21*84da0e1bSPetr Hosek COMPILER_RT_ALIAS(__fixdfsi, __aeabi_d2iz)
2236ac5ddfSSaleem Abdulrasool #endif
230d586d06SEli Friedman #endif
24