This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 3/4, MIPS] Move clear_upper32* patterns to the and patterns
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: Adam Nemet <anemet at caviumnetworks dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 30 Jul 2009 21:47:33 +0100
- Subject: Re: [PATCH 3/4, MIPS] Move clear_upper32* patterns to the and patterns
- References: <19057.62127.907350.916479@ropi.home> <o7prbi9d60.fsf@ropi.home>
Adam Nemet <anemet@caviumnetworks.com> writes:
> This patch moves the *clear_upper32{,_dext} patterns to the and patterns. The
> patch should have no visible effect.
>
> These patterns match different slices of the operand domain of an and
> operation and with the new and_ext which adds a new slice it's probably better
> to keep all these together.
>
> Also depending whether my proposal to let the order in mips.md decide the
> preference of "and" combiner patterns, moving these patterns up before the new
> and_ext pattern is actually required. Otherwise the patch is optional.
Sorry to be a pain, but I'd rather keep them where they are.
As the comment says, these are really zero-extend operations
in all but name; they just have an unusual pattern because of
the T_N_T thing.
I'll reconsider if we don't end up going in the direction suggested
in the other replies.
Richard