1 1.1 joerg /* ===-- fixunssfsi.c - Implement __fixunssfsi -----------------------------=== 2 1.1 joerg * 3 1.1 joerg * The LLVM Compiler Infrastructure 4 1.1 joerg * 5 1.1 joerg * This file is dual licensed under the MIT and the University of Illinois Open 6 1.1 joerg * Source Licenses. See LICENSE.TXT for details. 7 1.1 joerg * 8 1.1 joerg * ===----------------------------------------------------------------------=== 9 1.1 joerg * 10 1.1 joerg * This file implements __fixunssfsi for the compiler_rt library. 11 1.1 joerg * 12 1.1 joerg * ===----------------------------------------------------------------------=== 13 1.1 joerg */ 14 1.1 joerg 15 1.2 rin #define SINGLE_PRECISION 16 1.2 rin #include "fp_lib.h" 17 1.2 rin typedef su_int fixuint_t; 18 1.2 rin #include "fp_fixuint_impl.inc" 19 1.1 joerg 20 1.2 rin COMPILER_RT_ABI su_int 21 1.2 rin __fixunssfsi(fp_t a) { 22 1.2 rin return __fixuint(a); 23 1.2 rin } 24 1.1 joerg 25 1.2 rin #if defined(__ARM_EABI__) 26 1.3 rin #if defined(COMPILER_RT_ARMHF_TARGET) 27 1.2 rin AEABI_RTABI su_int __aeabi_f2uiz(fp_t a) { 28 1.2 rin return __fixunssfsi(a); 29 1.2 rin } 30 1.3 rin #else 31 1.3 rin AEABI_RTABI su_int __aeabi_f2uiz(fp_t a) COMPILER_RT_ALIAS(__fixunssfsi); 32 1.3 rin #endif 33 1.2 rin #endif 34