1*7c3d14c8STreehugger Robot //===-- lib/extendhfsf2.c - half -> single conversion -------------*- C -*-===// 2*7c3d14c8STreehugger Robot // 3*7c3d14c8STreehugger Robot // The LLVM Compiler Infrastructure 4*7c3d14c8STreehugger Robot // 5*7c3d14c8STreehugger Robot // This file is dual licensed under the MIT and the University of Illinois Open 6*7c3d14c8STreehugger Robot // Source Licenses. See LICENSE.TXT for details. 7*7c3d14c8STreehugger Robot // 8*7c3d14c8STreehugger Robot //===----------------------------------------------------------------------===// 9*7c3d14c8STreehugger Robot // 10*7c3d14c8STreehugger Robot 11*7c3d14c8STreehugger Robot #define SRC_HALF 12*7c3d14c8STreehugger Robot #define DST_SINGLE 13*7c3d14c8STreehugger Robot #include "fp_extend_impl.inc" 14*7c3d14c8STreehugger Robot ARM_EABI_FNALIAS(h2f,extendhfsf2)15*7c3d14c8STreehugger RobotARM_EABI_FNALIAS(h2f, extendhfsf2) 16*7c3d14c8STreehugger Robot 17*7c3d14c8STreehugger Robot // Use a forwarding definition and noinline to implement a poor man's alias, 18*7c3d14c8STreehugger Robot // as there isn't a good cross-platform way of defining one. 19*7c3d14c8STreehugger Robot COMPILER_RT_ABI NOINLINE float __extendhfsf2(uint16_t a) { 20*7c3d14c8STreehugger Robot return __extendXfYf2__(a); 21*7c3d14c8STreehugger Robot } 22*7c3d14c8STreehugger Robot __gnu_h2f_ieee(uint16_t a)23*7c3d14c8STreehugger RobotCOMPILER_RT_ABI float __gnu_h2f_ieee(uint16_t a) { 24*7c3d14c8STreehugger Robot return __extendhfsf2(a); 25*7c3d14c8STreehugger Robot } 26