[PATCH] D148705: [AArch64] Fix crash caused by performExtractVectorEltCombine on DUP nodes with float operands.

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 19 04:51:20 PDT 2023


dmgreen added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:16735
+      N0->getOperand(0)->getValueType(0).isInteger())
     return DAG.getZExtOrTrunc(N0.getOperand(0), SDLoc(N), VT);
 
----------------
It might be better to use allow the floating point value to fold too:
```
  if (N0.getOpcode() == AArch64ISD::DUP)
    return VT.isInteger() ? DAG.getZExtOrTrunc(N0.getOperand(0), SDLoc(N), VT)
                          : N0.getOperand(0);
```


================
Comment at: llvm/test/CodeGen/AArch64/aarch64-dup-dot-crash.ll:9
+define void @dot_product(double %a) {
+; CHECK-LABEL: dot_product
+entry:
----------------
Can you add update_llc_test_checks output too.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D148705



More information about the llvm-commits mailing list