[llvm] [AArch64][SDAG] Generate TBL for shuffles in single block loops. (PR #227593)
Eli Friedman via llvm-commits
llvm-commits at lists.llvm.org
Sun Oct 4 13:47:47 PDT 2026
================
@@ -16063,6 +16063,14 @@ SDValue AArch64TargetLowering::LowerVECTOR_SHUFFLE(SDValue Op,
DAG.getNode(AArch64ISD::NVCAST, DL, BSVT, V1)));
}
+ auto preferTBLToMultiInstrShuffle = [&]() {
+ if (DAG.shouldOptForSize())
+ return false;
+ // Look for a simple single block loop.
+ const BasicBlock *Block = DAG.getBasicBlock();
----------------
efriedma-quic wrote:
It's probably fine, but worth adding an assertion somewhere so we don't get a null pointer dereference in a weird place.
https://github.com/llvm/llvm-project/pull/227593
More information about the llvm-commits
mailing list