Home | History | Annotate | Line # | Download | only in builtins
      1 //===-- lib/extendhfsf2.c - half -> single conversion -------------*- C -*-===//
      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 //
     10 
     11 #define SRC_HALF
     12 #define DST_SINGLE
     13 #include "fp_extend_impl.inc"
     14 
     15 // Use a forwarding definition and noinline to implement a poor man's alias,
     16 // as there isn't a good cross-platform way of defining one.
     17 COMPILER_RT_ABI NOINLINE float __extendhfsf2(uint16_t a) {
     18     return __extendXfYf2__(a);
     19 }
     20 
     21 COMPILER_RT_ABI float __gnu_h2f_ieee(uint16_t a) {
     22     return __extendhfsf2(a);
     23 }
     24 
     25 #if defined(__ARM_EABI__)
     26 #if defined(COMPILER_RT_ARMHF_TARGET)
     27 AEABI_RTABI float __aeabi_h2f(uint16_t a) {
     28   return __extendhfsf2(a);
     29 }
     30 #else
     31 AEABI_RTABI float __aeabi_h2f(uint16_t a) COMPILER_RT_ALIAS(__extendhfsf2);
     32 #endif
     33 #endif
     34