[PATCH] D31373: [X86][SSE]] Lower BUILD_VECTOR with repeated ops as BUILD_VECTOR + VECTOR_SHUFFLE

Simon Pilgrim via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 3 11:55:47 PDT 2017


RKSimon marked 3 inline comments as done.
RKSimon added inline comments.


================
Comment at: lib/Target/X86/X86ISelLowering.cpp:6112-6113
 
+// Attempt to lower a build vector of repeated ops as a build vector of unique
+// ops followed by a shuffle.
+static SDValue
----------------
spatel wrote:
> "build vector of repeated ops" translated to "splat" in my mind when I read this. I think we guarantee that case won't make it this far, so assert that condition?
> How about "build vector with repeated ops (but not a full splat)"?
Splats can occur here as buildvector broadcast lowering only handles a few cases for where we have a legal BROADCAST instruction (AVX1 onwards - it doesn't even deal with MOVDDUP AFAICT.


Repository:
  rL LLVM

https://reviews.llvm.org/D31373





More information about the llvm-commits mailing list