[PATCH] D100527: [AArch64][SVE] More unpredicated ld1/st1 patterns for reg+reg addressing modes
Paul Walker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 30 03:12:22 PDT 2021
paulwalker-arm added a comment.
Are we concerned about the reduced code quality shown by the splice tests? Is there a way to know if the basic block is, or within, a loop body? so that we can restrict the patterns to instances where we're confident the extra instructions are likely to be hoisted. I guess for the `PTRUE` case we already know there is a need for some kind of machine pass to remove larger element `PTRUE`s when a smaller element one is safe to use.
================
Comment at: llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll:1166-1168
; CHECK-NEXT: addvl x8, x8, #2
+; CHECK-NEXT: ld1b { z0.b }, p1/z, [x8, x9]
; CHECK-NEXT: sub x8, x8, #32 // =32
----------------
This suggest we should limit the usage to only when there's a single use of the address? or more precisely not kick in unless we can guarantee the add/sub will be omitted.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D100527/new/
https://reviews.llvm.org/D100527
More information about the llvm-commits
mailing list