[PATCH] Improve DAG combine pass on certain IR vector patterns
mehdi.amini at apple.com
Fri Jan 16 15:44:32 PST 2015
> On Jan 16, 2015, at 3:04 PM, Chandler Carruth <chandlerc at google.com> wrote:
> On Fri, Jan 16, 2015 at 2:40 PM, Quentin Colombet <qcolombet at apple.com <mailto:qcolombet at apple.com>> wrote:
> Well, that may be the conclusion: The performance impact may be within the noise.
> Since this kind of patterns are very specific, this is not surprising.
> For the record, I tend to ignore the tests that run for less than 1 second (too noisy). Then, the noise level is usually around 1% on a quiet computer with fixed frequency, which is not too bad.
> Numbers would mostly be nice because I don't know if other targets have the thing that makes this such a huge win on x86 -- implicit concat with undef to form 2x-wide vectors.
> This may be an x86-specific win, in which case it should just be added as a target-specific combine.
We are filling half of a vector (v8), and we have to choose between concat two v4 to v8 and then shuffle, or shuffle in v4 and then concat with undef to have a v8.
I’m not sure I necessarily see the “target specific part” here, isn’t it a sort of canonicalization in the DAG?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-commits