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)
commit90ae8f84421e24be66a1dd90a79ccdf54ee44d1d
tree91bba67310d2791a9675467bec44e7876507a9d9
parent9150610db7928b4dfe22a8f3e83cef15a6cf6986
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

llvm-svn: 164089
llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/lib/Target/ARM/ARMInstrNEON.td
llvm/test/CodeGen/ARM/2011-10-26-memset-with-neon.ll
llvm/test/CodeGen/ARM/2011-11-29-128bitArithmetics.ll
llvm/test/CodeGen/ARM/neon_ld2.ll
llvm/test/CodeGen/ARM/reg_sequence.ll
llvm/test/CodeGen/ARM/twoaddrinstr.ll
llvm/test/CodeGen/ARM/unaligned_load_store.ll
llvm/test/CodeGen/ARM/unaligned_load_store_vector.ll [new file with mode: 0644]
llvm/test/CodeGen/ARM/vbsl-constant.ll
llvm/test/CodeGen/Thumb2/buildvector-crash.ll