1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 19:42:54 +02:00

[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.

llvm-svn: 218583
This commit is contained in:
Chandler Carruth 2014-09-28 23:53:10 +00:00
parent b85e2503e5
commit f27811132f
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