Update.
[platform/upstream/glibc.git] / sysdeps / powerpc / s_copysign.S
index adc7df2..6d5ba82 100644 (file)
@@ -1,17 +1,17 @@
 /* Copy a sign bit between floating-point values.
    Copyright (C) 1997 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
    modify it under the terms of the GNU Library General Public License as
    published by the Free Software Foundation; either version 2 of the
    License, or (at your option) any later version.
-  
+
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Library General Public License for more details.
-  
+
    You should have received a copy of the GNU Library General Public
    License along with the GNU C Library; see the file COPYING.LIB.  If not,
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 /* This has been coded in assembler because GCC makes such a mess of it
    when it's coded in C.  */
 
-       .section ".text"
-       .align 2
-       .globl __copysign
-       .type __copysign,@function
-__copysign:    
+#include <sysdep.h>
+
+ENTRY(__copysign)
 /* double [f1] copysign (double [f1] x, double [f2] y);
    copysign(x,y) returns a value with the magnitude of x and
    with the sign bit of y.  */
-
        stwu    %r1,-16(%r1)
        stfd    %f2,8(%r1)
        lwz     %r3,8(%r1)
@@ -39,22 +36,15 @@ __copysign:
        blr
 0:     fnabs   %f1,%f1
        blr
-0:
-       .size    __copysign,0b-__copysign
-       
-       .globl copysign
-       .globl copysignf
-       .globl __copysignf
-       .weak copysign
-       .weak copysignf
-       .set copysign,__copysign
+       END (__copysign)
+
+weak_alias(__copysign,copysign)
+
 /* It turns out that it's safe to use this code even for single-precision.  */
-       .set __copysignf,__copysign
-       .set copysignf,__copysign
+weak_alias(__copysign,copysignf)
+strong_alias(__copysign,__copysignf)
+
 #ifdef NO_LONG_DOUBLE
-       .globl copysignl
-       .globl __copysignl
-       .weak copysignl
-       .set __copysignl,__copysign
-       .set copysignl,__copysign
+weak_alias(__copysign,copysignl)
+strong_alias(__copysign,__copysignl)
 #endif