aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
diff options
context:
space:
mode:
authorBenjamin Maxwell <benjamin.maxwell@arm.com>2024-12-16 10:23:40 +0000
committerGitHub <noreply@github.com>2024-12-16 10:23:40 +0000
commit3b17d041dd775e033cca499f2a25548c8c22bb86 (patch)
tree85c50e2e0630146abfbb3862db7dcf548a2b03c3 /clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
parentaff3e68d6f10dd3087c29a09865683b9d35a362e (diff)
downloadllvm-3b17d041dd775e033cca499f2a25548c8c22bb86.zip
llvm-3b17d041dd775e033cca499f2a25548c8c22bb86.tar.gz
llvm-3b17d041dd775e033cca499f2a25548c8c22bb86.tar.bz2
[AArch64][SVE] Don't require 16-byte aligned SVE loads/stores with +strict-align (#119732)
Instead, allow any alignment >= the element size (in bytes). This is all that is needed for (predicated) vector loads even if unaligned accesses are disabled. See: https://developer.arm.com/documentation/ddi0602/2024-09/Shared-Pseudocode/aarch64-functions-memory?lang=en#impl-aarch64.Mem.read.3 Specifically: ``` // Check alignment on size of element accessed, not overall access size. constant integer alignment = if accdesc.ispair then size DIV 2 else size; ``` The `size` passed to `Mem` by SVE load/store instructions is the element size.
Diffstat (limited to 'clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp')
0 files changed, 0 insertions, 0 deletions