[SelectionDAG] Fix incorrect offset when expanding CONCAT_VECTORS.
authorPaul Walker <paul.walker@arm.com>
Wed, 8 Jul 2020 15:12:22 +0000 (15:12 +0000)
committerPaul Walker <paul.walker@arm.com>
Wed, 8 Jul 2020 15:39:25 +0000 (15:39 +0000)
commitbb35f0fd89ff4904cc954f1578b6bbe28a6795f1
tree7e122440bb3a3420e6ac94ec0d905500cc52e567
parent7a7d50e1f0d84c701fd2aa1b84a73a3e194fb91a
[SelectionDAG] Fix incorrect offset when expanding CONCAT_VECTORS.

ExpandVectorBuildThroughStack is also used for CONCAT_VECTORS.
However, when calculating the offsets for each of the operands we
incorrectly use the element size rather than actual size and thus
the stores overlap.

Differential Revision: https://reviews.llvm.org/D83303
llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll [new file with mode: 0644]