[llvm] [LV] Add initial support for vectorizing literal struct return values (PR #109833)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 4 08:42:31 PST 2024
================
@@ -9607,7 +9624,7 @@ void VPReplicateRecipe::execute(VPTransformState &State) {
VectorType::get(UI->getType(), State.VF));
State.set(this, Poison);
}
- State.packScalarIntoVectorValue(this, *State.Lane);
+ State.packScalarIntoWideValue(this, *State.Lane);
----------------
MacDue wrote:
I can't comment much on struct-of-vectors vs vector-of-structs, other than that this patch is very much focused on struct-of-vectors. The reason is this aligns with LLVM intrinsics that return multiple results and support vector types.
e.g. https://llvm.org/docs/LangRef.html#llvm-sincos-intrinsic, https://llvm.org/docs/LangRef.html#llvm-sadd-with-overflow-intrinsics, or https://llvm.org/docs/LangRef.html#llvm-frexp-intrinsic
https://github.com/llvm/llvm-project/pull/109833
More information about the llvm-commits
mailing list