xref: /freebsd/contrib/llvm-project/compiler-rt/lib/builtins/adddf3.c (revision 5b27928474e6a4103d65b347544705c40c9618fd)
10b57cec5SDimitry Andric //===-- lib/adddf3.c - Double-precision addition ------------------*- C -*-===//
20b57cec5SDimitry Andric //
30b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
50b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60b57cec5SDimitry Andric //
70b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
80b57cec5SDimitry Andric //
9*68d75effSDimitry Andric // This file implements double-precision soft-float addition.
100b57cec5SDimitry Andric //
110b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
120b57cec5SDimitry Andric 
130b57cec5SDimitry Andric #define DOUBLE_PRECISION
140b57cec5SDimitry Andric #include "fp_add_impl.inc"
150b57cec5SDimitry Andric 
__adddf3(double a,double b)160b57cec5SDimitry Andric COMPILER_RT_ABI double __adddf3(double a, double b) { return __addXf3__(a, b); }
170b57cec5SDimitry Andric 
180b57cec5SDimitry Andric #if defined(__ARM_EABI__)
190b57cec5SDimitry Andric #if defined(COMPILER_RT_ARMHF_TARGET)
__aeabi_dadd(double a,double b)200b57cec5SDimitry Andric AEABI_RTABI double __aeabi_dadd(double a, double b) { return __adddf3(a, b); }
210b57cec5SDimitry Andric #else
220b57cec5SDimitry Andric COMPILER_RT_ALIAS(__adddf3, __aeabi_dadd)
230b57cec5SDimitry Andric #endif
240b57cec5SDimitry Andric #endif
25