Avoid using cr[34] registers.
authordrepper <drepper>
Fri, 13 Jun 2008 01:18:11 +0000 (01:18 +0000)
committerdrepper <drepper>
Fri, 13 Jun 2008 01:18:11 +0000 (01:18 +0000)
sysdeps/powerpc/powerpc32/fpu/s_lround.S
sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S
sysdeps/powerpc/powerpc64/fpu/s_llround.S
sysdeps/powerpc/powerpc64/fpu/s_llroundf.S

index ebacccc..d73749e 100644 (file)
@@ -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.  */
index 4b1691e..e10a379 100644 (file)
@@ -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.  */
index 4134847..cdfdd02 100644 (file)
@@ -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.  */
index a211879..e617bca 100644 (file)
@@ -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.  */