[PATCH] D138883: [SelectionDAG][PowerPC] Memset reuse vector element for tail store

Kai Luo via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 30 18:18:19 PST 2022


lkail added a comment.

I would expect not only `memset`, some consecutive stores could also reuse the result of vector split, see https://godbolt.org/z/77aMvncb4.
For

  void foo(long a[3]) {
      a[0] = 12;
      a[1] = 12;
      a[2] = 12;
  }
  
  foo(long*):                               # @foo(long*)
          .quad   .Lfunc_begin0
          .quad   .TOC. at tocbase
          .quad   0
  .Lfunc_begin0:
          xxlxor 0, 0, 0
          li 4, 12
          xxsplti32dx 0, 1, 12
          std 4, 16(3)
          stxv 0, 0(3)
          blr
          .long   0
          .quad   0

We don't reuse the result of `xxsplti32dx`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D138883/new/

https://reviews.llvm.org/D138883



More information about the llvm-commits mailing list