1276789Sdim//===-- lib/adddf3.c - Double-precision subtraction ---------------*- C -*-===//
2276789Sdim//
3276789Sdim//                     The LLVM Compiler Infrastructure
4276789Sdim//
5276789Sdim// This file is dual licensed under the MIT and the University of Illinois Open
6276789Sdim// Source Licenses. See LICENSE.TXT for details.
7276789Sdim//
8276789Sdim//===----------------------------------------------------------------------===//
9276789Sdim//
10276789Sdim// This file implements double-precision soft-float subtraction with the
11276789Sdim// IEEE-754 default rounding (to nearest, ties to even).
12276789Sdim//
13276789Sdim//===----------------------------------------------------------------------===//
14276789Sdim
15276789Sdim#define DOUBLE_PRECISION
16276789Sdim#include "fp_lib.h"
17276789Sdim
18276789SdimARM_EABI_FNALIAS(dsub, subdf3)
19276789Sdim
20276789Sdim// Subtraction; flip the sign bit of b and add.
21276789SdimCOMPILER_RT_ABI fp_t
22276789Sdim__subdf3(fp_t a, fp_t b) {
23276789Sdim    return __adddf3(a, fromRep(toRep(b) ^ signBit));
24276789Sdim}
25276789Sdim
26