aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-03-15 20:20:49 -0700
committerDavid S. Miller <davem@davemloft.net>2012-03-15 20:29:44 -0700
commit006f1daa5aacba8a10b7c748f6559a56d0ffbf12 (patch)
tree4b349ed9402e45474843cf61eff5b1d0ada32c53 /sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S
parent11e0098ef008db301a82b753dda466dc61cdd0bc (diff)
downloadglibc-006f1daa5aacba8a10b7c748f6559a56d0ffbf12.tar
glibc-006f1daa5aacba8a10b7c748f6559a56d0ffbf12.tar.gz
glibc-006f1daa5aacba8a10b7c748f6559a56d0ffbf12.tar.bz2
glibc-006f1daa5aacba8a10b7c748f6559a56d0ffbf12.zip
Create a header for sparc ifunc expansion and use it for VIS3 ifuncs.
* sysdeps/sparc/sparc-ifunc.h: New file. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S: Use sparc-ifunc.h * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceilf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabsf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floorf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmaxf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fminf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrintf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rintf.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrt.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/w_sqrtf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_ceil.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_ceilf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_finitef.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_floor.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_floorf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmax.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmaxf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fmin.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_fminf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_isinff.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnan.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_isnanf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrint.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_lrintf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_rint.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_rintf.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbit.S: Likewise. * sysdeps/sparc/sparc64/fpu/multiarch/s_signbitf.S: Likewise.
Diffstat (limited to 'sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S')
-rw-r--r--sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S40
1 files changed, 3 insertions, 37 deletions
diff --git a/sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S b/sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S
index f4bfdcef96..78406a62b1 100644
--- a/sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S
+++ b/sysdeps/sparc/sparc64/fpu/multiarch/s_finite.S
@@ -1,41 +1,7 @@
-#include <sysdep.h>
+#include <sparc-ifunc.h>
+
+SPARC_ASM_VIS3_IFUNC(finite)
- .text
-ENTRY(__finite)
- .type __finite, @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(__finite_vis3), %o1
- xor %o1, %gdop_lox10(__finite_vis3), %o1
-# else
- set __finite_vis3, %o1
-# endif
- ba 10f
- nop
-9:
-# endif
-# ifdef SHARED
- sethi %gdop_hix22(__finite_generic), %o1
- xor %o1, %gdop_lox10(__finite_generic), %o1
-# else
- set __finite_generic, %o1
-# endif
-# ifdef HAVE_AS_VIS3_SUPPORT
-10:
-# endif
-# ifdef SHARED
- add %o3, %o1, %o1
-# endif
- retl
- mov %o1, %o0
-END(__finite)
hidden_def (__finite)
weak_alias (__finite, finite)