brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · c0f25cd Raw
30 lines · c
1//===-- lib/extendhfsf2.c - half -> single conversion -------------*- C -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#define SRC_HALF10#define DST_SINGLE11#include "fp_extend_impl.inc"12 13// Use a forwarding definition and noinline to implement a poor man's alias,14// as there isn't a good cross-platform way of defining one.15COMPILER_RT_ABI NOINLINE float __extendhfsf2(src_t a) {16  return __extendXfYf2__(a);17}18 19#if defined(__ARM_EABI__)20#if defined(COMPILER_RT_ARMHF_TARGET)21AEABI_RTABI float __gnu_h2f_ieee(src_t a) { return __extendhfsf2(a); }22AEABI_RTABI float __aeabi_h2f(src_t a) { return __extendhfsf2(a); }23#else24COMPILER_RT_ALIAS(__extendhfsf2, __gnu_h2f_ieee)25COMPILER_RT_ALIAS(__extendhfsf2, __aeabi_h2f)26#endif27#else28COMPILER_RT_ABI float __gnu_h2f_ieee(src_t a) { return __extendhfsf2(a); }29#endif30