[PATCH] D149654: [SLP] Don't cost pointers that can be folded in getPointersChainCost

Luke Lau via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 16 10:02:28 PDT 2023


luke added a comment.

On sqlite3, -O2, there are 12 fewer VF=2 sequences vectorized on RISC-V:

  $ grep -E "vsetivli\s+zero, 2, e" sqlite.head.s | wc -l
  378
  $ grep -E "vsetivli\s+zero, 2, e" sqlite.patch.s | wc -l
  366

Most of them are in the form of something like:

  	sb	a0, 5(s4)
  	sb	s6, 6(s4)
  	addi	s4, s4, 1
  	vsetivli	zero, 2, e8, mf8, ta, ma
  	vmv.v.i	v8, 0
  	vse8.v	v8, (s4)

Which are now being emitted as scalar:

  	sb	a0, 5(s3)
  	sb	s6, 6(s3)
  	sb	zero, 1(s3)
  	sb	zero, 2(s3)

There are no differences in the code generated on x86. I've attached the RISC-V outputs if anyone wants to see the changes.

F27474129: sqlite.head.s <https://reviews.llvm.org/F27474129>
F27474128: sqlite.patch.s <https://reviews.llvm.org/F27474128>


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D149654



More information about the llvm-commits mailing list