[PATCH] D152679: [RISCV] Eliminate the extension of index for vector indexed load/store.

Stefan O'Rear via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 12 21:26:46 PDT 2023


sorear added a comment.

Is the SIGN_EXTEND case actually correct?  Vector indexed memory operations always zero-extend the index, and the getelementptr doesn't provide enough information to prove the indices are nonnegative.

I think the best we can do without new metadata is

  vsetvli zero, a1, e8, m1, ta, ma
  addi a0, a0, -128
  li a1, -128
  vxor.vs v9, v9, a1  # vfneg.v can be used for some SEW
  vsoxei8.v v8, (a0), v9, v0.t


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D152679



More information about the llvm-commits mailing list