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