[llvm] [LV][VPlan] Add initial support for CSA vectorization (PR #106560)

Graham Hunter via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 11 07:34:54 PDT 2024


================
@@ -1245,6 +1314,14 @@ class VPInstruction : public VPRecipeWithIRFlags,
     // operand). Only generates scalar values (either for the first lane only or
     // for all lanes, depending on its uses).
     PtrAdd,
+    CSAInitMask,
+    CSAInitData,
+    CSAMaskPhi,
----------------
huntergr-arm wrote:

This feels like a lot of new vp instructions to add for one pattern, and at least some of them can be more generic (e.g. AnyActive would be useful for more than just CSA).

Can the InitMask/Data instructions be generated where used by getVPValueOrLiveIn using a constant instead?

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


More information about the llvm-commits mailing list