On 12/05/14 17:58, Segher Boessenkool wrote:
On Fri, Dec 05, 2014 at 01:40:56PM -0700, Jeff Law wrote:
My first thought would be to allow both and have combine swap the order
in the vector if recog doesn't recognize the pattern. One could argue
we could go through a full permutation of ordering in the vector, but
that's probably above and beyond the call of duty.
Combine also expects a certain ordering for its *inputs*. It might not
be the only pass that does this either. All targets (where this works)
have the compare first in all their patterns. This goes back, what,
20+ years? It might not be "officially" canonical, but it's the only
ordering that works everywhere.
Yup, aware that inputs can be an issue as well. But again, there's no
reason we can't handle those too.
I guess in the end the first question is whether or not we want a
canonical form. I can see arguments either way. That answer drives the
next set of questions/issues to work through.