[PATCH] D80824: [CodeGen][SVE] Avoid scalarizing zero splat stores on scalable vectors.

Henry Kao via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 4 08:12:11 PDT 2020


hkao13 updated this revision to Diff 268472.

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

https://reviews.llvm.org/D80824

Files:
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp


Index: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
===================================================================
--- llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+++ llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
@@ -11969,6 +11969,10 @@
   SDValue StVal = St.getValue();
   EVT VT = StVal.getValueType();
 
+  // Avoid scalarizing zero splat stores for scalable vectors.
+  if (VT.isScalableVector() || !VT.isFixedLengthVector())
+    return SDValue();
+
   // It is beneficial to scalarize a zero splat store for 2 or 3 i64 elements or
   // 2, 3 or 4 i32 elements.
   int NumVecElts = VT.getVectorNumElements();


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80824.268472.patch
Type: text/x-patch
Size: 629 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200604/73990c55/attachment-0001.bin>


More information about the llvm-commits mailing list