From 80ccd52c95bda018899d83f21c797dd0fd028512 Mon Sep 17 00:00:00 2001 From: Liubov Dmitrieva Date: Mon, 10 Sep 2012 11:44:49 +0200 Subject: Fix x86 SSE cosf, sinf issues * sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S: Fix unwind info if defined PIC. Fix special cases description. * sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S: Likewise. * sysdeps/x86_64/fpu/s_sinf.S: Fix special cases description, fix DP_HI_MASK entry. * sysdeps/x86_64/fpu/s_cosf.S: Likewise. --- sysdeps/x86_64/fpu/s_cosf.S | 24 ++++++++---------------- sysdeps/x86_64/fpu/s_sinf.S | 21 ++++++++------------- 2 files changed, 16 insertions(+), 29 deletions(-) (limited to 'sysdeps/x86_64') diff --git a/sysdeps/x86_64/fpu/s_cosf.S b/sysdeps/x86_64/fpu/s_cosf.S index 7eeefe8f30..dc8c76a131 100644 --- a/sysdeps/x86_64/fpu/s_cosf.S +++ b/sysdeps/x86_64/fpu/s_cosf.S @@ -50,12 +50,12 @@ * 9) if x is NaN, return x-x. * * Special cases: - * cos(+-0)==+-0 not raising inexact/underflow, - * cos(subnormal) raises inexact/underflow - * cos(min_normalized) raises inexact/underflow - * cos(normalized) raises inexact - * cos(Inf) = NaN, raises invalid, sets errno to EDOM - * cos(NaN) = NaN + * cos(+-0) = 1 not raising inexact, + * cos(subnormal) raises inexact, + * cos(min_normalized) raises inexact, + * cos(normalized) raises inexact, + * cos(Inf) = NaN, raises invalid, sets errno to EDOM, + * cos(NaN) = NaN. */ .text @@ -163,10 +163,6 @@ L(sin_poly): cvtsd2ss %xmm3, %xmm0 /* SP result */ ret - - - - .p2align 4 L(large_args): /* Here if |x|>=9*Pi/4 */ @@ -257,7 +253,6 @@ L(very_large_skip2): jmp L(reconstruction) /* end of very_large_args peth */ - .p2align 4 L(arg_less_pio4): /* Here if |x|=9*Pi/4 */ @@ -262,7 +261,6 @@ L(very_large_skip2): jmp L(reconstruction) /* end of very_large_args peth */ - .p2align 4 L(arg_less_pio4): /* Here if |x|