1/*
2 * Written by J.T. Conklin <jtc@NetBSD.org>.
3 * Public domain.
4 */
5
6#include <machine/asm.h>
7
8RCSID("$NetBSD: s_finite.S,v 1.8 2024/05/08 01:04:03 riastradh Exp $")
9
10WEAK_ALIAS(finite, _finite)
11
12ENTRY(_finite)
13#ifdef __i386__
14	movl	8(%esp),%eax
15	andl	$0x7ff00000, %eax
16	cmpl	$0x7ff00000, %eax
17	setne	%al
18	andl	$0x000000ff, %eax
19#else
20	xorl	%eax,%eax
21	movq	$0x7ff0000000000000,%rsi
22	movq	%rsi,%rdi
23	movsd	%xmm0,-8(%rsp)
24	andq	-8(%rsp),%rsi
25	cmpq	%rdi,%rsi
26	setne	%al
27#endif
28	ret
29END(_finite)
30