1/*	$OpenBSD: unorddf2.c,v 1.4 2019/11/10 22:23:29 guenther Exp $	*/
2/* $NetBSD: unorddf2.c,v 1.1 2003/05/06 08:58:19 rearnsha Exp $ */
3
4/*
5 * Written by Richard Earnshaw, 2003.  This file is in the Public Domain.
6 */
7
8#include "softfloat-for-gcc.h"
9#include "milieu.h"
10#include <softfloat.h>
11
12flag __unorddf2(float64, float64) __dso_protected;
13
14flag
15__unorddf2(float64 a, float64 b)
16{
17	/*
18	 * The comparison is unordered if either input is a NaN.
19	 * Test for this by comparing each operand with itself.
20	 * We must perform both comparisons to correctly check for
21	 * signalling NaNs.
22	 */
23	return 1 ^ (float64_eq(a, a) & float64_eq(b, b));
24}
25