OSDN Git Service

[x86] Teach the new vector shuffle lowering how to lower to UNPCKLPS and
authorChandler Carruth <chandlerc@gmail.com>
Sun, 21 Sep 2014 12:20:44 +0000 (12:20 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sun, 21 Sep 2014 12:20:44 +0000 (12:20 +0000)
commit6ef31b0079b9208656e76c9b35776b4ad65bc24a
treecf699ff8deee011ecd03bc26e32fcd48e1ea7170
parent7a94357b046917c763a86f28bf7cb195c28d9f96
[x86] Teach the new vector shuffle lowering how to lower to UNPCKLPS and
UNPCKHPS with AVX vectors by recognizing those patterns when they are
repeated for both 128-bit lanes.

With this, we now generate the exact same (really nice) code for
Quentin's avx_test_case.ll which was the most significant regression
reported for the new shuffle lowering. In fact, I'm out of specific test
cases for AVX lowering, the rest were AVX2 I think. However, there are
a bunch of pretty obvious remaining things to improve with AVX...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218213 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/vector-shuffle-256-v8.ll