If the offset vector of vector indexed load/store is an extension, we could eliminate it and use the source operand as the index directly.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
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