]> granicus.if.org Git - llvm/commit
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)
commitefbf288c6f8aedcc42abd6b93ee837de4cdf690b
treed5aa04c37337a847d6138ff5d1f74acff4e481f5
parent1e15b24cc4f3b3b3fba54879cf3625bdec4eae09
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355326 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64InstructionSelector.cpp
test/CodeGen/AArch64/GlobalISel/select-shuffle-vector.mir