]> git.ipfire.org Git - thirdparty/glibc.git/blob - sysdeps/ia64/fpu/s_isnan.S
db992b7184c4fb1641111c9265bbd96b91798665
[thirdparty/glibc.git] / sysdeps / ia64 / fpu / s_isnan.S
1 /* Test for NaN
2 Copyright (C) 2000-2018 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
4 Contributed by Jes Sorensen <jes@linuxcare.com>, October 2000.
5
6 The GNU C Library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
10
11 The GNU C Library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public
17 License along with the GNU C Library; if not, see
18 <http://www.gnu.org/licenses/>. */
19
20 /*
21 * isnan(x) returns 1 is x is nan, else 0;
22 */
23
24 #include <sysdep.h>
25 #undef ret
26
27 ENTRY (__isnan)
28 {
29 .mfi
30 fclass.m p6, p7 = farg0, @nat | @qnan | @snan
31 ;;
32 }
33 {
34 .mib
35 (p6) mov ret0 = 1
36 (p7) mov ret0 = 0
37 br.ret.sptk.many rp
38 }
39 END (__isnan)
40
41 strong_alias (__isnan, __isnanf)
42 strong_alias (__isnan, __isnanl)
43
44 weak_alias (__isnan, isnan)
45 weak_alias (__isnanf, isnanf)
46 weak_alias (__isnanl, isnanl)
47
48 hidden_def (__isnan)
49 hidden_def (__isnanf)
50 hidden_def (__isnanl)