[AArch64] Move v4i8 concat load lowering to a combine.
authorDavid Green <david.green@arm.com>
Thu, 14 Apr 2022 14:19:33 +0000 (15:19 +0100)
committerDavid Green <david.green@arm.com>
Thu, 14 Apr 2022 14:19:33 +0000 (15:19 +0100)
commit1ba8f4f67dcf52cf628caa6e84c3526e936fa6b4
tree4647795dbe9df2315c59f5e4abdb52d1acd3c44b
parentb6183a57a10b03bdad83e4bef02990673c155011
[AArch64] Move v4i8 concat load lowering to a combine.

The existing code was not updating the uses of loads that it recreated,
leading to incorrect chains which could break the ordering between
nodes. This moves the code to a combine instead, and makes sure we
update the chain references. This does mean it happens earlier -
potentially before the concats are simplified. This can lead to
inefficiencies in the codegen, which will be fixed in followups.
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/insert-extend.ll
llvm/test/CodeGen/AArch64/insert-subvector.ll