diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/fpu/s_lround.S | 6 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S | 10 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/fpu/s_llround.S | 10 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/fpu/s_llroundf.S | 10 |
5 files changed, 28 insertions, 18 deletions
diff --git a/ChangeLog b/ChangeLog index 9459120de3..d3a84fe88c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-06-12 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/powerpc/powerpc64/fpu/s_llround.S (__llround): Avoid using + cr[34] registers. + * sysdeps/powerpc/powerpc64/fpu/s_llroundf.S (__llroundf): Likewise. + * sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S (__llround): + Likewise. + * sysdeps/powerpc/powerpc32/fpu/s_lround.S (__lround): Avoid using cr3 + register. + 2008-06-12 Ulrich Drepper <drepper@redhat.com> * nscd/nscd.h (struct database_dyn): Add inotify_descr and clear_cache diff --git a/sysdeps/powerpc/powerpc32/fpu/s_lround.S b/sysdeps/powerpc/powerpc32/fpu/s_lround.S index ebaccccd9b..d73749e134 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_lround.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_lround.S @@ -1,5 +1,5 @@ /* lround function. PowerPC32 version. - Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -65,10 +65,10 @@ ENTRY (__lround) fabs fp2, fp1 /* Get the absolute value of x. */ fsub fp12,fp10,fp10 /* Compute 0.0. */ fcmpu cr6, fp2, fp10 /* if |x| < 0.5 */ - fcmpu cr3, fp1, fp12 /* x is negative? x < 0.0 */ + fcmpu cr7, fp1, fp12 /* x is negative? x < 0.0 */ blt- cr6,.Lretzero fadd fp3,fp2,fp10 /* |x|+=0.5 bias to prepare to round. */ - bge cr3,.Lconvert /* x is positive so don't negate x. */ + bge cr7,.Lconvert /* x is positive so don't negate x. */ fnabs fp3,fp3 /* -(|x|+=0.5) */ .Lconvert: fctiwz fp4,fp3 /* Convert to Integer word lround toward 0. */ diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S b/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S index 4b1691efd3..e10a37977a 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S +++ b/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S @@ -1,5 +1,5 @@ /* llround function. PowerPC32 on PowerPC64 version. - Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -75,12 +75,12 @@ ENTRY (__llround) fabs fp2,fp1 /* Get the absolute value of x. */ fsub fp12,fp10,fp10 /* Compute 0.0 into fpr12. */ fcmpu cr6,fp2,fp10 /* if |x| < 0.5 */ - fcmpu cr4,fp2,fp9 /* if |x| >= 2^52 */ - fcmpu cr3,fp1,fp12 /* x is negative? x < 0.0 */ + fcmpu cr7,fp2,fp9 /* if |x| >= 2^52 */ + fcmpu cr1,fp1,fp12 /* x is negative? x < 0.0 */ blt- cr6,.Lretzero /* 0.5 > x < -0.5 so just return 0. */ - bge- cr4,.Lnobias /* 2^52 > x < -2^52 just convert with no bias. */ + bge- cr7,.Lnobias /* 2^52 > x < -2^52 just convert with no bias. */ fadd fp3,fp2,fp10 /* |x|+=0.5 bias to prepare to round. */ - bge cr3,.Lconvert /* x is positive so don't negate x. */ + bge cr1,.Lconvert /* x is positive so don't negate x. */ fnabs fp3,fp3 /* -(|x|+=0.5) */ .Lconvert: fctidz fp4,fp3 /* Convert to Integer double word round toward 0. */ diff --git a/sysdeps/powerpc/powerpc64/fpu/s_llround.S b/sysdeps/powerpc/powerpc64/fpu/s_llround.S index 4134847536..cdfdd02c3f 100644 --- a/sysdeps/powerpc/powerpc64/fpu/s_llround.S +++ b/sysdeps/powerpc/powerpc64/fpu/s_llround.S @@ -1,5 +1,5 @@ /* llround function. PowerPC64 version. - Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -52,12 +52,12 @@ ENTRY (__llround) fabs fp2,fp1 /* Get the absolute value of x. */ fsub fp12,fp10,fp10 /* Compute 0.0 into fp12. */ fcmpu cr6,fp2,fp10 /* if |x| < 0.5 */ - fcmpu cr4,fp2,fp9 /* if |x| >= 2^52 */ - fcmpu cr3,fp1,fp12 /* x is negative? x < 0.0 */ + fcmpu cr7,fp2,fp9 /* if |x| >= 2^52 */ + fcmpu cr1,fp1,fp12 /* x is negative? x < 0.0 */ blt- cr6,.Lretzero /* 0.5 > x < -0.5 so just return 0. */ - bge- cr4,.Lnobias /* 2^52 > x < -2^52 just convert with no bias. */ + bge- cr7,.Lnobias /* 2^52 > x < -2^52 just convert with no bias. */ fadd fp3,fp2,fp10 /* |x|+=0.5 bias to prepare to round. */ - bge cr3,.Lconvert /* x is positive so don't negate x. */ + bge cr1,.Lconvert /* x is positive so don't negate x. */ fnabs fp3,fp3 /* -(|x|+=0.5) */ .Lconvert: fctidz fp4,fp3 /* Convert to Integer double word round toward 0. */ diff --git a/sysdeps/powerpc/powerpc64/fpu/s_llroundf.S b/sysdeps/powerpc/powerpc64/fpu/s_llroundf.S index a211879393..e617bca44d 100644 --- a/sysdeps/powerpc/powerpc64/fpu/s_llroundf.S +++ b/sysdeps/powerpc/powerpc64/fpu/s_llroundf.S @@ -1,5 +1,5 @@ /* llroundf function. PowerPC64 version. - Copyright (C) 2004, 2006, 2007 Free Software Foundation, Inc. + Copyright (C) 2004, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -51,12 +51,12 @@ ENTRY (__llroundf) fabs fp2,fp1 /* Get the absolute value of x. */ fsub fp12,fp10,fp10 /* Compute 0.0 into fp12. */ fcmpu cr6,fp2,fp10 /* if |x| < 0.5 */ - fcmpu cr4,fp2,fp9 /* if |x| >= 2^23 */ - fcmpu cr3,fp1,fp12 /* x is negative? x < 0.0 */ + fcmpu cr7,fp2,fp9 /* if |x| >= 2^23 */ + fcmpu cr1,fp1,fp12 /* x is negative? x < 0.0 */ blt- cr6,.Lretzero /* 0.5 > x < -0.5 so just return 0. */ - bge- cr4,.Lnobias /* 2^23 > x < -2^23 just convert with no bias. */ + bge- cr7,.Lnobias /* 2^23 > x < -2^23 just convert with no bias. */ fadd fp3,fp2,fp10 /* |x|+=0.5 bias to prepare to round. */ - bge cr3,.Lconvert /* x is positive so don't negate x. */ + bge cr1,.Lconvert /* x is positive so don't negate x. */ fnabs fp3,fp3 /* -(|x|+=0.5) */ .Lconvert: fctidz fp4,fp3 /* Convert to Integer double word round toward 0. */ |