From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 101289 invoked by alias); 26 Oct 2017 19:07:43 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 100666 invoked by uid 89); 26 Oct 2017 19:07:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.4 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mail-qk0-f196.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=/hZ198m2NtPtuDi5Ms02zKkCn9JMV/C/3OsMpW2PV9w=; b=hK4ctKlOh1WLruUdCX3kt7r1g3MMS9GcrFo3nEqC5xLr8YiGzVLw0VDWSrjw8jqSej mW04LvP8L7PWFI1kNl9lO2W69Zk8mIIT4E+e7Hz4bFjIR0dWf1IhoslzX5vIh/R/tMXS mSCZcoAjzg/W03xDg0XvaV1naH2coYNiB8DBtQ4hjp83yI+tNgaLOGjQOKXOZCONRKt4 H+41paQGH4bZ31gcyE42FbHrywiw/+KA2WqgT5r9F00ZqcivuWmD1TNp0FKwt02RTjrU Q8hX0LpX1kUvVBqnsDSvSrwXuDAerAuwiFP1VLWtIoyOEVf/RQ4qcgtHybc46EpIJIXF idJA== X-Gm-Message-State: AMCzsaVZNlt4dNoXXOEphlTxHFR4ucAHOpNNqJ0qoYB3AzSR9atFjiGF v7I+/thP+pfXUWFVjhD7Ntch4i6aHFg= X-Google-Smtp-Source: ABhQp+SigDawHdrMvkc1AscTBPA5OunCzRK93Mo8bRrX8FF891RQ1MNQetdkEZshYzEo5hIndBONww== X-Received: by 10.55.174.129 with SMTP id x123mr9756994qke.61.1509044854523; Thu, 26 Oct 2017 12:07:34 -0700 (PDT) From: Adhemerval Zanella To: libc-alpha@sourceware.org Subject: [PATCH 24/25] sparc: Remove ununsed ifunc assembly macros Date: Thu, 26 Oct 2017 19:07:00 -0000 Message-Id: <1509044813-9951-25-git-send-email-adhemerval.zanella@linaro.org> In-Reply-To: <1509044813-9951-1-git-send-email-adhemerval.zanella@linaro.org> References: <1509044813-9951-1-git-send-email-adhemerval.zanella@linaro.org> X-SW-Source: 2017-10/txt/msg01230.txt.bz2 * 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 --- 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 -#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 -- 2.7.4