Home | History | Annotate | Line # | Download | only in builtins
      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