Use vld1 / vst2 for unaligned v2f64 load / store. e.g. Use vld1.16 for 2-byte
authorEvan Cheng <evan.cheng@apple.com>
Tue, 18 Sep 2012 01:42:45 +0000 (01:42 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Tue, 18 Sep 2012 01:42:45 +0000 (01:42 +0000)
commitd10eab0a95dcfff6390cc73b50ca07fd8b98b0bc
tree43188b1a134f52ef023e3686f292662f656fa0b7
parentb198f5c8979d46d75a08c1710a160f8e102b9ba8
Use vld1 / vst2 for unaligned v2f64 load / store. e.g. Use vld1.16 for 2-byte
aligned address. Based on patch by David Peixotto.

Also use vld1.64 / vst1.64 with 128-bit alignment to take advantage of alignment
hints. rdar://12090772, rdar://12238782

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164089 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMInstrNEON.td
test/CodeGen/ARM/2011-10-26-memset-with-neon.ll
test/CodeGen/ARM/2011-11-29-128bitArithmetics.ll
test/CodeGen/ARM/neon_ld2.ll
test/CodeGen/ARM/reg_sequence.ll
test/CodeGen/ARM/twoaddrinstr.ll
test/CodeGen/ARM/unaligned_load_store.ll
test/CodeGen/ARM/unaligned_load_store_vector.ll [new file with mode: 0644]
test/CodeGen/ARM/vbsl-constant.ll
test/CodeGen/Thumb2/buildvector-crash.ll