In order to bring consistency in-tree, migrate all arch code to the new prefix <zephyr/...>. Note that the conversion has been scripted, refer to zephyrproject-rtos#45388 for more details. Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
281 lines
3.4 KiB
C
281 lines
3.4 KiB
C
/*
|
|
* Copyright (c) 2021 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <zephyr/kernel.h>
|
|
#include <zephyr/toolchain.h>
|
|
|
|
/**
|
|
* @file
|
|
* @brief Provide soft float function stubs for long double operations.
|
|
*
|
|
* GCC soft float does not support long double so these need to be
|
|
* stubbed out.
|
|
*
|
|
* The function names come from the GCC public documentation.
|
|
*/
|
|
|
|
extern void abort(void);
|
|
|
|
__weak void __addtf3(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __addxf3(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __subtf3(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __subxf3(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __multf3(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __mulxf3(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __divtf3(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __divxf3(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __negtf2(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __negxf2(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __extendsftf2(float a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __extendsfxf2(float a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __extenddftf2(double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __extenddfxf2(double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __truncxfdf2(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __trunctfdf2(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __truncxfsf2(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __trunctfsf2(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __fixtfsi(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __fixxfsi(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __fixtfdi(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __fixxfdi(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __fixtfti(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __fixxfti(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __fixunstfsi(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __fixunsxfsi(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __fixunstfdi(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __fixunsxfdi(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __fixunstfti(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __fixunsxfti(long double a)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __floatsitf(int i)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __floatsixf(int i)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __floatditf(long i)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __floatdixf(long i)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __floattitf(long long i)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __floattixf(long long i)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __floatunsitf(unsigned int i)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __floatunsixf(unsigned int i)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __floatunditf(unsigned long i)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __floatundixf(unsigned long i)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __floatuntitf(unsigned long long i)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __floatuntixf(unsigned long long i)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __cmptf2(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __unordtf2(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __eqtf2(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __netf2(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __getf2(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __lttf2(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __letf2(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __gttf2(long double a, long double b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __powitf2(long double a, int b)
|
|
{
|
|
k_oops();
|
|
}
|
|
|
|
__weak void __powixf2(long double a, int b)
|
|
{
|
|
k_oops();
|
|
}
|