aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S')
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S40
1 files changed, 3 insertions, 37 deletions
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S
index a8e9728935..e69550c474 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S
@@ -1,41 +1,7 @@
-#include <sysdep.h>
+#include <sparc-ifunc.h>
+
+SPARC_ASM_VIS3_IFUNC(signbit)
- .text
-ENTRY(__signbit)
- .type __signbit, @gnu_indirect_function
-# ifdef SHARED
- SETUP_PIC_REG_LEAF(o3, o5)
-# endif
-# ifdef HAVE_AS_VIS3_SUPPORT
- set HWCAP_SPARC_VIS3, %o1
- andcc %o0, %o1, %g0
- be 9f
- nop
-# ifdef SHARED
- sethi %gdop_hix22(__signbit_vis3), %o1
- xor %o1, %gdop_lox10(__signbit_vis3), %o1
-# else
- set __signbit_vis3, %o1
-# endif
- ba 10f
- nop
-9:
-# endif
-# ifdef SHARED
- sethi %gdop_hix22(__signbit_generic), %o1
- xor %o1, %gdop_lox10(__signbit_generic), %o1
-# else
- set __signbit_generic, %o1
-# endif
-# ifdef HAVE_AS_VIS3_SUPPORT
-10:
-# endif
-# ifdef SHARED
- add %o3, %o1, %o1
-# endif
- retl
- mov %o1, %o0
-END(__signbit)
weak_alias (__signbit, signbit)
/* On 64-bit the double version will also always work for