[SVE] Lower fixed-length floating point loads and stores to integer variants.
authorPaul Walker <paul.walker@arm.com>
Fri, 19 Aug 2022 17:51:02 +0000 (18:51 +0100)
committerPaul Walker <paul.walker@arm.com>
Fri, 26 Aug 2022 10:10:23 +0000 (11:10 +0100)
commit11b4dce7d37f9b88d4b060c52dfd0a1f15493aa9
treeb3ecc980fd2eedf303657a269b3094f3d7bf4bae
parentdc477a8161984dc5b8e245800e1166eb81394df6
[SVE] Lower fixed-length floating point loads and stores to integer variants.

There's no advatange to emitting floating point scalable accesses,
whereas by lowering them to integer variants we can benefit from
several combines that seek to replace explicit extends/truncates
with extending/truncating accesses.

Differential Revision: https://reviews.llvm.org/D132393
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/sve-fixed-length-fp-to-int.ll
llvm/test/CodeGen/AArch64/sve-fixed-length-int-to-fp.ll
llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll