[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!

Chandler Carruth chandlerc at gmail.com
Thu Sep 4 02:45:40 PDT 2014


Greetings all,

As you may have noticed, there is a new vector shuffle lowering path in the
X86 backend. You can try it out with the
'-x86-experimental-vector-shuffle-lowering' flag to llc, or '-mllvm
-x86-experimental-vector-shuffle-lowering' to clang. Please test it out!

There may be some correctness bugs, I'm still fuzz testing it to shake them
out. But I expect fairly few of those.

I don't have any test cases which regress in performance with the new
shuffle lowering. I have several which improve by 1-3%, and a couple which
improve by 5-10%. YMMV.

There are still some missing features: AVX2 shuffles, SSE4.1 blends,
handling all possible uses of the "mov*" style shuffles. However, as
indicated, I don't have any test cases on any micro architectures that are
really showing regressions here. It's entirely possible I just don't have
access to them, so please help me benchmark!

Provided there aren't really terrible regressions in performance, I'd like
to switch the default in a couple of days and start getting bug reports
about what doesn't work yet. I've already talked to a couple of the regular
contributors to the x86 backend and they seem pretty happy, so I just
wanted to send a wider reaching email in case some folks had a chance to
benchmark more.

Inevitably, there will be some regressions, but they can be handled and
fixed like anything else provided they don't cause lots of trouble for
folks.

Thanks,
-Chandler
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140904/447e6a6e/attachment.html>


More information about the llvm-dev mailing list