Re-commit r355104: "[AArch64][GlobalISel] Add support for 64 bit vector shuffle using...
authorAmara Emerson <aemerson@apple.com>
Mon, 4 Mar 2019 19:16:00 +0000 (19:16 +0000)
committerAmara Emerson <aemerson@apple.com>
Mon, 4 Mar 2019 19:16:00 +0000 (19:16 +0000)
commit8acb0d9c82ed49512ba2df6e4a0e3ee65a220fdf
tree282b6336419bda3f1510960aabf1d156f641f8e3
parent05e233507697ab81007a6b48728add2ee4627e5b
Re-commit r355104: "[AArch64][GlobalISel] Add support for 64 bit vector shuffle using TBL1."

The code to materialize a mask from a constant pool load tried to use a 128 bit
LDR to load a 64 bit constant pool entry, which was 8 byte aligned. This resulted
in a link failure in the NEON tests in the test suite since the LDR address was
unaligned. This change fixes that to instead emit a 64 bit LDR if the entry is
64 bit, before converting back to a 128 bit register for the TBL.

llvm-svn: 355326
llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
llvm/test/CodeGen/AArch64/GlobalISel/select-shuffle-vector.mir