Fix compiler runtime for _Float16 type

This commit is contained in:
Justine Tunney 2024-02-27 06:31:16 -08:00
parent 0ef36489c8
commit 64a9e6fe56
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
14 changed files with 797 additions and 53 deletions

View file

@ -1,28 +1,21 @@
//===-- lib/truncdfhf2.c - double -> half conversion --------------*- C -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
__static_yoink("huge_compiler_rt_license");
#define SRC_DOUBLE
#define DST_HALF
#include "third_party/compiler_rt/fp_trunc_impl.inc"
#include "fp16_trunc_impl.inc"
COMPILER_RT_ABI uint16_t __truncdfhf2(double a) {
return __truncXfYf2__(a);
}
COMPILER_RT_ABI dst_t __truncdfhf2(double a) { return __truncXfYf2__(a); }
#if defined(__ARM_EABI__)
#if defined(COMPILER_RT_ARMHF_TARGET)
AEABI_RTABI uint16_t __aeabi_d2h(double a) {
return __truncdfhf2(a);
}
AEABI_RTABI dst_t __aeabi_d2h(double a) { return __truncdfhf2(a); }
#else
AEABI_RTABI uint16_t __aeabi_d2h(double a) COMPILER_RT_ALIAS(__truncdfhf2);
COMPILER_RT_ALIAS(__truncdfhf2, __aeabi_d2h)
#endif
#endif