[patch] MIPS: add mips32r2 patterns to generate ext and ins insns.

Richard Sandiford rsandifo@redhat.com
Thu May 26 15:28:00 GMT 2005


David Ung <davidu@mips.com> writes:
> On Thu, 2005-05-26 at 16:14 +0100, Richard Sandiford wrote:
>> David Ung <davidu@mips.com> writes:
>> > + /* Return true if we can use the MIPS32/64 R2 ext/ins instructions.
>> > +    Return false if OP is not in a register.
>> > +    MIPS ins/ext insns don't support zero length bitfields or fields
>> > +    extending beyond the left or right-most bits.
>> > +    To be valid, the values of POSITION and SIZE must satisfy all of
>> > +    the following:
>> > +      0 <= POSITION < BITS_PER_WORD
>> > +      0 < SIZE <= BITS_PER_WORD
>> > +      0 < POSITION + SIZE <= BITS_PER_WORD
>> > +    Additionally, we reject lengths equal to a word as they are better
>> > +    handled by the move patterns.  */
>> 
>> This still doesn't say that SIZE and POSITION are operands to
>> a zero_extend.  I'd prefer:
>> 
>> /* Return true if (zero_extend OP SIZE POSITION) can be used as the
                      ^^^^^^^^^^^
Argh!  Sorry, I meant "zero_extract" of course.

> ok with me.  
> should I committed then?

Yes, assuming that the latest patch has survived a build and regression test.

Richard



More information about the Gcc-patches mailing list