This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] MIPS/gcc: Revert removal of DImode shifts for 32-bit targets
- From: Richard Henderson <rth at redhat dot com>
- To: Richard Sandiford <rsandifo at redhat dot com>
- Cc: "Maciej W. Rozycki" <macro at linux-mips dot org>, Nigel Stephens <nigel at mips dot com>, gcc-patches at gcc dot gnu dot org, linux-mips at linux-mips dot org
- Date: Fri, 3 Sep 2004 00:08:58 -0700
- Subject: Re: [patch] MIPS/gcc: Revert removal of DImode shifts for 32-bit targets
- References: <876580bm2e.fsf@redhat.com> <410F60DF.9020400@mips.com> <Pine.LNX.4.58L.0408042123030.31930@blysk.ds.pg.gda.pl> <87r7qiwz54.fsf@redhat.com> <20040809220838.GE16493@redhat.com> <87zn5336h7.fsf@redhat.com> <20040810232020.GA21922@redhat.com> <87eklnw0g7.fsf@redhat.com> <20040903065331.GG20559@redhat.com> <87sm9zg7dg.fsf@redhat.com>
On Fri, Sep 03, 2004 at 08:05:15AM +0100, Richard Sandiford wrote:
> However, on some machines, such as the 80386 and the 680x0, truncation
> only applies to shift operations and not the (real or pretended)
> bit-field operations. Define @code{SHIFT_COUNT_TRUNCATED} to be zero on
> such machines. Instead, add patterns to the @file{md} file that include
> the implied truncation of the shift instructions.
>
> I was deliberately trying to avoid this fuzziness with the new target hook.
Hmm. I suppose we could pass the shift operation in there;
ASHIFT, LSHIFT, ZERO_EXTRACT, SIGN_EXTRACT.
r~