diff options
| author | Chandler Carruth <chandlerc@gmail.com> | 2014-09-28 23:53:10 +0000 |
|---|---|---|
| committer | Chandler Carruth <chandlerc@gmail.com> | 2014-09-28 23:53:10 +0000 |
| commit | 24e3b69cbd8ccbf33f1ea608d908da2d8f6d65d2 (patch) | |
| tree | a250617172286410a5cdd3d29ba93ed513bb3f81 /llvm/lib | |
| parent | abe742e8fb7238b902aa8a97f382f5d601c5064d (diff) | |
| download | bcm5719-llvm-24e3b69cbd8ccbf33f1ea608d908da2d8f6d65d2.tar.gz bcm5719-llvm-24e3b69cbd8ccbf33f1ea608d908da2d8f6d65d2.zip | |
[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
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86ISelLowering.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 0cda9103337..b21f39cbe21 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -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!"); } |

