blob: b9cf39abc7842e4a61fa2f5b353b9cacea8e1f97 [file] [log] [blame]
Stephen Canona51d51a2010-07-01 17:58:24 +00001//===-- lib/mulsf3.c - Single-precision multiplication ------------*- C -*-===//
2//
Chandler Carruth9d304d22019-01-19 10:56:40 +00003// 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-exception
Stephen Canona51d51a2010-07-01 17:58:24 +00006//
7//===----------------------------------------------------------------------===//
8//
9// This file implements single-precision soft-float multiplication
10// with the IEEE-754 default rounding (to nearest, ties to even).
11//
12//===----------------------------------------------------------------------===//
Stephen Canon42ea60a2010-07-01 15:52:42 +000013
14#define SINGLE_PRECISION
Joerg Sonnenbergera205a4a2014-05-28 15:08:05 +000015#include "fp_mul_impl.inc"
Stephen Canon42ea60a2010-07-01 15:52:42 +000016
Petr Hoseka3567d52019-04-28 21:53:32 +000017COMPILER_RT_ABI fp_t __mulsf3(fp_t a, fp_t b) { return __mulXf3__(a, b); }
Saleem Abdulrasoolae9985e2017-05-16 16:41:37 +000018
19#if defined(__ARM_EABI__)
Eli Friedman8e363af2017-10-03 21:25:07 +000020#if defined(COMPILER_RT_ARMHF_TARGET)
Petr Hoseka3567d52019-04-28 21:53:32 +000021AEABI_RTABI fp_t __aeabi_fmul(fp_t a, fp_t b) { return __mulsf3(a, b); }
Eli Friedman8e363af2017-10-03 21:25:07 +000022#else
Petr Hosek30cd6362019-04-29 00:46:23 +000023COMPILER_RT_ALIAS(__mulsf3, __aeabi_fmul)
Saleem Abdulrasoolae9985e2017-05-16 16:41:37 +000024#endif
Eli Friedman8e363af2017-10-03 21:25:07 +000025#endif