about summary refs log tree commit diff
path: root/sysdeps/i386/fpu/e_atan2.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/i386/fpu/e_atan2.S')
-rw-r--r--sysdeps/i386/fpu/e_atan2.S27
1 files changed, 4 insertions, 23 deletions
diff --git a/sysdeps/i386/fpu/e_atan2.S b/sysdeps/i386/fpu/e_atan2.S
index 6f5481fb5c..25f43bb5a1 100644
--- a/sysdeps/i386/fpu/e_atan2.S
+++ b/sysdeps/i386/fpu/e_atan2.S
@@ -4,15 +4,11 @@
  */
 
 #include <machine/asm.h>
+#include <i386-math-asm.h>
 
 RCSID("$NetBSD: e_atan2.S,v 1.4 1995/05/08 23:46:28 jtc Exp $")
 
-	.section .rodata.cst8,"aM",@progbits,8
-
-	.p2align 3
-	.type dbl_min,@object
-dbl_min:	.byte 0, 0, 0, 0, 0, 0, 0x10, 0
-	ASM_SIZE_DIRECTIVE(dbl_min)
+DEFINE_DBL_MIN
 
 #ifdef PIC
 # define MO(op) op##@GOTOFF(%ecx)
@@ -28,22 +24,7 @@ ENTRY(__ieee754_atan2)
 	fldl	 4(%esp)
 	fldl	12(%esp)
 	fpatan
-	fldl	MO(dbl_min)
-	fld	%st(1)
-	fabs
-	fucompp
-	fnstsw
-	sahf
-	jnc 1f
-	subl	$8, %esp
-	cfi_adjust_cfa_offset (8)
-	fld	%st(0)
-	fmul	%st(0)
-	fstpl	(%esp)
-	fstpl	(%esp)
-	fldl	(%esp)
-	addl	$8, %esp
-	cfi_adjust_cfa_offset (-8)
-1:	ret
+	DBL_CHECK_FORCE_UFLOW_NARROW
+	ret
 END (__ieee754_atan2)
 strong_alias (__ieee754_atan2, __atan2_finite)