about summary refs log tree commit diff
path: root/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.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/sparc32/sparcv9/fpu/multiarch/s_copysignf.S
parent11e0098ef008db301a82b753dda466dc61cdd0bc (diff)
downloadglibc-006f1daa5aacba8a10b7c748f6559a56d0ffbf12.tar.gz
glibc-006f1daa5aacba8a10b7c748f6559a56d0ffbf12.tar.xz
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/sparc32/sparcv9/fpu/multiarch/s_copysignf.S')
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S40
1 files changed, 3 insertions, 37 deletions
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S
index 4d055f2df5..cd409550de 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysignf.S
@@ -1,41 +1,7 @@
-#include <sysdep.h>
+#include <sparc-ifunc.h>
+
+SPARC_ASM_VIS3_IFUNC(copysignf)
 
-	.text
-ENTRY(__copysignf)
-	.type	__copysignf, @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(__copysignf_vis3), %o1
-	xor	%o1, %gdop_lox10(__copysignf_vis3), %o1
-#  else
-	set	__copysignf_vis3, %o1
-#  endif
-	ba	10f
-	 nop
-9:
-# endif
-# ifdef SHARED
-	sethi	%gdop_hix22(__copysignf_generic), %o1
-	xor	%o1, %gdop_lox10(__copysignf_generic), %o1
-# else
-	set	__copysignf_generic, %o1
-# endif
-# ifdef HAVE_AS_VIS3_SUPPORT
-10:
-# endif
-# ifdef SHARED
-	add	%o3, %o1, %o1
-# endif
-	retl
-	 mov	%o1, %o0
-END(__copysignf)
 weak_alias (__copysignf, copysignf)
 
 # undef weak_alias