[LLVMdev] Please benchmark new x86 vector shuffle lowering, planning to make it the default very soon!
Quentin Colombet
qcolombet at apple.com
Wed Sep 17 17:18:27 PDT 2014
Hi Chandler,
Here are a few more test cases.
I’ve ordered them from the hottest to the coldest.
To reproduce:
llc <test case> -x86-experimental-vector-shuffle-lowering=<true | false> [specific feature]
1. avx2_vperm.ll avx2
We use a sequence of extract, 2 shuffle, insert instead of vperm when avx2 is set.
2. avx_blend.ll avx
Instead of using one big blend, we use 2 extracts, one small blend, and one insert.
3. avx2_extract2perm.ll avx2
We use a sequence of two instructions: extract, unpck, instead of one perm.
4. pxor.ll none
Instead of using pxor to set a register to zero, we use a sequence composed of xorpd, shuffle.
5. sse4.1_pmovzxwd.ll sse4.1
Instead of using a single pmovzxwd, we use a movq followed by an unpck.
If you prefer, I can file PRs.
Cheers,
-Quentin
On Sep 17, 2014, at 1:30 PM, Chandler Carruth <chandlerc at google.com> wrote:
>
> On Wed, Sep 17, 2014 at 12:51 PM, Quentin Colombet <qcolombet at apple.com> wrote:
> We use two shuffles instead of 1 palign.
>
> Doh! I just forgot to teach it about palign... This one should at least be easy.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140917/68a0c42e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test_cases.tgz
Type: application/octet-stream
Size: 1166 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140917/68a0c42e/attachment.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140917/68a0c42e/attachment-0001.html>
More information about the llvm-dev
mailing list