Joerg Sonnenberger | 91bd698 | 2015-03-11 21:13:56 +0000 | [diff] [blame] | 1 | /* ===-- fixdfsi.c - Implement __fixdfsi -----------------------------------=== |
| 2 | * |
| 3 | * The LLVM Compiler Infrastructure |
| 4 | * |
| 5 | * This file is dual licensed under the MIT and the University of Illinois Open |
| 6 | * Source Licenses. See LICENSE.TXT for details. |
| 7 | * |
| 8 | * ===----------------------------------------------------------------------=== |
| 9 | */ |
Stephen Canon | 4be0d7e | 2010-07-02 22:10:58 +0000 | [diff] [blame] | 10 | |
| 11 | #define DOUBLE_PRECISION |
| 12 | #include "fp_lib.h" |
Joerg Sonnenberger | 91bd698 | 2015-03-11 21:13:56 +0000 | [diff] [blame] | 13 | typedef si_int fixint_t; |
| 14 | typedef su_int fixuint_t; |
| 15 | #include "fp_fixint_impl.inc" |
Anton Korobeynikov | 75e3c19 | 2011-04-19 17:51:24 +0000 | [diff] [blame] | 16 | |
Joerg Sonnenberger | 91bd698 | 2015-03-11 21:13:56 +0000 | [diff] [blame] | 17 | COMPILER_RT_ABI si_int |
Joerg Sonnenberger | 6e99daa | 2014-03-01 15:30:50 +0000 | [diff] [blame] | 18 | __fixdfsi(fp_t a) { |
Joerg Sonnenberger | 91bd698 | 2015-03-11 21:13:56 +0000 | [diff] [blame] | 19 | return __fixint(a); |
Stephen Canon | 4be0d7e | 2010-07-02 22:10:58 +0000 | [diff] [blame] | 20 | } |
Saleem Abdulrasool | 36ac5dd | 2017-05-16 16:41:37 +0000 | [diff] [blame] | 21 | |
| 22 | #if defined(__ARM_EABI__) |
Eli Friedman | 0d586d0 | 2017-10-03 21:25:07 +0000 | [diff] [blame] | 23 | #if defined(COMPILER_RT_ARMHF_TARGET) |
Saleem Abdulrasool | 36ac5dd | 2017-05-16 16:41:37 +0000 | [diff] [blame] | 24 | AEABI_RTABI si_int __aeabi_d2iz(fp_t a) { |
| 25 | return __fixdfsi(a); |
| 26 | } |
Eli Friedman | 0d586d0 | 2017-10-03 21:25:07 +0000 | [diff] [blame] | 27 | #else |
| 28 | AEABI_RTABI si_int __aeabi_d2iz(fp_t a) COMPILER_RT_ALIAS(__fixdfsi); |
Saleem Abdulrasool | 36ac5dd | 2017-05-16 16:41:37 +0000 | [diff] [blame] | 29 | #endif |
Eli Friedman | 0d586d0 | 2017-10-03 21:25:07 +0000 | [diff] [blame] | 30 | #endif |