[24/25] sparc: Remove ununsed ifunc assembly macros

Message ID 1509044813-9951-25-git-send-email-adhemerval.zanella@linaro.org
State Dropped
Headers

Commit Message

Adhemerval Zanella Netto Oct. 26, 2017, 7:06 p.m. UTC
  * sysdeps/sparc/sparc-ifunc.h (SPARC_ASM_IFUNC_DFLT,
	SPARC_ASM_IFUNC1, SPARC_ASM_IFUNC2, SET, SPARC_ASM_VIS2_IFUNC,
	SPARC_ASM_VIS3_IFUNC, SPARC_ASM_VIS3_VIS2_IFUNC): Remove macros.

Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
---
 ChangeLog                   |   4 ++
 sysdeps/sparc/sparc-ifunc.h | 154 ++++----------------------------------------
 2 files changed, 15 insertions(+), 143 deletions(-)
  

Comments

Adhemerval Zanella Netto Dec. 1, 2017, 2:48 p.m. UTC | #1
If no one opposes it, I will commit it shortly.

On 26/10/2017 17:06, Adhemerval Zanella wrote:
> 	* sysdeps/sparc/sparc-ifunc.h (SPARC_ASM_IFUNC_DFLT,
> 	SPARC_ASM_IFUNC1, SPARC_ASM_IFUNC2, SET, SPARC_ASM_VIS2_IFUNC,
> 	SPARC_ASM_VIS3_IFUNC, SPARC_ASM_VIS3_VIS2_IFUNC): Remove macros.
> 
> Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
>  ChangeLog                   |   4 ++
>  sysdeps/sparc/sparc-ifunc.h | 154 ++++----------------------------------------
>  2 files changed, 15 insertions(+), 143 deletions(-)
> 
> diff --git a/sysdeps/sparc/sparc-ifunc.h b/sysdeps/sparc/sparc-ifunc.h
> index 4a68cf1..69951e7 100644
> --- a/sysdeps/sparc/sparc-ifunc.h
> +++ b/sysdeps/sparc/sparc-ifunc.h
> @@ -17,157 +17,25 @@
>  
>  #include <sysdep.h>
>  
> -#ifdef __ASSEMBLER__
> +#define INIT_ARCH()
>  
> -# ifdef SHARED
> -
> -#  define SPARC_ASM_IFUNC_DFLT(name, dflt)		\
> -ENTRY (__##name)					\
> -	.type	__##name, @gnu_indirect_function;	\
> -	SETUP_PIC_REG_LEAF(o3, o5);			\
> -	sethi	%gdop_hix22(dflt), %o1;			\
> -	xor	%o1, %gdop_lox10(dflt), %o1;		\
> -	add	%o3, %o1, %o1;				\
> -	retl;						\
> -	 mov	%o1, %o0;				\
> -END (__##name)
> -
> -#  define SPARC_ASM_IFUNC1(name, m1, f1, dflt)		\
> -ENTRY (__##name)					\
> -	.type	__##name, @gnu_indirect_function;	\
> -	SETUP_PIC_REG_LEAF(o3, o5);			\
> -	set	m1, %o1;				\
> -	andcc	%o0, %o1, %g0;				\
> -	be	9f;					\
> -	 nop;						\
> -	sethi	%gdop_hix22(f1), %o1;			\
> -	xor	%o1, %gdop_lox10(f1), %o1;		\
> -	ba	10f;					\
> -	 nop;						\
> -9:	sethi	%gdop_hix22(dflt), %o1;			\
> -	xor	%o1, %gdop_lox10(dflt), %o1;		\
> -10:	add	%o3, %o1, %o1;				\
> -	retl;						\
> -	 mov	%o1, %o0;				\
> -END (__##name)
> -
> -#  define SPARC_ASM_IFUNC2(name, m1, f1, m2, f2, dflt)	\
> -ENTRY (__##name)					\
> -	.type	__##name, @gnu_indirect_function;	\
> -	SETUP_PIC_REG_LEAF(o3, o5);			\
> -	set	m1, %o1;				\
> -	andcc	%o0, %o1, %g0;				\
> -	be	8f;					\
> -	 nop;						\
> -	sethi	%gdop_hix22(f1), %o1;			\
> -	xor	%o1, %gdop_lox10(f1), %o1;		\
> -	ba	10f;					\
> -	 nop;						\
> -8:	set	m2, %o1;				\
> -	andcc	%o0, %o1, %g0;				\
> -	be	9f;					\
> -	 nop;						\
> -	sethi	%gdop_hix22(f2), %o1;			\
> -	xor	%o1, %gdop_lox10(f2), %o1;		\
> -	ba	10f;					\
> -	 nop;						\
> -9:	sethi	%gdop_hix22(dflt), %o1;			\
> -	xor	%o1, %gdop_lox10(dflt), %o1;		\
> -10:	add	%o3, %o1, %o1;				\
> -	retl;						\
> -	 mov	%o1, %o0;				\
> -END (__##name)
> -
> -# else /* SHARED */
> -
> -# ifdef __arch64__
> -#  define SET(SYM, TMP, REG)	setx SYM, TMP, REG
> -# else
> -#  define SET(SYM, TMP, REG)	set SYM, REG
> -# endif
> -
> -#  define SPARC_ASM_IFUNC_DFLT(name, dflt)		\
> -ENTRY (__##name)					\
> -	.type	__##name, @gnu_indirect_function;	\
> -	SET(dflt, %g1, %o1);				\
> -	retl;						\
> -	 mov	%o1, %o0;				\
> -END (__##name)
> -
> -#  define SPARC_ASM_IFUNC1(name, m1, f1, dflt)		\
> -ENTRY (__##name)					\
> -	.type	__##name, @gnu_indirect_function;	\
> -	set	m1, %o1;				\
> -	andcc	%o0, %o1, %g0;				\
> -	be	9f;					\
> -	 nop;						\
> -	SET(f1, %g1, %o1);				\
> -	ba	10f;					\
> -	 nop;						\
> -9:	SET(dflt, %g1, %o1);				\
> -10:	retl;						\
> -	 mov	%o1, %o0;				\
> -END (__##name)
> -
> -#  define SPARC_ASM_IFUNC2(name, m1, f1, m2, f2, dflt)	\
> -ENTRY (__##name)					\
> -	.type	__##name, @gnu_indirect_function;	\
> -	set	m1, %o1;				\
> -	andcc	%o0, %o1, %g0;				\
> -	be	8f;					\
> -	 nop;						\
> -	SET(f1, %g1, %o1);				\
> -	ba	10f;					\
> -	 nop;						\
> -8:	set	m2, %o1;				\
> -	andcc	%o0, %o1, %g0;				\
> -	be	9f;					\
> -	 nop;						\
> -	SET(f2, %g1, %o1);				\
> -	ba	10f;					\
> -	 nop;						\
> -9:	SET(dflt, %g1, %o1);				\
> -10:	retl;						\
> -	 mov	%o1, %o0;				\
> -END (__##name)
> -
> -# endif /* SHARED */
> -
> -#define SPARC_ASM_VIS2_IFUNC(name)			\
> -	SPARC_ASM_IFUNC1(name, HWCAP_SPARC_VIS2,	\
> -			 __##name##_vis2, __##name##_generic)
> -
> -#define SPARC_ASM_VIS3_IFUNC(name)			\
> -	SPARC_ASM_IFUNC1(name, HWCAP_SPARC_VIS3,	\
> -			 __##name##_vis3, __##name##_generic)
> -
> -#define SPARC_ASM_VIS3_VIS2_IFUNC(name)			\
> -	SPARC_ASM_IFUNC2(name, HWCAP_SPARC_VIS3,	\
> -			 __##name##_vis3,		\
> -			 HWCAP_SPARC_VIS2,		\
> -			 __##name##_vis2, __##name##_generic)
> -
> -#else	/* __ASSEMBLER__ */
> -# define INIT_ARCH()
> -
> -# define sparc_libc_ifunc_redirected(redirected_name, name, expr)	\
> +#define sparc_libc_ifunc_redirected(redirected_name, name, expr)	\
>    __ifunc (redirected_name, name, expr(hwcap), int hwcap, INIT_ARCH)
>  
> -# define sparc_libm_ifunc(name, expr)				\
> -  __ifunc (name, name, expr, int hwcap, libm_ifunc_init)
> +#define sparc_libc_ifunc(name, expr) sparc_libm_ifunc (name, expr)
>  
> -# define sparc_libc_ifunc(name, expr) sparc_libm_ifunc (name, expr)
> +#define sparc_libm_ifunc(name, expr)				\
> +  __ifunc (name, name, expr, int hwcap, libm_ifunc_init)
>  
> -# define sparc_libm_ifunc_redirected(redirected_name, name, expr)	\
> +#define sparc_libm_ifunc_redirected(redirected_name, name, expr)	\
>    __ifunc (redirected_name, name, expr, int hwcap, libm_ifunc_init)
>  
>  /* It essentially does libc_hidden_builtin_def (name) and redirect
>     the internal redirected symbol to ifunc implementation.  */
> -# if defined SHARED
> -#  define sparc_ifunc_redirected_hidden_def(redirect_name, name) \
> +#if defined SHARED
> +# define sparc_ifunc_redirected_hidden_def(redirect_name, name) \
>    __hidden_ver1 (name, __GI_##name, redirect_name) \
>      __attribute__ ((visibility ("hidden")));
> -# else
> -#  define sparc_ifunc_redirected_hidden_def(redirect_name, name)
> -# endif
> -#endif	/* __ASSEMBLER__ */
> +#else
> +# define sparc_ifunc_redirected_hidden_def(redirect_name, name)
> +#endif
>
  

Patch

diff --git a/sysdeps/sparc/sparc-ifunc.h b/sysdeps/sparc/sparc-ifunc.h
index 4a68cf1..69951e7 100644
--- a/sysdeps/sparc/sparc-ifunc.h
+++ b/sysdeps/sparc/sparc-ifunc.h
@@ -17,157 +17,25 @@ 
 
 #include <sysdep.h>
 
-#ifdef __ASSEMBLER__
+#define INIT_ARCH()
 
-# ifdef SHARED
-
-#  define SPARC_ASM_IFUNC_DFLT(name, dflt)		\
-ENTRY (__##name)					\
-	.type	__##name, @gnu_indirect_function;	\
-	SETUP_PIC_REG_LEAF(o3, o5);			\
-	sethi	%gdop_hix22(dflt), %o1;			\
-	xor	%o1, %gdop_lox10(dflt), %o1;		\
-	add	%o3, %o1, %o1;				\
-	retl;						\
-	 mov	%o1, %o0;				\
-END (__##name)
-
-#  define SPARC_ASM_IFUNC1(name, m1, f1, dflt)		\
-ENTRY (__##name)					\
-	.type	__##name, @gnu_indirect_function;	\
-	SETUP_PIC_REG_LEAF(o3, o5);			\
-	set	m1, %o1;				\
-	andcc	%o0, %o1, %g0;				\
-	be	9f;					\
-	 nop;						\
-	sethi	%gdop_hix22(f1), %o1;			\
-	xor	%o1, %gdop_lox10(f1), %o1;		\
-	ba	10f;					\
-	 nop;						\
-9:	sethi	%gdop_hix22(dflt), %o1;			\
-	xor	%o1, %gdop_lox10(dflt), %o1;		\
-10:	add	%o3, %o1, %o1;				\
-	retl;						\
-	 mov	%o1, %o0;				\
-END (__##name)
-
-#  define SPARC_ASM_IFUNC2(name, m1, f1, m2, f2, dflt)	\
-ENTRY (__##name)					\
-	.type	__##name, @gnu_indirect_function;	\
-	SETUP_PIC_REG_LEAF(o3, o5);			\
-	set	m1, %o1;				\
-	andcc	%o0, %o1, %g0;				\
-	be	8f;					\
-	 nop;						\
-	sethi	%gdop_hix22(f1), %o1;			\
-	xor	%o1, %gdop_lox10(f1), %o1;		\
-	ba	10f;					\
-	 nop;						\
-8:	set	m2, %o1;				\
-	andcc	%o0, %o1, %g0;				\
-	be	9f;					\
-	 nop;						\
-	sethi	%gdop_hix22(f2), %o1;			\
-	xor	%o1, %gdop_lox10(f2), %o1;		\
-	ba	10f;					\
-	 nop;						\
-9:	sethi	%gdop_hix22(dflt), %o1;			\
-	xor	%o1, %gdop_lox10(dflt), %o1;		\
-10:	add	%o3, %o1, %o1;				\
-	retl;						\
-	 mov	%o1, %o0;				\
-END (__##name)
-
-# else /* SHARED */
-
-# ifdef __arch64__
-#  define SET(SYM, TMP, REG)	setx SYM, TMP, REG
-# else
-#  define SET(SYM, TMP, REG)	set SYM, REG
-# endif
-
-#  define SPARC_ASM_IFUNC_DFLT(name, dflt)		\
-ENTRY (__##name)					\
-	.type	__##name, @gnu_indirect_function;	\
-	SET(dflt, %g1, %o1);				\
-	retl;						\
-	 mov	%o1, %o0;				\
-END (__##name)
-
-#  define SPARC_ASM_IFUNC1(name, m1, f1, dflt)		\
-ENTRY (__##name)					\
-	.type	__##name, @gnu_indirect_function;	\
-	set	m1, %o1;				\
-	andcc	%o0, %o1, %g0;				\
-	be	9f;					\
-	 nop;						\
-	SET(f1, %g1, %o1);				\
-	ba	10f;					\
-	 nop;						\
-9:	SET(dflt, %g1, %o1);				\
-10:	retl;						\
-	 mov	%o1, %o0;				\
-END (__##name)
-
-#  define SPARC_ASM_IFUNC2(name, m1, f1, m2, f2, dflt)	\
-ENTRY (__##name)					\
-	.type	__##name, @gnu_indirect_function;	\
-	set	m1, %o1;				\
-	andcc	%o0, %o1, %g0;				\
-	be	8f;					\
-	 nop;						\
-	SET(f1, %g1, %o1);				\
-	ba	10f;					\
-	 nop;						\
-8:	set	m2, %o1;				\
-	andcc	%o0, %o1, %g0;				\
-	be	9f;					\
-	 nop;						\
-	SET(f2, %g1, %o1);				\
-	ba	10f;					\
-	 nop;						\
-9:	SET(dflt, %g1, %o1);				\
-10:	retl;						\
-	 mov	%o1, %o0;				\
-END (__##name)
-
-# endif /* SHARED */
-
-#define SPARC_ASM_VIS2_IFUNC(name)			\
-	SPARC_ASM_IFUNC1(name, HWCAP_SPARC_VIS2,	\
-			 __##name##_vis2, __##name##_generic)
-
-#define SPARC_ASM_VIS3_IFUNC(name)			\
-	SPARC_ASM_IFUNC1(name, HWCAP_SPARC_VIS3,	\
-			 __##name##_vis3, __##name##_generic)
-
-#define SPARC_ASM_VIS3_VIS2_IFUNC(name)			\
-	SPARC_ASM_IFUNC2(name, HWCAP_SPARC_VIS3,	\
-			 __##name##_vis3,		\
-			 HWCAP_SPARC_VIS2,		\
-			 __##name##_vis2, __##name##_generic)
-
-#else	/* __ASSEMBLER__ */
-# define INIT_ARCH()
-
-# define sparc_libc_ifunc_redirected(redirected_name, name, expr)	\
+#define sparc_libc_ifunc_redirected(redirected_name, name, expr)	\
   __ifunc (redirected_name, name, expr(hwcap), int hwcap, INIT_ARCH)
 
-# define sparc_libm_ifunc(name, expr)				\
-  __ifunc (name, name, expr, int hwcap, libm_ifunc_init)
+#define sparc_libc_ifunc(name, expr) sparc_libm_ifunc (name, expr)
 
-# define sparc_libc_ifunc(name, expr) sparc_libm_ifunc (name, expr)
+#define sparc_libm_ifunc(name, expr)				\
+  __ifunc (name, name, expr, int hwcap, libm_ifunc_init)
 
-# define sparc_libm_ifunc_redirected(redirected_name, name, expr)	\
+#define sparc_libm_ifunc_redirected(redirected_name, name, expr)	\
   __ifunc (redirected_name, name, expr, int hwcap, libm_ifunc_init)
 
 /* It essentially does libc_hidden_builtin_def (name) and redirect
    the internal redirected symbol to ifunc implementation.  */
-# if defined SHARED
-#  define sparc_ifunc_redirected_hidden_def(redirect_name, name) \
+#if defined SHARED
+# define sparc_ifunc_redirected_hidden_def(redirect_name, name) \
   __hidden_ver1 (name, __GI_##name, redirect_name) \
     __attribute__ ((visibility ("hidden")));
-# else
-#  define sparc_ifunc_redirected_hidden_def(redirect_name, name)
-# endif
-#endif	/* __ASSEMBLER__ */
+#else
+# define sparc_ifunc_redirected_hidden_def(redirect_name, name)
+#endif