[llvm] [AArch64][SVE] Add dot product lowering for PARTIAL_REDUCE_MLA node (PR #130933)

Nicholas Guy via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 3 06:19:44 PDT 2025


================
@@ -3658,6 +3697,13 @@ class TargetLoweringBase {
   /// up the MVT::VALUETYPE_SIZE value to the next multiple of 8.
   uint32_t CondCodeActions[ISD::SETCC_INVALID][(MVT::VALUETYPE_SIZE + 7) / 8];
 
+  using PartialReduceActionTypes =
+      std::pair<MVT::SimpleValueType, MVT::SimpleValueType>;
+  /// For each result type and input type for the ISD::PARTIAL_REDUCE_U/SMLA
+  /// nodes, keep a LegalizeAction which indicates how instruction selection
+  /// should deal with this operation.
+  DenseMap<PartialReduceActionTypes, LegalizeAction> PartialReduceMLAActions;
----------------
NickGuy-Arm wrote:

Using a regular array, as pointed out by @MacDue, results in 56k entries of mostly Expand. Using a map reduces that memory footprint significantly and allows us to specify a default value other than Legal.

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


More information about the llvm-commits mailing list