[PATCH] D132634: [AArch64] Add index check before lowerInterleavedStore() uses ShuffleVectorInst's mask

Peter Rong via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 29 15:06:12 PDT 2022


Peter added a comment.

I spent another morning trying to figure out how to fix this and failed.
I am confused why index is calculated as `IdxJ * Factor + IdxI`, isn't `IdxJ = StoreCount * LaneLen * Factor + j;` already multiplied by `Factor`? Why do it twice?
It seems to me there is no better way than inserting an

  if (IdxJ * Factor + IdxI > Mask.size()) { 
    return true;
  }

before every access.

If you agree with me I'll upload it.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D132634



More information about the llvm-commits mailing list