Enhance folding of (extract_subvec (insert_subvec V1, V2, IIdx), EIdx)
authorMichael Liao <michael.liao@intel.com>
Mon, 25 Mar 2013 23:47:35 +0000 (23:47 +0000)
committerMichael Liao <michael.liao@intel.com>
Mon, 25 Mar 2013 23:47:35 +0000 (23:47 +0000)
commitb4f98ea1213c866f39aa5b341ec0116f9c2335d7
tree4e3fb2770e9b199990b04c41a72b14b19a02356e
parentec43aaa3918877960722e93ad86c3bcabf908fe7
Enhance folding of (extract_subvec (insert_subvec V1, V2, IIdx), EIdx)

- Handle the case where the result of 'insert_subvect' is bitcasted
  before 'extract_subvec'. This removes the redundant insertf128/extractf128
  pair on unaligned 256-bit vector load/store on vectors of non 64-bit integer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177945 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/X86/avx-load-store.ll