[PATCH] D150969: [AArch64] Try to convert two XTN and two SMLSL to UZP1, SMLSL and SMLSL2
JinGu Kang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 13 02:31:47 PDT 2023
jaykang10 added inline comments.
================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:22460
+ // Check ExtractLow's user.
+ if (HasFoundMULLow && ExtractLow->hasOneUse()) {
+ SDNode *ExtractLowUser = *ExtractLow.getNode()->use_begin();
----------------
dmgreen wrote:
> jaykang10 wrote:
> > dmgreen wrote:
> > > I think this one could leave HasFoundMULLow = true but without a valid TruncLow.
> > Let me update it.
> I meant - if we get to the start of this if with HasFoundMULLow=true (so ExtractLow is valid), but it doesn't have 1 use, then we get to the code below (`SDValue TruncLowOp = HasFoundMULLow ? TruncLow.getOperand(0) : DAG.getUNDEF(UZP1VT);`) with HasFoundMULLow=true but TruncLow not being a valid node.
>
> Maybe split the one use check out:
> ```
> if (!ExtractLow->hasOneUse())
> HasFoundMULLow = false;
> // Check ExtractLow's user.
> if (HasFoundMULLow) {...
> ```
Ah, I understand what you meant now.
Let me update it.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D150969/new/
https://reviews.llvm.org/D150969
More information about the llvm-commits
mailing list