[llvm] [VPlan] Add VPInstruction to unpack vector values to scalars. (PR #155670)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 8 14:00:52 PDT 2025
================
@@ -1064,6 +1064,11 @@ class LLVM_ABI_FOR_TEST VPInstruction : public VPRecipeWithIRFlags,
ResumeForEpilogue,
/// Returns the value for vscale.
VScale,
+ /// Extracts all lanes from its (non-scalable) vector operand. This is an
+ /// abstract VPInstruction whose single defined VPValue represents VF
+ /// scalars extracted from a vector, to be replaced by VF ExtractElement
+ /// VPInstructions.
+ Unpack,
----------------
ayalz wrote:
Good to place next to BuildStructVector and BuildVector "Pack" cases - which btw are concrete rather than abstract. (An analogous concrete Unpack which defines VF distinct VPValues could be introduced only after replicating by VF.)
https://github.com/llvm/llvm-project/pull/155670
More information about the llvm-commits
mailing list