[x86] Teach the new vector shuffle lowering to fall back on AVX-512

vectors.

Someone will need to build the AVX512 lowering, which should follow
AVX1 and AVX2 *very* closely for AVX512F and AVX512BW resp. I've added
a dummy test which is a port of the v8f32 and v8i32 tests from AVX and
AVX2 to v8f64 and v8i64 tests for AVX512F and AVX512BW. Hopefully this
is enough information for someone to implement proper lowering here. If
not, I'll be happy to help, but right now the AVX-512 support isn't
a priority for me.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218583 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chandler Carruth 2014-09-28 23:53:10 +00:00
parent 4f4280469c
commit b61dfec824
2 changed files with 2222 additions and 0 deletions

View File

@ -10036,6 +10036,11 @@ static SDValue lowerVectorShuffle(SDValue Op, const X86Subtarget *Subtarget,
if (VT.getSizeInBits() == 256)
return lower256BitVectorShuffle(Op, V1, V2, VT, Subtarget, DAG);
// Force AVX-512 vectors to be scalarized for now.
// FIXME: Implement AVX-512 support!
if (VT.getSizeInBits() == 512)
return SDValue();
llvm_unreachable("Unimplemented!");
}

File diff suppressed because it is too large Load Diff