[llvm] [LLVM][AArch64]Use load/store with consecutive registers in SME2 or S… (PR #77665)
Momchil Velikov via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 25 02:11:39 PDT 2024
momchil-velikov wrote:
> I'd also suggest wrapping the `AFI->getPredicateRegForFillSpill() != 0` in a function like `canUseMultiVectorLoadStore` (feel free to pick a different name) that combines it with `&& (Subtarget.hasSVE2p1() || Subtarget.hasSME2())`, to keep the logic in other places a bit simpler.
It should not need to combine it, since `!(Subtarget.hasSVE2p1() || Subtarget.hasSME2())` must imply `AFI->getPredicateRegForFillSpill() == 0`, i.e. we don't go through the trouble of choosing a register if there's no chance for using it.
Otherwise, yes
> * everywhere else we use only `AFI->getPredicateRegForFillSpill() != 0` as the condition determining we can and should load/store in pairs
https://github.com/llvm/llvm-project/pull/77665
More information about the llvm-commits
mailing list