diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-03-31 10:02:53 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-03-31 10:02:53 +0000 |
commit | ee6189855aab3a9be8f3c2d95ce2b2cd17db4ec2 (patch) | |
tree | cf3e2fe1f9be5b358033fd927a0bd922542e04a1 /sysdeps/ia64/fpu/libm_sincosf.S | |
parent | 4d6302cf51b16a129addf7687c91490c40a7225c (diff) | |
download | glibc-ee6189855aab3a9be8f3c2d95ce2b2cd17db4ec2.tar.gz glibc-ee6189855aab3a9be8f3c2d95ce2b2cd17db4ec2.tar.xz glibc-ee6189855aab3a9be8f3c2d95ce2b2cd17db4ec2.zip |
* sysdeps/unix/sysv/linux/x86_64/getcontext.S: Use functionally
equivalent, but shorter instructions. * sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/clone.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/swapcontext.S: Likewise. * sysdeps/unix/x86_64/sysdep.S: Likewise. * sysdeps/x86_64/strchr.S: Likewise. * sysdeps/x86_64/memset.S: Likewise. * sysdeps/x86_64/strcspn.S: Likewise. * sysdeps/x86_64/strcmp.S: Likewise. * sysdeps/x86_64/elf/start.S: Likewise. * sysdeps/x86_64/strspn.S: Likewise. * sysdeps/x86_64/dl-machine.h: Likewise. * sysdeps/x86_64/bsd-_setjmp.S: Likewise. * sysdeps/x86_64/bsd-setjmp.S: Likewise. * sysdeps/x86_64/strtok.S: Likewise.
Diffstat (limited to 'sysdeps/ia64/fpu/libm_sincosf.S')
-rw-r--r-- | sysdeps/ia64/fpu/libm_sincosf.S | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/sysdeps/ia64/fpu/libm_sincosf.S b/sysdeps/ia64/fpu/libm_sincosf.S index c4783aca3a..fb12007af8 100644 --- a/sysdeps/ia64/fpu/libm_sincosf.S +++ b/sysdeps/ia64/fpu/libm_sincosf.S @@ -47,12 +47,12 @@ // 03/19/02 Added stack unwind around call to __libm_cisf_large // 09/05/02 Work range is widened by reduction strengthen (2 parts of Pi/16) // 02/10/03 Reordered header: .section, .global, .proc, .align +// 02/11/04 cisf is moved to the separate file. // API //============================================================== -// 1) float _Complex cisf(float) -// 2) void sincosf(float, float*s, float*c) -// 3) __libm_sincosf - internal LIBM function, that accepts +// 1) void sincosf(float, float*s, float*c) +// 2) __libm_sincosf - internal LIBM function, that accepts // argument in f8 and returns cosine through f8, sine through f9 // @@ -400,7 +400,7 @@ GLOBAL_IEEE754_ENTRY(sincosf) { .mlx alloc GR_SAVE_PFS = ar.pfs, 0, 21, 0, 0 movl cisf_GR_sig_inv_pi_by_16 = 0xA2F9836E4E44152A // 16/pi signd - + } // cis_GR_rshf_2to61 = 1.1000 2^(63+63-2) { .mlx @@ -420,8 +420,7 @@ GLOBAL_IEEE754_ENTRY(sincosf) br.cond.sptk _CISF_COMMON };; GLOBAL_IEEE754_END(sincosf) -LOCAL_LIBM_ENTRY(cisf) -LOCAL_LIBM_END(cisf) + GLOBAL_LIBM_ENTRY(__libm_sincosf) { .mlx // cisf_GR_sig_inv_pi_by_16 = significand of 16/pi @@ -438,7 +437,7 @@ GLOBAL_LIBM_ENTRY(__libm_sincosf) { .mfi ld8 cisf_AD_1 = [cisf_AD_1] fnorm.s1 cisf_NORM_f8 = cisf_Arg - cmp.eq p14, p13 = r0, r0 + cmp.eq p14, p13 = r0, r0 } // cisf_GR_exp_2tom61 = exponent of scaling factor 2^-61 { .mib @@ -499,7 +498,7 @@ _CISF_COMMON: // p10 is true if f8 exp is >= 0x10017 { .mmb ldfpd cisf_P1,cisf_Q1 = [cisf_AD_1], 16 - cmp.ge p10, p0 = cisf_r_exp, cisf_exp_limit + cmp.ge p10, p0 = cisf_r_exp, cisf_exp_limit (p10) br.cond.spnt _CISF_LARGE_ARGS // go to |x| >= 2^24 path };; @@ -521,7 +520,7 @@ _CISF_COMMON: // N = (int)cisf_int_Nfloat { .mfi - getf.sig cisf_GR_n = cisf_W_2TO61_RSH + getf.sig cisf_GR_n = cisf_W_2TO61_RSH nop.f 0 nop.i 0 };; @@ -537,7 +536,7 @@ _CISF_COMMON: //Get M (least k+1 bits of N) { .mmi - and cisf_GR_m_sin = 0x1f,cisf_GR_n + and cisf_GR_m_sin = 0x1f,cisf_GR_n and cisf_GR_m_cos = 0x1f,cisf_GR_n_cos nop.i 0 };; @@ -552,7 +551,7 @@ _CISF_COMMON: { .mmf ldfpd cisf_Sm_sin, cisf_Cm_sin = [cisf_AD_2_sin] ldfpd cisf_Sm_cos, cisf_Cm_cos = [cisf_AD_2_cos] - fclass.m.unc p10,p0 = cisf_Arg,0x0b + fclass.m.unc p10,p0 = cisf_Arg,0x0b };; { .mfi @@ -679,6 +678,7 @@ _CISF_RETURN: br.ret.sptk b0 // exit for sincos };; GLOBAL_LIBM_END(__libm_sincosf) + //// |x| > 2^24 path /////// .proc _CISF_LARGE_ARGS _CISF_LARGE_ARGS: @@ -728,7 +728,7 @@ _CISF_LARGE_ARGS: { .mfb nop.m 0 fma.s.s0 cisf_Sin_res = cisf_Sin_res, f1, f0 -(p14) br.cond.sptk _CISF_RETURN +(p14) br.cond.sptk _CISF_RETURN };; { .mmb |