This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 2/6] combine: If recog fails, try again with zero_ext{ract,end} simplified
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Jeff Law <law at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org, dje dot gcc at gmail dot com
- Date: Mon, 11 May 2015 01:18:08 -0500
- Subject: Re: [PATCH 2/6] combine: If recog fails, try again with zero_ext{ract,end} simplified
- Authentication-results: sourceware.org; auth=none
- References: <cover dot 1431268134 dot git dot segher at kernel dot crashing dot org> <00854266aef1cbae6d3620f78122e6131c37b73c dot 1431268135 dot git dot segher at kernel dot crashing dot org> <55502CE6 dot 5010602 at redhat dot com>
On Sun, May 10, 2015 at 10:15:34PM -0600, Jeff Law wrote:
> > (recog_for_combine): If recog fails, try again with the pattern
> > modified by change_zero_ext; if that still fails, restore the
> > pattern.
> I like it. Attacking the extensions are the most obvious candidates,
> but I wonder if there's others (like the whole "ASHIFT vs MULT" stuff
> that we were recently looking at for ARM).
Yeah, I thought about that as well. But that case, MULT instead of shift,
outside of MEM, is simply non-canonical RTL; and combine created it on
purpose. It just shouldn't.
There certainly will be other cases though; hopefully not overlapping,
I don't want to recog an exponentially expanding number of times ;-)
Segher