[AArch64][CodeGen] Use interleave store for streaming compatible functions
authorCaroline Concatto <caroline.concatto@arm.com>
Thu, 13 Apr 2023 08:13:10 +0000 (08:13 +0000)
committerCaroline Concatto <caroline.concatto@arm.com>
Thu, 13 Apr 2023 08:43:09 +0000 (08:43 +0000)
commitc8192670ecc776e5edc5146ab2526fd0975261b5
tree182c965eac0e6a8b896827bb28364ad53adc44a5
parent7387972352dbcbfd230b465b54aff65cdc411576
[AArch64][CodeGen] Use interleave store for streaming compatible functions

The previous patch, D135564, was too conservative to avoid store interleave
for streaming-compatible functions/mode.

In this patch, we allow using the interleave store but using scalable vector.

Reviewed By: david-arm, sdesmalen

Differential Revision: https://reviews.llvm.org/D147040
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-shuffle.ll