X86: Don't over-align combined loads.
authorJim Grosbach <grosbach@apple.com>
Tue, 23 Dec 2014 00:35:23 +0000 (00:35 +0000)
committerJim Grosbach <grosbach@apple.com>
Tue, 23 Dec 2014 00:35:23 +0000 (00:35 +0000)
commit860122b3b79800d3460f7f2b9edb6477f9993de6
tree933002ac1876f4389a25aaa4ccb4f2a50dae8017
parent34b7fde802ac1fcacc41bf3687cfc37e5ccea3f3
X86: Don't over-align combined loads.

When combining consecutive loads+inserts into a single vector load,
we should keep the alignment of the base load. Doing otherwise can, and does,
lead to using overly aligned instructions. In the included test case, for
example, using a 32-byte vmovaps on a 16-byte aligned value. Oops.

rdar://19190968

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