Merge branch 'vendor/GREP'
[dragonfly.git] / lib / libm / arch / i386 / s_finite.S
1 /*
2  * Written by J.T. Conklin <jtc@NetBSD.org>.
3  * Public domain.
4  *
5  * $NetBSD: s_finite.S,v 1.7 2003/07/26 19:25:01 salo Exp $
6  */
7
8 #include <machine/asm.h>
9
10 ENTRY(finite)
11 #ifdef __i386__
12         movl    8(%esp),%eax
13         andl    $0x7ff00000, %eax
14         cmpl    $0x7ff00000, %eax
15         setne   %al
16         andl    $0x000000ff, %eax
17 #else
18         xorl    %eax,%eax
19         movq    $0x7ff0000000000000,%rsi
20         movq    %rsi,%rdi
21         movsd   %xmm0,-8(%rsp)
22         andq    -8(%rsp),%rsi
23         cmpq    %rdi,%rsi
24         setne   %al
25 #endif
26         ret
27 END(finite)