[PATCH] D110624: [SVE] Fix incorrect DAG combines when extracting fixed-width from scalable vectors

Caroline via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 29 07:08:39 PDT 2021


CarolineConcatto added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:20605
     // extract_subvec (concat V1, V2, ...), i --> Vi
-    if (ConcatSrcNumElts == ExtNumElts)
+    if (NVT.isScalableVector() == ConcatSrcVT.isScalableVector() && ConcatSrcNumElts == ExtNumElts)
       return V.getOperand(ConcatOpIdx);
----------------
Can we replace :

```
if (NVT.isScalableVector() == ConcatSrcVT.isScalableVector() && ConcatSrcNumElts == ExtNumElts)
```
by:

```
if (NVT.getElementCount() == ConcatSrcVT.getElementCount() && NVT.isScalableVector())
```


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

https://reviews.llvm.org/D110624



More information about the llvm-commits mailing list