DAG combine incorrectly optimize (i32 vextract (v4i16 load $addr), c) to
authorEvan Cheng <evan.cheng@apple.com>
Tue, 13 Mar 2012 22:00:52 +0000 (22:00 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 13 Mar 2012 22:00:52 +0000 (22:00 +0000)
commit84387ea5f547f3b63dc701fdcac163b8dc797e5d
tree7fc52ddec9ad9ce460ffd89810267a170527c274
parentf210b68b41704cb602feffa4ebb334220abda407
DAG combine incorrectly optimize (i32 vextract (v4i16 load $addr), c) to
(i16 load $addr+c*sizeof(i16)) and replace uses of (i32 vextract) with the
i16 load. It should issue an extload instead: (i32 extload $addr+c*sizeof(i16)).

rdar://11035895

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152675 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/ARM/2012-03-13-DAGCombineBug.ll [new file with mode: 0644]