diff options
author | Andreas Jaeger <aj@suse.de> | 2012-03-07 08:55:31 +0100 |
---|---|---|
committer | Andreas Jaeger <aj@suse.de> | 2012-03-07 08:55:31 +0100 |
commit | 580716898d5e80784f1993a0129d1b821bc6e3bf (patch) | |
tree | c346faaab5b1f4005f3c0dd8f16ba701a30ad541 /sysdeps/sparc/sparc64/fpu/s_copysign.S | |
parent | 625d134f42d65ebc0349c03a0d9592400e86d084 (diff) | |
parent | 3bd2c723160f04b1c151daffb8f6596dbd633f5e (diff) | |
download | glibc-580716898d5e80784f1993a0129d1b821bc6e3bf.tar.gz glibc-580716898d5e80784f1993a0129d1b821bc6e3bf.tar.xz glibc-580716898d5e80784f1993a0129d1b821bc6e3bf.zip |
Merge branch 'master' into bug13658-branch
Diffstat (limited to 'sysdeps/sparc/sparc64/fpu/s_copysign.S')
-rw-r--r-- | sysdeps/sparc/sparc64/fpu/s_copysign.S | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/sysdeps/sparc/sparc64/fpu/s_copysign.S b/sysdeps/sparc/sparc64/fpu/s_copysign.S new file mode 100644 index 0000000000..571f57cbdc --- /dev/null +++ b/sysdeps/sparc/sparc64/fpu/s_copysign.S @@ -0,0 +1,31 @@ +/* copysign function, sparc64 version. + Copyright (C) 2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by David S. Miller <davem@davemloft.net>, 2012. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> + +ENTRY (__copysign) + sethi %hi(0x80000000), %g1 + st %g1, [%sp + STACK_BIAS + 128] + ld [%sp + STACK_BIAS + 128], %f7 + fands %f2, %f7, %f9 + fandnot2s %f0, %f7, %f0 + retl + fors %f0, %f9, %f0 +END (__copysign) +weak_alias (__copysign, copysign) \ No newline at end of file |