Lower BUILD_VECTOR to SHUFFLE + INSERT_VECTOR_ELT for X86
authorMichael Liao <michael.liao@intel.com>
Fri, 19 Oct 2012 17:15:18 +0000 (17:15 +0000)
committerMichael Liao <michael.liao@intel.com>
Fri, 19 Oct 2012 17:15:18 +0000 (17:15 +0000)
commitfacace808cc5f83067a05c4c319f98fd75336f47
tree5a93a1a3afb28ec1bb2ac672b867740c96509abb
parent239fd44f7a68aae4b2e8b6f1738ef9e8fd4ddc01
Lower BUILD_VECTOR to SHUFFLE + INSERT_VECTOR_ELT for X86

- If INSERT_VECTOR_ELT is supported (above SSE2, either by custom
  sequence of legal insn), transform BUILD_VECTOR into SHUFFLE +
  INSERT_VECTOR_ELT if most of elements could be built from SHUFFLE with few
  (so far 1) elements being inserted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166288 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
test/CodeGen/X86/buildvec-insertvec.ll [new file with mode: 0644]