[PATCH] D80709: [SelectionDAG] Update getNode asserts for EXTRACT/INSERT_SUBVECTOR.

David Sherwood via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 28 05:23:56 PDT 2020


david-arm added inline comments.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:5454
+           "Cannot extract a scalable vector from a fixed length vector!");
+    assert((VT.isScalableVector() != N1VT.isScalableVector() ||
+            VT.getVectorMinNumElements() <= N1VT.getVectorMinNumElements()) &&
----------------
This suggests we permit fixed width vectors of arbitrary length being extracted as subvectors from a scalable vector. That's ok, but presumably we'll need to support that in the backend too with appropriate undefs being used to fill in the parts that exceed the bounds of the scalable vector.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:5662
+           "Cannot insert a scalable vector into a fixed length vector!");
+    assert((VT.isScalableVector() != N2VT.isScalableVector() ||
+            VT.getVectorMinNumElements() >= N2VT.getVectorMinNumElements()) &&
----------------
Same as above, this suggets we permit arbitrarily large fixed width vectors being inserted into a scalable vector.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D80709





More information about the llvm-commits mailing list