OSDN Git Service

[X86][SSE] Enable initial support for domain crossing at high shuffle combine depths.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 19 Feb 2017 17:19:38 +0000 (17:19 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 19 Feb 2017 17:19:38 +0000 (17:19 +0000)
commit0c9c0d47aa95fda0c095cb60d8a5099ed6743f41
treea5886f003127d88f6468a45d3f208fff6464ee48
parentcff0f13b4b1ced12decc6328ed7e3e13c1c2bde9
[X86][SSE] Enable initial support for domain crossing at high shuffle combine depths.

As discussed on D27692, this permits another domain to be used to combine a shuffle at high depths.

We currently set the required depth at 4 or more combined shuffles, this is probably too high for most targets but is a good starting point and already helps avoid a number of costly variable shuffles.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295608 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/shuffle-vs-trunc-512.ll