The ARM softfloat library in ArmSoftfloatLib currently does not build under RVCT, simply because the code includes system header files that RVCT does not provide. However, nothing exported by those include files is actually used by the library when built in SOFTFLOAT_FOR_GCC mode, so we can just drop all of them. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19031 6f19259b-4bc3-4df7-8a09-765794883524
42 lines
1.3 KiB
C
42 lines
1.3 KiB
C
/* $NetBSD: __aeabi_fcmpun.c,v 1.1 2013/04/16 10:37:39 matt Exp $ */
|
|
|
|
/** @file
|
|
*
|
|
* Copyright (c) 2013 - 2014, ARM Limited. All rights reserved.
|
|
*
|
|
* This program and the accompanying materials
|
|
* are licensed and made available under the terms and conditions of the BSD License
|
|
* which accompanies this distribution. The full text of the license may be found at
|
|
* http://opensource.org/licenses/bsd-license.php
|
|
*
|
|
* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
*
|
|
**/
|
|
|
|
/*
|
|
* Written by Richard Earnshaw, 2003. This file is in the Public Domain.
|
|
*/
|
|
|
|
#include "softfloat-for-gcc.h"
|
|
#include "milieu.h"
|
|
#include "softfloat.h"
|
|
|
|
#if defined(LIBC_SCCS) && !defined(lint)
|
|
__RCSID("$NetBSD: __aeabi_fcmpun.c,v 1.1 2013/04/16 10:37:39 matt Exp $");
|
|
#endif /* LIBC_SCCS and not lint */
|
|
|
|
int __aeabi_fcmpun(float32, float32);
|
|
|
|
int
|
|
__aeabi_fcmpun(float32 a, float32 b)
|
|
{
|
|
/*
|
|
* The comparison is unordered if either input is a NaN.
|
|
* Test for this by comparing each operand with itself.
|
|
* We must perform both comparisons to correctly check for
|
|
* signalling NaNs.
|
|
*/
|
|
return !float32_eq(a, a) || !float32_eq(b, b);
|
|
}
|