[llvm] [AArch64][SVE] Use truncating stores whenever possible (PR #196029)

Paul Walker via llvm-commits llvm-commits at lists.llvm.org
Wed May 13 04:23:56 PDT 2026


================
@@ -23878,6 +23878,66 @@ static SDValue foldToMaskedStore(StoreSDNode *Store, SelectionDAG &DAG,
                             Store->getAddressingMode());
 }
 
+// store(concat_vector(truncate, truncate))
+// --> store(truncate)
+//     store(truncate)
+SDValue DAGCombiner::combineStoreConcatTruncVector(StoreSDNode *ST) {
+  if (!LegalTypes)
+    return SDValue();
+
+  if (ST->isTruncatingStore() || ST->isIndexed())
----------------
paulwalker-arm wrote:

Probably needs `!ST->isSimple()` to ignore atomic/volatile stores?

https://github.com/llvm/llvm-project/pull/196029


More information about the llvm-commits mailing list