[all-commits] [llvm/llvm-project] f24398: [SandboxVec][LoadStoreVec] Support mixed type vect...
Anshil Gandhi via All-commits
all-commits at lists.llvm.org
Sun Sep 20 22:35:11 PDT 2026
Branch: refs/heads/users/gandhi56/sandbox-vectorizer/load-store-vec/mixed-type-load-vec
Home: https://github.com/llvm/llvm-project
Commit: f2439866869a21ae881175fa32e6c346d2fc95dc
https://github.com/llvm/llvm-project/commit/f2439866869a21ae881175fa32e6c346d2fc95dc
Author: Anshil Gandhi <gandhi21299 at gmail.com>
Date: 2026-09-21 (Mon, 21 Sep 2026)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/LoadStoreVec.cpp
A llvm/test/Transforms/SandboxVectorizer/Passes/LoadStoreVec/load_store_vec_mixed_type_loads.ll
Log Message:
-----------
[SandboxVec][LoadStoreVec] Support mixed type vectorization of loads
vectorizeLoads() bailed out unless every load in the chain had the same
element type. Vectorize mixed-type chains too: the chain is loaded with a
single vector load of its combined vector type, whose element type is an
integer when the types differ, and each lane is reinterpreted as the type of
the load it replaces. A load wider than one lane, e.g. a double in a
<N x i32>, spans several lanes and is unpacked with a shuffle.
Lanes are counted in bits rather than elements, since with mixed types a lane
no longer corresponds to one load. Chains whose loads do not cover a whole
number of lanes, or that involve non-integral pointers, are left alone.
Assisted by Claude Opus 5
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list