This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Sparc .md optimizations (mul/div/shifts)
- To: Jakub Jelinek <jj at sunsite dot ms dot mff dot cuni dot cz>
- Subject: Re: [PATCH] Sparc .md optimizations (mul/div/shifts)
- From: Richard Henderson <rth at cygnus dot com>
- Date: Fri, 30 Jul 1999 14:55:32 -0700
- Cc: egcs-patches at egcs dot cygnus dot com, "David S. Miller" <davem at redhat dot com>
- References: <19990607133937.G949@mff.cuni.cz>
On Mon, Jun 07, 1999 at 01:39:37PM +0200, Jakub Jelinek wrote:
> Mon Jun 7 12:42:11 1999 Jakub Jelinek <jj@ultra.linux.cz>
>
> * config/sparc/linux64.h (CC1_SPEC): Preserve CPU specified by
> the user if using the non-default arch size in BI_ARCH configuration.
> * config/sparc/sol2-sld-64.h (CC1_SPEC): Ditto.
>
> * config/sparc/sparc.md (cmp_mul_set, cmp_udiv_cc_set):
> Fix patterns so that they actually match.
> (cmp_sdiv_cc_set): Ditto, also don't require g0 to be zero.
> (mulsidi3_sp64, const_mulsidi3_sp64): New patterns.
> (const_mulsidi3_sp32): Renamed from const_mulsidi3, only on
> TARGET_HARD_MUL32.
> (mulsidi3): Reflect this in the expand.
> (smulsi3_highpart): Only on TARGET_ARCH32.
> (umulsidi3_sp64, const_umulsidi3_sp64): New patterns.
> (const_umulsidi3_sp32): Renamed from const_umulsidi3.
> (umulsidi3): Reflect this in the expand.
> (umulsi3_highpart): Only on TARGET_ARCH32.
> (divsi3_sp32): Renamed from divsi3, only on TARGET_ARCH32,
> don't require g0 to be zero.
> (udivsi3_sp32): Renamed from udivsi3, only on TARGET_ARCH32.
> ({,u}divsi3): New expands.
> ({,u}divsi3_sp64): New patterns.
> (after lshrdi3_v8plus): Four new patterns to help combiner
> optimizing nested mixed mode shifts.
>
> * config/sparc/sparc.c (sparc_override_options): Use deprecated
> v8 instructions if optimizing for UltraSPARC I, II, IIi, as it
> speed things up. Don't use them by default on plain v9 in 64bit
> mode, according to what SPAMv9 sais.
>
> * config/sparc/sparc.h: Fix comments, e.g. Linux already preserves
> top 32 bits of %[og][0-7] in signal handlers.
> Also, TARGET_HARD_MUL32 now is only true for TARGET_ARCH32.
Applied, thanks.
r~