[patch] MIPS/gcc: Revert removal of DImode shifts for 32-bit targets
Richard Sandiford
rsandifo@redhat.com
Fri Sep 3 07:20:00 GMT 2004
Richard Henderson <rth@redhat.com> writes:
> 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.
But the point as I understand it is that the generic optimisers
(e.g. simplify-rtx.c) can't tell the difference between an ASHIFT
that came from an (ashift ...) in the instruction stream or from
something that was generated artificially by expand_compound_operation.
Richard
More information about the Gcc-patches
mailing list