summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2014-09-28 23:53:10 +0000
committerChandler Carruth <chandlerc@gmail.com>2014-09-28 23:53:10 +0000
commit24e3b69cbd8ccbf33f1ea608d908da2d8f6d65d2 (patch)
treea250617172286410a5cdd3d29ba93ed513bb3f81 /llvm/lib
parentabe742e8fb7238b902aa8a97f382f5d601c5064d (diff)
downloadbcm5719-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.cpp5
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!");
}
OpenPOWER on IntegriCloud