[PATCH] D116812: [AArch64][SVE][VLS] Move extends into arguments of comparisons

Peter Waller via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 18 05:26:22 PST 2022


peterwaller-arm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:15319
+  return OC == ISD::LOAD || OC == ISD::MLOAD ||
+         ISD::isConstantSplatVectorAllZeros(N.getNode());
+}
----------------
peterwaller-arm wrote:
> I see tests hitting the `MLOAD` case, but not the `LOAD` nor `isConstantSplatVectorAllZeros` cases. Any thoughts on that?
> 
> Another idea that pops into mind: I might expect that all constants could be cheap to extend, as logically they can be rewritten as another constant. I see that `FoldConstantArithmetic` might achieve this in `getNode` for the `SIGN_EXTEND`. Not necessarily for this patch unless you agree and think it's easy to do.
> I see tests hitting the `MLOAD` case, but not the `LOAD` nor `isConstantSplatVectorAllZeros` cases. Any thoughts on that?

Thanks for pointing out to me offline that the test cases do hit these (of course!).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D116812



More information about the llvm-commits mailing list